Fix event emitter and viewGroup (#13340)
Emit an even with an [undefined] entity
This commit is contained in:
@ -73,10 +73,12 @@ export class FieldMetadataRelatedRecordsService {
|
|||||||
}
|
}
|
||||||
const valuesToDelete = deleted.map((option) => option.value);
|
const valuesToDelete = deleted.map((option) => option.value);
|
||||||
|
|
||||||
await viewGroupRepository.delete({
|
if (valuesToDelete.length > 0) {
|
||||||
fieldMetadataId: newFieldMetadata.id,
|
await viewGroupRepository.delete({
|
||||||
fieldValue: In(valuesToDelete),
|
fieldMetadataId: newFieldMetadata.id,
|
||||||
});
|
fieldValue: In(valuesToDelete),
|
||||||
|
});
|
||||||
|
}
|
||||||
const maxPosition = this.getMaxPosition(view.viewGroups);
|
const maxPosition = this.getMaxPosition(view.viewGroups);
|
||||||
|
|
||||||
const viewGroupsToCreate = created.map((option, index) =>
|
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) {
|
for (const { old: oldOption, new: newOption } of updated) {
|
||||||
const existingViewGroup = view.viewGroups.find(
|
const existingViewGroup = view.viewGroups.find(
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common';
|
|||||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||||
|
|
||||||
import { ObjectLiteral } from 'typeorm';
|
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 { 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';
|
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||||
@ -44,7 +45,11 @@ export class WorkspaceEventEmitter {
|
|||||||
}) {
|
}) {
|
||||||
const objectMetadataNameSingular = objectMetadataItem.nameSingular;
|
const objectMetadataNameSingular = objectMetadataItem.nameSingular;
|
||||||
const fields = Object.values(objectMetadataItem.fieldsById ?? {});
|
const fields = Object.values(objectMetadataItem.fieldsById ?? {});
|
||||||
const entityArray = Array.isArray(entities) ? entities : [entities];
|
const entityArray = isDefined(entities)
|
||||||
|
? Array.isArray(entities)
|
||||||
|
? entities
|
||||||
|
: [entities]
|
||||||
|
: [];
|
||||||
let events: (
|
let events: (
|
||||||
| ObjectRecordCreateEvent<T>
|
| ObjectRecordCreateEvent<T>
|
||||||
| ObjectRecordUpdateEvent<T>
|
| ObjectRecordUpdateEvent<T>
|
||||||
|
|||||||
Reference in New Issue
Block a user