From e8d024e32637baf5e3d6c60516513e12ef239e4b Mon Sep 17 00:00:00 2001 From: jrmyb <9062561+jrmyb@users.noreply.github.com> Date: Wed, 30 Aug 2023 09:32:13 +0200 Subject: [PATCH] [Core] Indexation task only on request or library save (#308) --- .../indexationManager/indexationManagerDomain.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/core/src/domain/indexationManager/indexationManagerDomain.ts b/apps/core/src/domain/indexationManager/indexationManagerDomain.ts index 0d3284998..29a987d37 100644 --- a/apps/core/src/domain/indexationManager/indexationManagerDomain.ts +++ b/apps/core/src/domain/indexationManager/indexationManagerDomain.ts @@ -25,6 +25,7 @@ interface IIndexDatabaseParams { findRecordParams: IFindRecordParams | IFindRecordParams[]; attributes?: {up?: string[]; del?: string[]}; ctx: IQueryInfos; + forceNoTask?: boolean; } export interface IIndexationManagerDomain { @@ -212,7 +213,8 @@ export default function ({ await _indexDatabase({ findRecordParams: {library: l.id, filters}, ctx, - attributes: {up: intersections.map(a => a.id)} + attributes: {up: intersections.map(a => a.id)}, + forceNoTask: true }); } } @@ -244,7 +246,8 @@ export default function ({ library: data.libraryId, filters: [{field: 'id', condition: AttributeCondition.EQUAL, value: data.id}] }, - ctx + ctx, + forceNoTask: true }); break; @@ -285,7 +288,8 @@ export default function ({ filters: [{field: 'id', condition: AttributeCondition.EQUAL, value: data.recordId}] }, ctx, - attributes: isActivated || !isAttrToIndex ? null : {up: [data.attributeId]} + attributes: isActivated || !isAttrToIndex ? null : {up: [data.attributeId]}, + forceNoTask: true }); } @@ -309,7 +313,8 @@ export default function ({ filters: [{field: 'id', condition: AttributeCondition.EQUAL, value: data.recordId}] }, ctx, - attributes: attrProps.multiple_values ? {up: [data.attributeId]} : {del: [data.attributeId]} + attributes: attrProps.multiple_values ? {up: [data.attributeId]} : {del: [data.attributeId]}, + forceNoTask: true }); // if the updated/deleted attribute is the label of the library @@ -350,7 +355,7 @@ export default function ({ const _indexDatabase = async (params: IIndexDatabaseParams, task?: ITaskFuncParams): Promise => { const findRecordParams = [].concat(params.findRecordParams || []); - if (typeof task?.id === 'undefined') { + if (!params.forceNoTask && typeof task?.id === 'undefined') { const newTaskId = uuidv4(); await tasksManagerDomain.createTask(