diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata-related-records.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata-related-records.service.ts index 033f97f8c..4f8f38678 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata-related-records.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/services/field-metadata-related-records.service.ts @@ -73,10 +73,12 @@ export class FieldMetadataRelatedRecordsService { } const valuesToDelete = deleted.map((option) => option.value); - await viewGroupRepository.delete({ - fieldMetadataId: newFieldMetadata.id, - fieldValue: In(valuesToDelete), - }); + if (valuesToDelete.length > 0) { + await viewGroupRepository.delete({ + fieldMetadataId: newFieldMetadata.id, + fieldValue: In(valuesToDelete), + }); + } const maxPosition = this.getMaxPosition(view.viewGroups); const viewGroupsToCreate = created.map((option, index) => @@ -89,7 +91,9 @@ export class FieldMetadataRelatedRecordsService { }), ); - await viewGroupRepository.insert(viewGroupsToCreate); + if (viewGroupsToCreate.length > 0) { + await viewGroupRepository.insert(viewGroupsToCreate); + } for (const { old: oldOption, new: newOption } of updated) { const existingViewGroup = view.viewGroups.find( diff --git a/packages/twenty-server/src/engine/workspace-event-emitter/workspace-event-emitter.ts b/packages/twenty-server/src/engine/workspace-event-emitter/workspace-event-emitter.ts index d0fab6137..3607b1d5d 100644 --- a/packages/twenty-server/src/engine/workspace-event-emitter/workspace-event-emitter.ts +++ b/packages/twenty-server/src/engine/workspace-event-emitter/workspace-event-emitter.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { ObjectLiteral } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type'; @@ -44,7 +45,11 @@ export class WorkspaceEventEmitter { }) { const objectMetadataNameSingular = objectMetadataItem.nameSingular; const fields = Object.values(objectMetadataItem.fieldsById ?? {}); - const entityArray = Array.isArray(entities) ? entities : [entities]; + const entityArray = isDefined(entities) + ? Array.isArray(entities) + ? entities + : [entities] + : []; let events: ( | ObjectRecordCreateEvent | ObjectRecordUpdateEvent