added team create permission
This commit is contained in:
@@ -14,6 +14,7 @@ enum Permission: string
|
||||
case ProjectRead = 'project:read';
|
||||
case ProjectWrite = 'project:write';
|
||||
case ProjectAdmin = 'project:admin';
|
||||
case TeamCreate = 'team:create';
|
||||
case TeamInvite = 'team:invite';
|
||||
case TeamManage = 'team:manage';
|
||||
case TeamAdmin = 'team:admin';
|
||||
@@ -26,6 +27,7 @@ enum Permission: string
|
||||
self::ProjectRead => 'Project read',
|
||||
self::ProjectWrite => 'Project write',
|
||||
self::ProjectAdmin => 'Project admin',
|
||||
self::TeamCreate => 'Team create',
|
||||
self::TeamInvite => 'Team invite',
|
||||
self::TeamManage => 'Team manage',
|
||||
self::TeamAdmin => 'Team admin',
|
||||
@@ -35,7 +37,7 @@ enum Permission: string
|
||||
public function scope(): PermissionScope
|
||||
{
|
||||
return match ($this) {
|
||||
self::GlobalAdmin, self::ProjectCreate => PermissionScope::Global,
|
||||
self::GlobalAdmin, self::ProjectCreate, self::TeamCreate => PermissionScope::Global,
|
||||
self::ProjectRead, self::ProjectWrite, self::ProjectAdmin => PermissionScope::Project,
|
||||
self::TeamInvite, self::TeamManage, self::TeamAdmin => PermissionScope::Team,
|
||||
};
|
||||
@@ -64,13 +66,8 @@ enum Permission: string
|
||||
return true;
|
||||
}
|
||||
|
||||
foreach ($this->impliedPermissions() as $impliedPermission) {
|
||||
if ($impliedPermission->includes($permission)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return array_any($this->impliedPermissions(), fn ($impliedPermission) => $impliedPermission->includes($permission));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function isAssignableTo(Model|string $assignee): bool
|
||||
@@ -118,6 +115,7 @@ enum Permission: string
|
||||
{
|
||||
return [
|
||||
self::GlobalAdmin,
|
||||
self::TeamCreate,
|
||||
self::ProjectCreate,
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user