chore(workspaces): optimize project roles resolvers
This commit is contained in:
Родитель
0d9ff2514a
Коммит
9669a94552
|
@ -67,6 +67,7 @@ generates:
|
||||||
SmartTextEditorValue: '@/modules/core/services/richTextEditorService#SmartTextEditorValueSchema'
|
SmartTextEditorValue: '@/modules/core/services/richTextEditorService#SmartTextEditorValueSchema'
|
||||||
BlobMetadata: '@/modules/blobstorage/domain/types#BlobStorageItem'
|
BlobMetadata: '@/modules/blobstorage/domain/types#BlobStorageItem'
|
||||||
ServerWorkspacesInfo: '@/modules/core/helpers/graphTypes#GraphQLEmptyReturn'
|
ServerWorkspacesInfo: '@/modules/core/helpers/graphTypes#GraphQLEmptyReturn'
|
||||||
|
ProjectRole: '@/modules/workspacesCore/helpers/graphTypes#ProjectRoleGraphQLReturn '
|
||||||
modules/cross-server-sync/graph/generated/graphql.ts:
|
modules/cross-server-sync/graph/generated/graphql.ts:
|
||||||
plugins:
|
plugins:
|
||||||
- 'typescript'
|
- 'typescript'
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { CommentReplyAuthorCollectionGraphQLReturn, CommentGraphQLReturn } from
|
||||||
import { PendingStreamCollaboratorGraphQLReturn } from '@/modules/serverinvites/helpers/graphTypes';
|
import { PendingStreamCollaboratorGraphQLReturn } from '@/modules/serverinvites/helpers/graphTypes';
|
||||||
import { FileUploadGraphQLReturn } from '@/modules/fileuploads/helpers/types';
|
import { FileUploadGraphQLReturn } from '@/modules/fileuploads/helpers/types';
|
||||||
import { AutomateFunctionGraphQLReturn, AutomateFunctionReleaseGraphQLReturn, AutomationGraphQLReturn, AutomationRevisionGraphQLReturn, AutomationRevisionFunctionGraphQLReturn, AutomateRunGraphQLReturn, AutomationRunTriggerGraphQLReturn, AutomationRevisionTriggerDefinitionGraphQLReturn, AutomateFunctionRunGraphQLReturn, TriggeredAutomationsStatusGraphQLReturn, ProjectAutomationMutationsGraphQLReturn, ProjectTriggeredAutomationsStatusUpdatedMessageGraphQLReturn, ProjectAutomationsUpdatedMessageGraphQLReturn, UserAutomateInfoGraphQLReturn } from '@/modules/automate/helpers/graphTypes';
|
import { AutomateFunctionGraphQLReturn, AutomateFunctionReleaseGraphQLReturn, AutomationGraphQLReturn, AutomationRevisionGraphQLReturn, AutomationRevisionFunctionGraphQLReturn, AutomateRunGraphQLReturn, AutomationRunTriggerGraphQLReturn, AutomationRevisionTriggerDefinitionGraphQLReturn, AutomateFunctionRunGraphQLReturn, TriggeredAutomationsStatusGraphQLReturn, ProjectAutomationMutationsGraphQLReturn, ProjectTriggeredAutomationsStatusUpdatedMessageGraphQLReturn, ProjectAutomationsUpdatedMessageGraphQLReturn, UserAutomateInfoGraphQLReturn } from '@/modules/automate/helpers/graphTypes';
|
||||||
import { WorkspaceGraphQLReturn, WorkspaceBillingGraphQLReturn, WorkspaceMutationsGraphQLReturn, WorkspaceInviteMutationsGraphQLReturn, WorkspaceProjectMutationsGraphQLReturn, PendingWorkspaceCollaboratorGraphQLReturn, WorkspaceCollaboratorGraphQLReturn } from '@/modules/workspacesCore/helpers/graphTypes';
|
import { WorkspaceGraphQLReturn, WorkspaceBillingGraphQLReturn, WorkspaceMutationsGraphQLReturn, WorkspaceInviteMutationsGraphQLReturn, WorkspaceProjectMutationsGraphQLReturn, PendingWorkspaceCollaboratorGraphQLReturn, WorkspaceCollaboratorGraphQLReturn, ProjectRoleGraphQLReturn } from '@/modules/workspacesCore/helpers/graphTypes';
|
||||||
import { WebhookGraphQLReturn } from '@/modules/webhooks/helpers/graphTypes';
|
import { WebhookGraphQLReturn } from '@/modules/webhooks/helpers/graphTypes';
|
||||||
import { SmartTextEditorValueSchema } from '@/modules/core/services/richTextEditorService';
|
import { SmartTextEditorValueSchema } from '@/modules/core/services/richTextEditorService';
|
||||||
import { BlobStorageItem } from '@/modules/blobstorage/domain/types';
|
import { BlobStorageItem } from '@/modules/blobstorage/domain/types';
|
||||||
|
@ -4403,7 +4403,7 @@ export type ResolversTypes = {
|
||||||
ProjectPendingModelsUpdatedMessageType: ProjectPendingModelsUpdatedMessageType;
|
ProjectPendingModelsUpdatedMessageType: ProjectPendingModelsUpdatedMessageType;
|
||||||
ProjectPendingVersionsUpdatedMessage: ResolverTypeWrapper<Omit<ProjectPendingVersionsUpdatedMessage, 'version'> & { version: ResolversTypes['FileUpload'] }>;
|
ProjectPendingVersionsUpdatedMessage: ResolverTypeWrapper<Omit<ProjectPendingVersionsUpdatedMessage, 'version'> & { version: ResolversTypes['FileUpload'] }>;
|
||||||
ProjectPendingVersionsUpdatedMessageType: ProjectPendingVersionsUpdatedMessageType;
|
ProjectPendingVersionsUpdatedMessageType: ProjectPendingVersionsUpdatedMessageType;
|
||||||
ProjectRole: ResolverTypeWrapper<Omit<ProjectRole, 'project'> & { project: ResolversTypes['Project'] }>;
|
ProjectRole: ResolverTypeWrapper<ProjectRoleGraphQLReturn >;
|
||||||
ProjectTestAutomationCreateInput: ProjectTestAutomationCreateInput;
|
ProjectTestAutomationCreateInput: ProjectTestAutomationCreateInput;
|
||||||
ProjectTriggeredAutomationsStatusUpdatedMessage: ResolverTypeWrapper<ProjectTriggeredAutomationsStatusUpdatedMessageGraphQLReturn>;
|
ProjectTriggeredAutomationsStatusUpdatedMessage: ResolverTypeWrapper<ProjectTriggeredAutomationsStatusUpdatedMessageGraphQLReturn>;
|
||||||
ProjectTriggeredAutomationsStatusUpdatedMessageType: ProjectTriggeredAutomationsStatusUpdatedMessageType;
|
ProjectTriggeredAutomationsStatusUpdatedMessageType: ProjectTriggeredAutomationsStatusUpdatedMessageType;
|
||||||
|
@ -4654,7 +4654,7 @@ export type ResolversParentTypes = {
|
||||||
ProjectMutations: MutationsObjectGraphQLReturn;
|
ProjectMutations: MutationsObjectGraphQLReturn;
|
||||||
ProjectPendingModelsUpdatedMessage: Omit<ProjectPendingModelsUpdatedMessage, 'model'> & { model: ResolversParentTypes['FileUpload'] };
|
ProjectPendingModelsUpdatedMessage: Omit<ProjectPendingModelsUpdatedMessage, 'model'> & { model: ResolversParentTypes['FileUpload'] };
|
||||||
ProjectPendingVersionsUpdatedMessage: Omit<ProjectPendingVersionsUpdatedMessage, 'version'> & { version: ResolversParentTypes['FileUpload'] };
|
ProjectPendingVersionsUpdatedMessage: Omit<ProjectPendingVersionsUpdatedMessage, 'version'> & { version: ResolversParentTypes['FileUpload'] };
|
||||||
ProjectRole: Omit<ProjectRole, 'project'> & { project: ResolversParentTypes['Project'] };
|
ProjectRole: ProjectRoleGraphQLReturn ;
|
||||||
ProjectTestAutomationCreateInput: ProjectTestAutomationCreateInput;
|
ProjectTestAutomationCreateInput: ProjectTestAutomationCreateInput;
|
||||||
ProjectTriggeredAutomationsStatusUpdatedMessage: ProjectTriggeredAutomationsStatusUpdatedMessageGraphQLReturn;
|
ProjectTriggeredAutomationsStatusUpdatedMessage: ProjectTriggeredAutomationsStatusUpdatedMessageGraphQLReturn;
|
||||||
ProjectUpdateInput: ProjectUpdateInput;
|
ProjectUpdateInput: ProjectUpdateInput;
|
||||||
|
|
|
@ -740,19 +740,24 @@ export = FF_WORKSPACES_MODULE_ENABLED
|
||||||
role: async (parent) => {
|
role: async (parent) => {
|
||||||
return parent.workspaceRole
|
return parent.workspaceRole
|
||||||
},
|
},
|
||||||
projectRoles: async (parent, _args, ctx) => {
|
projectRoles: async (parent) => {
|
||||||
const projectRoles = await getRolesByUserIdFactory({ db })({
|
const projectRoles = await getRolesByUserIdFactory({ db })({
|
||||||
userId: parent.id,
|
userId: parent.id,
|
||||||
workspaceId: parent.workspaceId
|
workspaceId: parent.workspaceId
|
||||||
})
|
})
|
||||||
return await Promise.all(
|
return await Promise.all(
|
||||||
projectRoles.map(({ role, resourceId }) => ({
|
projectRoles.map(({ role, resourceId }) => ({
|
||||||
project: ctx.loaders.streams.getStream.load(resourceId),
|
projectId: resourceId,
|
||||||
role
|
role
|
||||||
}))
|
}))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
ProjectRole: {
|
||||||
|
project: async (parent, _args, ctx) => {
|
||||||
|
return await ctx.loaders.streams.getStream.load(parent.projectId)
|
||||||
|
}
|
||||||
|
},
|
||||||
PendingWorkspaceCollaborator: {
|
PendingWorkspaceCollaborator: {
|
||||||
workspaceName: async (parent, _args, ctx) => {
|
workspaceName: async (parent, _args, ctx) => {
|
||||||
const workspace = await ctx.loaders.workspaces!.getWorkspace.load(
|
const workspace = await ctx.loaders.workspaces!.getWorkspace.load(
|
||||||
|
|
|
@ -9,6 +9,10 @@ export type WorkspaceBillingGraphQLReturn = { parent: Workspace }
|
||||||
export type WorkspaceMutationsGraphQLReturn = MutationsObjectGraphQLReturn
|
export type WorkspaceMutationsGraphQLReturn = MutationsObjectGraphQLReturn
|
||||||
export type WorkspaceInviteMutationsGraphQLReturn = MutationsObjectGraphQLReturn
|
export type WorkspaceInviteMutationsGraphQLReturn = MutationsObjectGraphQLReturn
|
||||||
export type WorkspaceProjectMutationsGraphQLReturn = MutationsObjectGraphQLReturn
|
export type WorkspaceProjectMutationsGraphQLReturn = MutationsObjectGraphQLReturn
|
||||||
|
export type ProjectRoleGraphQLReturn = {
|
||||||
|
role: string
|
||||||
|
projectId: string
|
||||||
|
}
|
||||||
|
|
||||||
export type PendingWorkspaceCollaboratorGraphQLReturn = {
|
export type PendingWorkspaceCollaboratorGraphQLReturn = {
|
||||||
id: string
|
id: string
|
||||||
|
|
Загрузка…
Ссылка в новой задаче