Aggregate queries and field metadata deletion (#9660)

This commit is contained in:
Marie
2025-01-16 14:46:56 +01:00
committed by GitHub
parent 560f715c37
commit 5982a5a8ba
7 changed files with 184 additions and 6 deletions

View File

@ -3,6 +3,7 @@ import { Injectable, Logger } from '@nestjs/common';
import { isDefined } from 'class-validator';
import isEmpty from 'lodash.isempty';
import { AGGREGATE_OPERATIONS } from 'src/engine/api/graphql/graphql-query-runner/constants/aggregate-operations.constant';
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
@Injectable()
@ -120,4 +121,26 @@ export class ViewService {
})
.then((views) => views.map((view) => view.id));
}
async resetKanbanAggregateOperationByFieldMetadataId({
workspaceId,
fieldMetadataId,
}: {
workspaceId: string;
fieldMetadataId: string;
}) {
const viewRepository =
await this.twentyORMGlobalManager.getRepositoryForWorkspace(
workspaceId,
'view',
);
await viewRepository.update(
{ kanbanAggregateOperationFieldMetadataId: fieldMetadataId },
{
kanbanAggregateOperationFieldMetadataId: null,
kanbanAggregateOperation: AGGREGATE_OPERATIONS.count,
},
);
}
}