diff --git a/api/src/nlp/controllers/nlp-entity.controller.ts b/api/src/nlp/controllers/nlp-entity.controller.ts index 9f1f2c94..d0693c87 100644 --- a/api/src/nlp/controllers/nlp-entity.controller.ts +++ b/api/src/nlp/controllers/nlp-entity.controller.ts @@ -223,20 +223,6 @@ export class NlpEntityController extends BaseController< throw new BadRequestException('No IDs provided for deletion.'); } - const { count: builtinNlpEntitiesCount } = await this.filterCount({ - _id: { $in: ids }, - builtin: true, - }); - - if (builtinNlpEntitiesCount > 0) { - this.logger.warn( - `Unable to delete NLP entities with provided IDs: ${ids}`, - ); - throw new MethodNotAllowedException( - 'Deletion failed: Selection includes built-in NLP entities that are protected', - ); - } - const deleteResult = await this.nlpEntityService.deleteMany({ _id: { $in: ids }, }); diff --git a/api/src/nlp/controllers/nlp-value.controller.spec.ts b/api/src/nlp/controllers/nlp-value.controller.spec.ts index 19e80937..981f61c4 100644 --- a/api/src/nlp/controllers/nlp-value.controller.spec.ts +++ b/api/src/nlp/controllers/nlp-value.controller.spec.ts @@ -163,7 +163,7 @@ describe('NlpValueController', () => { entity: intentNlpEntity!.id, value: 'updated', expressions: [], - builtin: true, + builtin: false, doc: '', }; const result = await nlpValueController.updateOne( @@ -191,7 +191,6 @@ describe('NlpValueController', () => { describe('deleteMany', () => { it('should delete multiple nlp values', async () => { const valuesToDelete = [positiveValue!.id, negativeValue!.id]; - const result = await nlpValueController.deleteMany(valuesToDelete); expect(result.deletedCount).toEqual(valuesToDelete.length); diff --git a/api/src/nlp/services/nlp-entity.service.spec.ts b/api/src/nlp/services/nlp-entity.service.spec.ts index 91858e10..61eac63a 100644 --- a/api/src/nlp/services/nlp-entity.service.spec.ts +++ b/api/src/nlp/services/nlp-entity.service.spec.ts @@ -232,7 +232,7 @@ describe('NlpEntityService', () => { { value: 'jhon', expressions: ['john', 'joohn', 'jhonny'], - builtin: true, + builtin: false, doc: '', }, ], diff --git a/api/src/utils/generics/base-repository.ts b/api/src/utils/generics/base-repository.ts index 16672835..3094d490 100644 --- a/api/src/utils/generics/base-repository.ts +++ b/api/src/utils/generics/base-repository.ts @@ -561,7 +561,7 @@ export abstract class BaseRepository< } async deleteMany(criteria: TFilterQuery): Promise { - return await this.model.deleteMany(criteria); + return await this.model.deleteMany({ ...criteria, builtin: { $ne: true } }); } async preCreateValidate( diff --git a/api/src/utils/test/fixtures/nlpvalue.ts b/api/src/utils/test/fixtures/nlpvalue.ts index d83a582a..92937125 100644 --- a/api/src/utils/test/fixtures/nlpvalue.ts +++ b/api/src/utils/test/fixtures/nlpvalue.ts @@ -18,35 +18,35 @@ export const nlpValueFixtures: NlpValueCreateDto[] = [ entity: '0', value: 'positive', expressions: [], - builtin: true, + builtin: false, doc: '', }, { entity: '0', value: 'negative', expressions: [], - builtin: true, + builtin: false, doc: '', }, { entity: '1', value: 'jhon', expressions: ['john', 'joohn', 'jhonny'], - builtin: true, + builtin: false, doc: '', }, { entity: '0', value: 'greeting', expressions: ['heello', 'Hello', 'hi', 'heyy'], - builtin: true, + builtin: false, doc: '', }, { entity: '0', value: 'goodbye', expressions: ['bye', 'bye bye'], - builtin: true, + builtin: false, doc: '', }, {