345 lines
7.7 KiB
Go
345 lines
7.7 KiB
Go
// Code generated by go-enum DO NOT EDIT.
|
|
// Version: -
|
|
// Revision: -
|
|
// Build Date: -
|
|
// Built By: -
|
|
|
|
package consts
|
|
|
|
import (
|
|
"database/sql/driver"
|
|
"errors"
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
const (
|
|
// RoleUser is a Role of type user.
|
|
RoleUser Role = "user"
|
|
// RoleTenantAdmin is a Role of type tenant_admin.
|
|
RoleTenantAdmin Role = "tenant_admin"
|
|
// RoleSuperAdmin is a Role of type super_admin.
|
|
RoleSuperAdmin Role = "super_admin"
|
|
)
|
|
|
|
var ErrInvalidRole = fmt.Errorf("not a valid Role, try [%s]", strings.Join(_RoleNames, ", "))
|
|
|
|
var _RoleNames = []string{
|
|
string(RoleUser),
|
|
string(RoleTenantAdmin),
|
|
string(RoleSuperAdmin),
|
|
}
|
|
|
|
// RoleNames returns a list of possible string values of Role.
|
|
func RoleNames() []string {
|
|
tmp := make([]string, len(_RoleNames))
|
|
copy(tmp, _RoleNames)
|
|
return tmp
|
|
}
|
|
|
|
// RoleValues returns a list of the values for Role
|
|
func RoleValues() []Role {
|
|
return []Role{
|
|
RoleUser,
|
|
RoleTenantAdmin,
|
|
RoleSuperAdmin,
|
|
}
|
|
}
|
|
|
|
// String implements the Stringer interface.
|
|
func (x Role) String() string {
|
|
return string(x)
|
|
}
|
|
|
|
// IsValid provides a quick way to determine if the typed value is
|
|
// part of the allowed enumerated values
|
|
func (x Role) IsValid() bool {
|
|
_, err := ParseRole(string(x))
|
|
return err == nil
|
|
}
|
|
|
|
var _RoleValue = map[string]Role{
|
|
"user": RoleUser,
|
|
"tenant_admin": RoleTenantAdmin,
|
|
"super_admin": RoleSuperAdmin,
|
|
}
|
|
|
|
// ParseRole attempts to convert a string to a Role.
|
|
func ParseRole(name string) (Role, error) {
|
|
if x, ok := _RoleValue[name]; ok {
|
|
return x, nil
|
|
}
|
|
return Role(""), fmt.Errorf("%s is %w", name, ErrInvalidRole)
|
|
}
|
|
|
|
var errRoleNilPtr = errors.New("value pointer is nil") // one per type for package clashes
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (x *Role) Scan(value interface{}) (err error) {
|
|
if value == nil {
|
|
*x = Role("")
|
|
return
|
|
}
|
|
|
|
// A wider range of scannable types.
|
|
// driver.Value values at the top of the list for expediency
|
|
switch v := value.(type) {
|
|
case string:
|
|
*x, err = ParseRole(v)
|
|
case []byte:
|
|
*x, err = ParseRole(string(v))
|
|
case Role:
|
|
*x = v
|
|
case *Role:
|
|
if v == nil {
|
|
return errRoleNilPtr
|
|
}
|
|
*x = *v
|
|
case *string:
|
|
if v == nil {
|
|
return errRoleNilPtr
|
|
}
|
|
*x, err = ParseRole(*v)
|
|
default:
|
|
return errors.New("invalid type for Role")
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (x Role) Value() (driver.Value, error) {
|
|
return x.String(), nil
|
|
}
|
|
|
|
// Set implements the Golang flag.Value interface func.
|
|
func (x *Role) Set(val string) error {
|
|
v, err := ParseRole(val)
|
|
*x = v
|
|
return err
|
|
}
|
|
|
|
// Get implements the Golang flag.Getter interface func.
|
|
func (x *Role) Get() interface{} {
|
|
return *x
|
|
}
|
|
|
|
// Type implements the github.com/spf13/pFlag Value interface.
|
|
func (x *Role) Type() string {
|
|
return "Role"
|
|
}
|
|
|
|
type NullRole struct {
|
|
Role Role
|
|
Valid bool
|
|
}
|
|
|
|
func NewNullRole(val interface{}) (x NullRole) {
|
|
err := x.Scan(val) // yes, we ignore this error, it will just be an invalid value.
|
|
_ = err // make any errcheck linters happy
|
|
return
|
|
}
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (x *NullRole) Scan(value interface{}) (err error) {
|
|
if value == nil {
|
|
x.Role, x.Valid = Role(""), false
|
|
return
|
|
}
|
|
|
|
err = x.Role.Scan(value)
|
|
x.Valid = (err == nil)
|
|
return
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (x NullRole) Value() (driver.Value, error) {
|
|
if !x.Valid {
|
|
return nil, nil
|
|
}
|
|
// driver.Value accepts int64 for int values.
|
|
return string(x.Role), nil
|
|
}
|
|
|
|
type NullRoleStr struct {
|
|
NullRole
|
|
}
|
|
|
|
func NewNullRoleStr(val interface{}) (x NullRoleStr) {
|
|
x.Scan(val) // yes, we ignore this error, it will just be an invalid value.
|
|
return
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (x NullRoleStr) Value() (driver.Value, error) {
|
|
if !x.Valid {
|
|
return nil, nil
|
|
}
|
|
return x.Role.String(), nil
|
|
}
|
|
|
|
const (
|
|
// UserStatusPendingVerify is a UserStatus of type pending_verify.
|
|
UserStatusPendingVerify UserStatus = "pending_verify"
|
|
// UserStatusVerified is a UserStatus of type verified.
|
|
UserStatusVerified UserStatus = "verified"
|
|
// UserStatusBanned is a UserStatus of type banned.
|
|
UserStatusBanned UserStatus = "banned"
|
|
)
|
|
|
|
var ErrInvalidUserStatus = fmt.Errorf("not a valid UserStatus, try [%s]", strings.Join(_UserStatusNames, ", "))
|
|
|
|
var _UserStatusNames = []string{
|
|
string(UserStatusPendingVerify),
|
|
string(UserStatusVerified),
|
|
string(UserStatusBanned),
|
|
}
|
|
|
|
// UserStatusNames returns a list of possible string values of UserStatus.
|
|
func UserStatusNames() []string {
|
|
tmp := make([]string, len(_UserStatusNames))
|
|
copy(tmp, _UserStatusNames)
|
|
return tmp
|
|
}
|
|
|
|
// UserStatusValues returns a list of the values for UserStatus
|
|
func UserStatusValues() []UserStatus {
|
|
return []UserStatus{
|
|
UserStatusPendingVerify,
|
|
UserStatusVerified,
|
|
UserStatusBanned,
|
|
}
|
|
}
|
|
|
|
// String implements the Stringer interface.
|
|
func (x UserStatus) String() string {
|
|
return string(x)
|
|
}
|
|
|
|
// IsValid provides a quick way to determine if the typed value is
|
|
// part of the allowed enumerated values
|
|
func (x UserStatus) IsValid() bool {
|
|
_, err := ParseUserStatus(string(x))
|
|
return err == nil
|
|
}
|
|
|
|
var _UserStatusValue = map[string]UserStatus{
|
|
"pending_verify": UserStatusPendingVerify,
|
|
"verified": UserStatusVerified,
|
|
"banned": UserStatusBanned,
|
|
}
|
|
|
|
// ParseUserStatus attempts to convert a string to a UserStatus.
|
|
func ParseUserStatus(name string) (UserStatus, error) {
|
|
if x, ok := _UserStatusValue[name]; ok {
|
|
return x, nil
|
|
}
|
|
return UserStatus(""), fmt.Errorf("%s is %w", name, ErrInvalidUserStatus)
|
|
}
|
|
|
|
var errUserStatusNilPtr = errors.New("value pointer is nil") // one per type for package clashes
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (x *UserStatus) Scan(value interface{}) (err error) {
|
|
if value == nil {
|
|
*x = UserStatus("")
|
|
return
|
|
}
|
|
|
|
// A wider range of scannable types.
|
|
// driver.Value values at the top of the list for expediency
|
|
switch v := value.(type) {
|
|
case string:
|
|
*x, err = ParseUserStatus(v)
|
|
case []byte:
|
|
*x, err = ParseUserStatus(string(v))
|
|
case UserStatus:
|
|
*x = v
|
|
case *UserStatus:
|
|
if v == nil {
|
|
return errUserStatusNilPtr
|
|
}
|
|
*x = *v
|
|
case *string:
|
|
if v == nil {
|
|
return errUserStatusNilPtr
|
|
}
|
|
*x, err = ParseUserStatus(*v)
|
|
default:
|
|
return errors.New("invalid type for UserStatus")
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (x UserStatus) Value() (driver.Value, error) {
|
|
return x.String(), nil
|
|
}
|
|
|
|
// Set implements the Golang flag.Value interface func.
|
|
func (x *UserStatus) Set(val string) error {
|
|
v, err := ParseUserStatus(val)
|
|
*x = v
|
|
return err
|
|
}
|
|
|
|
// Get implements the Golang flag.Getter interface func.
|
|
func (x *UserStatus) Get() interface{} {
|
|
return *x
|
|
}
|
|
|
|
// Type implements the github.com/spf13/pFlag Value interface.
|
|
func (x *UserStatus) Type() string {
|
|
return "UserStatus"
|
|
}
|
|
|
|
type NullUserStatus struct {
|
|
UserStatus UserStatus
|
|
Valid bool
|
|
}
|
|
|
|
func NewNullUserStatus(val interface{}) (x NullUserStatus) {
|
|
err := x.Scan(val) // yes, we ignore this error, it will just be an invalid value.
|
|
_ = err // make any errcheck linters happy
|
|
return
|
|
}
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (x *NullUserStatus) Scan(value interface{}) (err error) {
|
|
if value == nil {
|
|
x.UserStatus, x.Valid = UserStatus(""), false
|
|
return
|
|
}
|
|
|
|
err = x.UserStatus.Scan(value)
|
|
x.Valid = (err == nil)
|
|
return
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (x NullUserStatus) Value() (driver.Value, error) {
|
|
if !x.Valid {
|
|
return nil, nil
|
|
}
|
|
// driver.Value accepts int64 for int values.
|
|
return string(x.UserStatus), nil
|
|
}
|
|
|
|
type NullUserStatusStr struct {
|
|
NullUserStatus
|
|
}
|
|
|
|
func NewNullUserStatusStr(val interface{}) (x NullUserStatusStr) {
|
|
x.Scan(val) // yes, we ignore this error, it will just be an invalid value.
|
|
return
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (x NullUserStatusStr) Value() (driver.Value, error) {
|
|
if !x.Valid {
|
|
return nil, nil
|
|
}
|
|
return x.UserStatus.String(), nil
|
|
}
|