refactor(auth): add workspaces selection (#12098)
This commit is contained in:
@ -9,6 +9,7 @@ import {
|
||||
BlocklistItem,
|
||||
BlocklistValidationService,
|
||||
} from 'src/modules/blocklist/blocklist-validation-manager/services/blocklist-validation.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`blocklist.createMany`)
|
||||
export class BlocklistCreateManyPreQueryHook
|
||||
@ -27,10 +28,14 @@ export class BlocklistCreateManyPreQueryHook
|
||||
throw new BadRequestException('User id is required');
|
||||
}
|
||||
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.blocklistValidationService.validateBlocklistForCreateMany(
|
||||
payload,
|
||||
authContext.user?.id,
|
||||
authContext.workspace.id,
|
||||
workspace.id,
|
||||
);
|
||||
|
||||
return payload;
|
||||
|
||||
@ -9,6 +9,7 @@ import {
|
||||
BlocklistItem,
|
||||
BlocklistValidationService,
|
||||
} from 'src/modules/blocklist/blocklist-validation-manager/services/blocklist-validation.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`blocklist.updateOne`)
|
||||
export class BlocklistUpdateOnePreQueryHook
|
||||
@ -27,10 +28,14 @@ export class BlocklistUpdateOnePreQueryHook
|
||||
throw new BadRequestException('User id is required');
|
||||
}
|
||||
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.blocklistValidationService.validateBlocklistForUpdateOne(
|
||||
payload,
|
||||
authContext.user?.id,
|
||||
authContext.workspace.id,
|
||||
workspace.id,
|
||||
);
|
||||
|
||||
return payload;
|
||||
|
||||
@ -12,6 +12,7 @@ import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadat
|
||||
import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager';
|
||||
import { WorkspaceEventEmitter } from 'src/engine/workspace-event-emitter/workspace-event-emitter';
|
||||
import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`connectedAccount.destroyOne`)
|
||||
export class ConnectedAccountDeleteOnePreQueryHook
|
||||
@ -31,6 +32,10 @@ export class ConnectedAccountDeleteOnePreQueryHook
|
||||
): Promise<DeleteOneResolverArgs> {
|
||||
const connectedAccountId = payload.id;
|
||||
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
const messageChannelRepository =
|
||||
await this.twentyORMManager.getRepository<MessageChannelWorkspaceEntity>(
|
||||
'messageChannel',
|
||||
@ -43,7 +48,7 @@ export class ConnectedAccountDeleteOnePreQueryHook
|
||||
const objectMetadata = await this.objectMetadataRepository.findOneOrFail({
|
||||
where: {
|
||||
nameSingular: 'messageChannel',
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
},
|
||||
});
|
||||
|
||||
@ -57,7 +62,7 @@ export class ConnectedAccountDeleteOnePreQueryHook
|
||||
before: messageChannel,
|
||||
},
|
||||
})),
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
|
||||
return payload;
|
||||
|
||||
@ -8,6 +8,7 @@ import {
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
@WorkspaceQueryHook(`view.deleteOne`)
|
||||
export class ViewDeleteOnePreQueryHook
|
||||
implements WorkspacePreQueryHookInstance
|
||||
@ -21,10 +22,14 @@ export class ViewDeleteOnePreQueryHook
|
||||
_objectName: string,
|
||||
payload: DeleteOneResolverArgs,
|
||||
): Promise<DeleteOneResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
const targettedViewId = payload.id;
|
||||
const viewRepository =
|
||||
await this.twentyORMGlobalManager.getRepositoryForWorkspace(
|
||||
authContext.workspace.id,
|
||||
workspace.id,
|
||||
'view',
|
||||
);
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ import {
|
||||
WorkflowVersionWorkspaceEntity,
|
||||
} from 'src/modules/workflow/common/standard-objects/workflow-version.workspace-entity';
|
||||
import { WorkflowWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow.workspace-entity';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook({
|
||||
key: `workflow.createMany`,
|
||||
@ -38,6 +39,10 @@ export class WorkflowCreateManyPostQueryHook
|
||||
_objectName: string,
|
||||
payload: WorkflowWorkspaceEntity[],
|
||||
): Promise<void> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
const workflowVersionRepository =
|
||||
await this.twentyORMManager.getRepository<WorkflowVersionWorkspaceEntity>(
|
||||
'workflowVersion',
|
||||
@ -49,7 +54,7 @@ export class WorkflowCreateManyPostQueryHook
|
||||
isCustom: false,
|
||||
nameSingular: 'workflowVersion',
|
||||
},
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
|
||||
const workflowVersionsToCreate = payload.map((workflow) => {
|
||||
@ -70,7 +75,7 @@ export class WorkflowCreateManyPostQueryHook
|
||||
const objectMetadata = await this.objectMetadataRepository.findOneOrFail({
|
||||
where: {
|
||||
nameSingular: 'workflowVersion',
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
},
|
||||
});
|
||||
|
||||
@ -87,7 +92,7 @@ export class WorkflowCreateManyPostQueryHook
|
||||
},
|
||||
};
|
||||
}),
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ import {
|
||||
WorkflowVersionWorkspaceEntity,
|
||||
} from 'src/modules/workflow/common/standard-objects/workflow-version.workspace-entity';
|
||||
import { WorkflowWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow.workspace-entity';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook({
|
||||
key: `workflow.createOne`,
|
||||
@ -38,6 +39,10 @@ export class WorkflowCreateOnePostQueryHook
|
||||
_objectName: string,
|
||||
payload: WorkflowWorkspaceEntity[],
|
||||
): Promise<void> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
const workflow = payload[0];
|
||||
|
||||
const workflowVersionRepository =
|
||||
@ -51,7 +56,7 @@ export class WorkflowCreateOnePostQueryHook
|
||||
isCustom: false,
|
||||
nameSingular: 'workflowVersion',
|
||||
},
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
|
||||
const workflowVersionToCreate = await workflowVersionRepository.create({
|
||||
@ -66,7 +71,7 @@ export class WorkflowCreateOnePostQueryHook
|
||||
const objectMetadata = await this.objectMetadataRepository.findOneOrFail({
|
||||
where: {
|
||||
nameSingular: 'workflowVersion',
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
},
|
||||
});
|
||||
|
||||
@ -83,7 +88,7 @@ export class WorkflowCreateOnePostQueryHook
|
||||
},
|
||||
},
|
||||
],
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-r
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow.workspace-entity';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook({
|
||||
key: `workflow.deleteMany`,
|
||||
@ -22,9 +23,13 @@ export class WorkflowDeleteManyPostQueryHook
|
||||
_objectName: string,
|
||||
payload: WorkflowWorkspaceEntity[],
|
||||
): Promise<void> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowCommonWorkspaceService.handleWorkflowSubEntities({
|
||||
workflowIds: payload.map((workflow) => workflow.id),
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
operation: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-r
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow.workspace-entity';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook({
|
||||
key: `workflow.deleteOne`,
|
||||
@ -22,9 +23,13 @@ export class WorkflowDeleteOnePostQueryHook
|
||||
_objectName: string,
|
||||
payload: WorkflowWorkspaceEntity[],
|
||||
): Promise<void> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowCommonWorkspaceService.handleWorkflowSubEntities({
|
||||
workflowIds: payload.map((workflow) => workflow.id),
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
operation: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import { DestroyManyResolverArgs } from 'src/engine/api/graphql/workspace-resolv
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook('workflow.destroyMany')
|
||||
export class WorkflowDestroyManyPreQueryHook
|
||||
@ -18,9 +19,13 @@ export class WorkflowDestroyManyPreQueryHook
|
||||
_objectName: string,
|
||||
payload: DestroyManyResolverArgs<{ id: { in: string[] } }>,
|
||||
): Promise<DestroyManyResolverArgs<{ id: { in: string[] } }>> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowCommonWorkspaceService.handleWorkflowSubEntities({
|
||||
workflowIds: payload.filter.id.in,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
operation: 'destroy',
|
||||
});
|
||||
|
||||
|
||||
@ -4,6 +4,7 @@ import { DestroyOneResolverArgs } from 'src/engine/api/graphql/workspace-resolve
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook('workflow.destroyOne')
|
||||
export class WorkflowDestroyOnePreQueryHook
|
||||
@ -18,9 +19,13 @@ export class WorkflowDestroyOnePreQueryHook
|
||||
_objectName: string,
|
||||
payload: DestroyOneResolverArgs,
|
||||
): Promise<DestroyOneResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowCommonWorkspaceService.handleWorkflowSubEntities({
|
||||
workflowIds: [payload.id],
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
operation: 'destroy',
|
||||
});
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-r
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow.workspace-entity';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook({
|
||||
key: 'workflow.restoreMany',
|
||||
@ -22,9 +23,13 @@ export class WorkflowRestoreManyPostQueryHook
|
||||
_objectName: string,
|
||||
payload: WorkflowWorkspaceEntity[],
|
||||
): Promise<void> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowCommonWorkspaceService.handleWorkflowSubEntities({
|
||||
workflowIds: payload.map((workflow) => workflow.id),
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
operation: 'restore',
|
||||
});
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-r
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow.workspace-entity';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook({
|
||||
key: 'workflow.restoreOne',
|
||||
@ -22,9 +23,13 @@ export class WorkflowRestoreOnePostQueryHook
|
||||
_objectName: string,
|
||||
payload: WorkflowWorkspaceEntity[],
|
||||
): Promise<void> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowCommonWorkspaceService.handleWorkflowSubEntities({
|
||||
workflowIds: payload.map((workflow) => workflow.id),
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
operation: 'restore',
|
||||
});
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import { DeleteOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowVersionValidationWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-version-validation.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workflowVersion.deleteOne`)
|
||||
export class WorkflowVersionDeleteOnePreQueryHook
|
||||
@ -20,6 +21,8 @@ export class WorkflowVersionDeleteOnePreQueryHook
|
||||
): Promise<DeleteOneResolverArgs> {
|
||||
const { workspace } = authContext;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowVersionValidationWorkspaceService.validateWorkflowVersionForDeleteOne(
|
||||
workspace.id,
|
||||
payload,
|
||||
|
||||
@ -5,6 +5,7 @@ import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runne
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkflowVersionWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow-version.workspace-entity';
|
||||
import { WorkflowVersionValidationWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-version-validation.workspace-service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workflowVersion.updateOne`)
|
||||
export class WorkflowVersionUpdateOnePreQueryHook
|
||||
@ -21,6 +22,8 @@ export class WorkflowVersionUpdateOnePreQueryHook
|
||||
): Promise<UpdateOneResolverArgs<WorkflowVersionWorkspaceEntity>> {
|
||||
const { workspace } = authContext;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workflowVersionValidationWorkspaceService.validateWorkflowVersionForUpdateOne(
|
||||
{
|
||||
workspaceId: workspace.id,
|
||||
|
||||
@ -4,6 +4,7 @@ import { CreateManyResolverArgs } from 'src/engine/api/graphql/workspace-resolve
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.createMany`)
|
||||
export class WorkspaceMemberCreateManyPreQueryHook
|
||||
@ -18,10 +19,14 @@ export class WorkspaceMemberCreateManyPreQueryHook
|
||||
objectName: string,
|
||||
payload: CreateManyResolverArgs,
|
||||
): Promise<CreateManyResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { CreateOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.createOne`)
|
||||
export class WorkspaceMemberCreateOnePreQueryHook
|
||||
@ -18,10 +19,14 @@ export class WorkspaceMemberCreateOnePreQueryHook
|
||||
objectName: string,
|
||||
payload: CreateOneResolverArgs,
|
||||
): Promise<CreateOneResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { DeleteManyResolverArgs } from 'src/engine/api/graphql/workspace-resolve
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.deleteMany`)
|
||||
export class WorkspaceMemberDeleteManyPreQueryHook
|
||||
@ -18,10 +19,14 @@ export class WorkspaceMemberDeleteManyPreQueryHook
|
||||
objectName: string,
|
||||
payload: DeleteManyResolverArgs,
|
||||
): Promise<DeleteManyResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -6,6 +6,7 @@ import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.typ
|
||||
import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager';
|
||||
import { AttachmentWorkspaceEntity } from 'src/modules/attachment/standard-objects/attachment.workspace-entity';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.deleteOne`)
|
||||
export class WorkspaceMemberDeleteOnePreQueryHook
|
||||
@ -23,12 +24,16 @@ export class WorkspaceMemberDeleteOnePreQueryHook
|
||||
): Promise<DeleteOneResolverArgs> {
|
||||
const targettedWorkspaceMemberId = payload.id;
|
||||
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
targettedWorkspaceMemberId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
},
|
||||
);
|
||||
|
||||
@ -4,6 +4,7 @@ import { DeleteManyResolverArgs } from 'src/engine/api/graphql/workspace-resolve
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.destroyMany`)
|
||||
export class WorkspaceMemberDestroyManyPreQueryHook
|
||||
@ -18,10 +19,14 @@ export class WorkspaceMemberDestroyManyPreQueryHook
|
||||
objectName: string,
|
||||
payload: DeleteManyResolverArgs,
|
||||
): Promise<DeleteManyResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { DeleteOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.destroyOne`)
|
||||
export class WorkspaceMemberDestroyOnePreQueryHook
|
||||
@ -18,11 +19,15 @@ export class WorkspaceMemberDestroyOnePreQueryHook
|
||||
objectName: string,
|
||||
payload: DeleteOneResolverArgs,
|
||||
): Promise<DeleteOneResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
targettedWorkspaceMemberId: payload.id,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { RestoreManyResolverArgs } from 'src/engine/api/graphql/workspace-resolv
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.restoreMany`)
|
||||
export class WorkspaceMemberRestoreManyPreQueryHook
|
||||
@ -18,10 +19,14 @@ export class WorkspaceMemberRestoreManyPreQueryHook
|
||||
objectName: string,
|
||||
payload: RestoreManyResolverArgs,
|
||||
): Promise<RestoreManyResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { RestoreOneResolverArgs } from 'src/engine/api/graphql/workspace-resolve
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.restoreOne`)
|
||||
export class WorkspaceMemberRestoreOnePreQueryHook
|
||||
@ -18,11 +19,15 @@ export class WorkspaceMemberRestoreOnePreQueryHook
|
||||
objectName: string,
|
||||
payload: RestoreOneResolverArgs,
|
||||
): Promise<RestoreOneResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
targettedWorkspaceMemberId: payload.id,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { UpdateManyResolverArgs } from 'src/engine/api/graphql/workspace-resolve
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.updateMany`)
|
||||
export class WorkspaceMemberUpdateManyPreQueryHook
|
||||
@ -18,10 +19,14 @@ export class WorkspaceMemberUpdateManyPreQueryHook
|
||||
objectName: string,
|
||||
payload: UpdateManyResolverArgs,
|
||||
): Promise<UpdateManyResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
@ -4,6 +4,7 @@ import { UpdateOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver
|
||||
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
|
||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||
import { WorkspaceMemberPreQueryHookService } from 'src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service';
|
||||
import { workspaceValidator } from 'src/engine/core-modules/workspace/workspace.validate';
|
||||
|
||||
@WorkspaceQueryHook(`workspaceMember.updateOne`)
|
||||
export class WorkspaceMemberUpdateOnePreQueryHook
|
||||
@ -18,11 +19,15 @@ export class WorkspaceMemberUpdateOnePreQueryHook
|
||||
objectName: string,
|
||||
payload: UpdateOneResolverArgs,
|
||||
): Promise<UpdateOneResolverArgs> {
|
||||
const workspace = authContext.workspace;
|
||||
|
||||
workspaceValidator.assertIsDefinedOrThrow(workspace);
|
||||
|
||||
await this.workspaceMemberPreQueryHookService.validateWorkspaceMemberUpdatePermissionOrThrow(
|
||||
{
|
||||
userWorkspaceId: authContext.userWorkspaceId,
|
||||
targettedWorkspaceMemberId: payload.id,
|
||||
workspaceId: authContext.workspace.id,
|
||||
workspaceId: workspace.id,
|
||||
apiKey: authContext.apiKey,
|
||||
workspaceMemberId: authContext.workspaceMemberId,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user