Fix event emitter and viewGroup (#13340)

Emit an even with an [undefined] entity
This commit is contained in:
Paul Rastoin
2025-07-22 13:52:11 +02:00
committed by GitHub
parent 0b5bdf1c93
commit 9d61337396
2 changed files with 15 additions and 6 deletions

View File

@ -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(

View File

@ -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<T>
| ObjectRecordUpdateEvent<T>