32 lines
477 B
Go
32 lines
477 B
Go
package models
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
type UserRole int
|
|
|
|
const (
|
|
NormalUser UserRole = iota
|
|
|
|
AdminUser
|
|
)
|
|
|
|
var userRoles = map[string]UserRole{
|
|
"normal": NormalUser,
|
|
"admin": AdminUser,
|
|
}
|
|
|
|
func UserRoleFromString(role string) UserRole {
|
|
userRole := userRoles[strings.ToLower(role)]
|
|
return userRole // default -> 0 -> normal
|
|
}
|
|
|
|
func (role UserRole) IsNormalUser() bool {
|
|
return role == NormalUser
|
|
}
|
|
|
|
func (role UserRole) IsAdminUser() bool {
|
|
return role == AdminUser
|
|
}
|