niki/entity/user_role.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)
}