feat(authz): Project.canCreateModel and Project.canMoveToWorkspace policies (#4342)

* feat(authz): Project.canCreateModel policy

* feat(authz): Project.canMoveToWorkspace policy

* fix(authz): expose policies as permissions objects

* chore(authz): actually use the policies lol

* chore(authz): add tests for new policies

* fix(authz): skip affected test

* fix(authz): pr comments

* fix(authz): better errors, better tests

* chore(authz): remove references to deleted error
This commit is contained in:
Chuck Driesler
2025-04-08 15:29:12 +01:00
committed by GitHub
parent f217f5b17f
commit cb7243cfbe
28 changed files with 701 additions and 60 deletions
@@ -17,6 +17,9 @@ export default defineModuleLoaders(() => ({
getWorkspaceSeat: async () => {
throw new LoaderUnsupportedError()
},
getWorkspaceModelCount: async () => {
throw new LoaderUnsupportedError()
},
getWorkspaceProjectCount: async () => {
throw new LoaderUnsupportedError()
},
@@ -8,3 +8,9 @@ export class SsoSessionMissingOrExpiredError extends BaseError<{
static code = 'SSO_SESSION_MISSING_OR_EXPIRED_ERROR'
static statusCode = 401
}
export class WorkspaceRequiredError extends BaseError {
static defaultMessage = 'This action requires a workspace.'
static code = 'WORKSPACE_REQUIRED_ERROR'
static statusCode = 400
}