Taobin-Recipe-Manager/server/enums/permissions/permission.go

20 lines
525 B
Go
Raw Normal View History

2023-12-06 20:21:25 +07:00
package permissions
type Permission int
const (
// ThaiPermission Permission = 1 << iota
// MalayPermission
// AusPermission
// Alpha3Permission
2023-12-06 20:21:25 +07:00
// NOTE: Add more permission here
2023-12-18 08:49:23 +07:00
Viewer = 1 << 4
Editor = Viewer << 3
// SuperAdmin have max uint
// SuperAdmin = ThaiPermission | MalayPermission | AusPermission | Alpha3Permission | (Editor | Viewer)
2023-12-06 20:21:25 +07:00
)
func (userPermissions Permission) IsHavePermission(requiredPermissions Permission) bool {
return (userPermissions & requiredPermissions) == requiredPermissions
}