31 lines
1.3 KiB
TypeScript
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.`,
|
|
},
|
|
);
|
|
}
|
|
}
|