All checks were successful
Build and Release / release (push) Successful in 1m15s
40 lines
787 B
Go
40 lines
787 B
Go
package constants
|
|
|
|
type RoleType string
|
|
|
|
const (
|
|
RoleTypeAdmin RoleType = "ADMIN"
|
|
RoleTypeMod RoleType = "MOD"
|
|
RoleTypeUser RoleType = "USER"
|
|
RoleTypeHistorian RoleType = "HISTORIAN"
|
|
RoleTypeBanned RoleType = "BANNED"
|
|
)
|
|
|
|
func (r RoleType) String() string {
|
|
return string(r)
|
|
}
|
|
|
|
func (r RoleType) Compare(other RoleType) bool {
|
|
return r == other
|
|
}
|
|
|
|
func (r RoleType) IsValid() bool {
|
|
return CheckValidRole(r)
|
|
}
|
|
|
|
func CheckValidRole(r RoleType) bool {
|
|
return r == RoleTypeAdmin || r == RoleTypeMod || r == RoleTypeHistorian || r == RoleTypeUser || r == RoleTypeBanned
|
|
}
|
|
|
|
|
|
func ParseRole(s string) (RoleType, bool) {
|
|
r := RoleType(s)
|
|
if CheckValidRole(r) {
|
|
return r, true
|
|
}
|
|
return "", false
|
|
}
|
|
func (r RoleType) ToSlice() []RoleType {
|
|
return []RoleType{r}
|
|
}
|