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:
@@ -2,7 +2,8 @@ import { getFeatureFlags } from '@/modules/shared/helpers/envHelper'
|
||||
import { defineRequestDataloaders } from '@/modules/shared/helpers/graphqlHelper'
|
||||
import {
|
||||
getWorkspaceDomainsFactory,
|
||||
getWorkspacesFactory
|
||||
getWorkspacesFactory,
|
||||
getWorkspacesProjectsCountsFactory
|
||||
} from '@/modules/workspaces/repositories/workspaces'
|
||||
import {
|
||||
WorkspaceDomain,
|
||||
@@ -21,6 +22,7 @@ const dataLoadersDefinition = defineRequestDataloaders(
|
||||
({ ctx, createLoader, deps: { db } }) => {
|
||||
const getWorkspaces = getWorkspacesFactory({ db })
|
||||
const getWorkspaceDomains = getWorkspaceDomainsFactory({ db })
|
||||
const getWorkspacesProjectsCounts = getWorkspacesProjectsCountsFactory({ db })
|
||||
|
||||
return {
|
||||
workspaces: {
|
||||
@@ -35,7 +37,16 @@ const dataLoadersDefinition = defineRequestDataloaders(
|
||||
)
|
||||
return ids.map((id) => results[id] || null)
|
||||
}
|
||||
)
|
||||
),
|
||||
/**
|
||||
* Get workspace project count
|
||||
*/
|
||||
getProjectCount: createLoader<string, number | null>(async (ids) => {
|
||||
const results = await getWorkspacesProjectsCounts({
|
||||
workspaceIds: ids.slice()
|
||||
})
|
||||
return ids.map((id) => results[id] ?? null)
|
||||
})
|
||||
},
|
||||
workspaceDomains: {
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user