Files
twenty/packages/twenty-server/src/modules/workspace-member/query-hooks/workspace-member-delete-one.pre-query.hook.ts
T

31 lines
1.3 KiB
TypeScript

import { msg } from '@lingui/core/macro';
import { type WorkspacePreQueryHookInstance } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/interfaces/workspace-query-hook.interface';
import { type RestoreOneResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface';
import {
CommonQueryRunnerException,
CommonQueryRunnerExceptionCode,
} from 'src/engine/api/common/common-query-runners/errors/common-query-runner.exception';
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
@WorkspaceQueryHook(`workspaceMember.deleteOne`)
export class WorkspaceMemberDeleteOnePreQueryHook
implements WorkspacePreQueryHookInstance
{
constructor() {}
async execute(
_authContext: WorkspaceAuthContext,
): Promise<RestoreOneResolverArgs> {
throw new CommonQueryRunnerException(
'Please use /deleteUserFromWorkspace to remove a workspace member.',
CommonQueryRunnerExceptionCode.BAD_REQUEST,
{
userFriendlyMessage: msg`Please use Settings to remove a workspace member.`,
},
);
}
}