package permissions type Permission int const ( ThaiPermission Permission = 1 << iota MalayPermission AusPermission Alpha3Permission // NOTE: Add more permission here Viewer = 1 << 4 Editor = Viewer << 3 // SuperAdmin have max uint SuperAdmin = ThaiPermission | MalayPermission | AusPermission | Alpha3Permission | (Editor | Viewer) ) func (userPermissions Permission) IsHavePermission(requiredPermissions Permission) bool { return (userPermissions & requiredPermissions) == requiredPermissions }