@ -47,6 +47,7 @@ import { NotFoundError } from 'src/engine/utils/graphql-errors.util';
|
||||
import { QueryRunnerArgsFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory';
|
||||
import { QueryResultGettersFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/query-result-getters.factory';
|
||||
import { assertMutationNotOnRemoteObject } from 'src/engine/metadata-modules/object-metadata/utils/assert-mutation-not-on-remote-object.util';
|
||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||
|
||||
import { WorkspaceQueryRunnerOptions } from './interfaces/query-runner-option.interface';
|
||||
import {
|
||||
@ -432,6 +433,12 @@ export class WorkspaceQueryRunnerService {
|
||||
workspaceId,
|
||||
objectMetadataItem,
|
||||
);
|
||||
|
||||
const deletedBlocklistItem = await this.handleDeleteBlocklistItem(
|
||||
args.id,
|
||||
workspaceId,
|
||||
objectMetadataItem,
|
||||
);
|
||||
// TODO END
|
||||
|
||||
const result = await this.execute(query, workspaceId);
|
||||
@ -459,6 +466,7 @@ export class WorkspaceQueryRunnerService {
|
||||
properties: {
|
||||
before: {
|
||||
...(deletedWorkspaceMember ?? {}),
|
||||
...(deletedBlocklistItem ?? {}),
|
||||
...this.removeNestedProperties(parsedResults?.[0]),
|
||||
},
|
||||
},
|
||||
@ -615,4 +623,36 @@ export class WorkspaceQueryRunnerService {
|
||||
|
||||
return workspaceMemberResult.edges?.[0]?.node;
|
||||
}
|
||||
|
||||
async handleDeleteBlocklistItem(
|
||||
id: string,
|
||||
workspaceId: string,
|
||||
objectMetadataItem: ObjectMetadataInterface,
|
||||
) {
|
||||
if (objectMetadataItem.standardId !== STANDARD_OBJECT_IDS.blocklist) {
|
||||
return;
|
||||
}
|
||||
|
||||
const blocklistItemResult = await this.executeAndParse<IRecord>(
|
||||
`
|
||||
query {
|
||||
blocklistCollection(filter: {id: {eq: "${id}"}}) {
|
||||
edges {
|
||||
node {
|
||||
handle
|
||||
workspaceMember {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
objectMetadataItem,
|
||||
'',
|
||||
workspaceId,
|
||||
);
|
||||
|
||||
return blocklistItemResult.edges?.[0]?.node;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user