@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,6 +44,7 @@ import { WorkspaceGoogleCalendarSyncModule } from 'src/modules/calendar/services
|
||||
import { AutoCompaniesAndContactsCreationModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/auto-companies-and-contacts-creation.module';
|
||||
import { GmailFetchMessagesFromCacheCronJob } from 'src/modules/messaging/crons/jobs/gmail-fetch-messages-from-cache.cron.job';
|
||||
import { GmailPartialSyncCronJob } from 'src/modules/messaging/crons/jobs/gmail-partial-sync.cron.job';
|
||||
import { BlocklistReimportMessagesJob } from 'src/modules/messaging/jobs/blocklist-reimport-messages.job';
|
||||
import { DeleteConnectedAccountAssociatedMessagingDataJob } from 'src/modules/messaging/jobs/delete-connected-account-associated-messaging-data.job';
|
||||
import { BlocklistItemDeleteMessagesJob } from 'src/modules/messaging/jobs/blocklist-item-delete-messages.job';
|
||||
import { GmailFullSyncJob } from 'src/modules/messaging/jobs/gmail-full-sync.job';
|
||||
@ -59,6 +60,7 @@ import { TimelineActivityModule } from 'src/modules/timeline/timeline-activity.m
|
||||
import { MessageChannelMessageAssociationObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel-message-association.object-metadata';
|
||||
import { MessageChannelObjectMetadata } from 'src/modules/messaging/standard-objects/message-channel.object-metadata';
|
||||
import { BlocklistItemDeleteCalendarEventsJob } from 'src/modules/calendar/jobs/blocklist-item-delete-calendar-events.job';
|
||||
import { BlocklistReimportCalendarEventsJob } from 'src/modules/calendar/jobs/blocklist-reimport-calendar-events.job';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@ -191,6 +193,14 @@ import { BlocklistItemDeleteCalendarEventsJob } from 'src/modules/calendar/jobs/
|
||||
provide: BlocklistItemDeleteCalendarEventsJob.name,
|
||||
useClass: BlocklistItemDeleteCalendarEventsJob,
|
||||
},
|
||||
{
|
||||
provide: BlocklistReimportMessagesJob.name,
|
||||
useClass: BlocklistReimportMessagesJob,
|
||||
},
|
||||
{
|
||||
provide: BlocklistReimportCalendarEventsJob.name,
|
||||
useClass: BlocklistReimportCalendarEventsJob,
|
||||
},
|
||||
],
|
||||
})
|
||||
export class JobsModule {
|
||||
|
||||
@ -3,6 +3,7 @@ import { FieldMetadataInterface } from './field-metadata.interface';
|
||||
|
||||
export interface ObjectMetadataInterface {
|
||||
id: string;
|
||||
standardId?: string | null;
|
||||
nameSingular: string;
|
||||
namePlural: string;
|
||||
labelSingular: string;
|
||||
|
||||
Reference in New Issue
Block a user