Files
History_Api/pkg/constants/role.go
AzenKain ac90236022
All checks were successful
Build and Release / release (push) Successful in 1m15s
UPDATE: Project Module
2026-04-25 14:05:15 +07:00

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}
}