gergo/web 2888 workspace project cancreate (#4294)

* WIP can create project

* WIP can create project more work

* complete body, stencil tests

* feat(shared): move workspace plan types into shared

* test progress wip

* feat(shared): add more logic to canCreateWorkspaceProject

* a few more tests, as a treat

* chore(authz): round out tests

* fixed loaders, new GQL checks, dataLoaders in auth loaders

* fix(authz): get workspace limits loader

* chore(authz): update loaders

* frontend fixed up to snuff

* fix(authz): fix workspace plans for tests

* fix(authz): classic

* fix(authz): 0 counts

---------

Co-authored-by: Chuck Driesler <chuck@speckle.systems>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
This commit is contained in:
Gergő Jedlicska
2025-04-01 17:38:20 +02:00
committed by GitHub
parent 1040990234
commit f501cc4ad5
82 changed files with 1795 additions and 1470 deletions
@@ -13,5 +13,17 @@ export default defineModuleLoaders(() => ({
},
getWorkspaceSsoProvider: async () => {
throw new LoaderUnsupportedError()
},
getWorkspaceSeat: async () => {
throw new LoaderUnsupportedError()
},
getWorkspaceProjectCount: async () => {
throw new LoaderUnsupportedError()
},
getWorkspacePlan: async () => {
throw new LoaderUnsupportedError()
},
getWorkspaceLimits: async () => {
throw new LoaderUnsupportedError()
}
}))
@@ -0,0 +1,10 @@
import { BaseError } from '@/modules/shared/errors/base'
export class SsoSessionMissingOrExpiredError extends BaseError<{
workspaceSlug: string
}> {
static defaultMessage =
'No valid SSO session found for the given workspace. Please sign in.'
static code = 'SSO_SESSION_MISSING_OR_EXPIRED_ERROR'
static statusCode = 401
}
@@ -36,3 +36,7 @@ export type PendingWorkspaceCollaboratorGraphQLReturn = {
}
export type WorkspaceCollaboratorGraphQLReturn = WorkspaceTeamMember
export type WorkspacePermissionChecksGraphQLReturn = {
workspaceId: string
}