forked from ebhomengo/niki
37 lines
719 B
Go
37 lines
719 B
Go
package entity
|
|
|
|
type UserRole uint
|
|
|
|
const (
|
|
UserBenefactorRole UserRole = iota + 1
|
|
)
|
|
|
|
var UserRoleStrings = map[UserRole]string{
|
|
UserBenefactorRole: "benefactor",
|
|
}
|
|
|
|
func (s UserRole) String() string {
|
|
return UserRoleStrings[s]
|
|
}
|
|
|
|
// AllUserRole returns a slice containing all string values of UserRole.
|
|
func AllUserRole() []string {
|
|
roleStrings := make([]string, len(UserRoleStrings))
|
|
for role, str := range UserRoleStrings {
|
|
roleStrings[int(role)-1] = str
|
|
}
|
|
|
|
return roleStrings
|
|
}
|
|
|
|
// MapToUserRole converts a string to the corresponding UserRole value.
|
|
func MapToUserRole(roleStr string) UserRole {
|
|
for role, str := range UserRoleStrings {
|
|
if str == roleStr {
|
|
return role
|
|
}
|
|
}
|
|
|
|
return UserRole(0)
|
|
}
|