From 480922bf0799f2bdccfe12f0da0a672ae3ac1a46 Mon Sep 17 00:00:00 2001 From: Cathia Archidoit Date: Mon, 17 Jun 2024 14:56:06 +0200 Subject: [PATCH] [backend] fix max shareable markings migrations (#7392) --- ...-add-platform-data-sharing-max-markings.js | 24 +++++++++----- ...0854132-max-shareable-marking-in-groups.js | 9 +++-- ...4-remove-platform-data-sharing-markings.js | 33 +++++++++++++++++++ 3 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 opencti-platform/opencti-graphql/src/migrations/1718631740774-remove-platform-data-sharing-markings.js diff --git a/opencti-platform/opencti-graphql/src/migrations/1713449762001-add-platform-data-sharing-max-markings.js b/opencti-platform/opencti-graphql/src/migrations/1713449762001-add-platform-data-sharing-max-markings.js index 31dfe747b101..8820ea922601 100644 --- a/opencti-platform/opencti-graphql/src/migrations/1713449762001-add-platform-data-sharing-max-markings.js +++ b/opencti-platform/opencti-graphql/src/migrations/1713449762001-add-platform-data-sharing-max-markings.js @@ -1,15 +1,21 @@ -import { executionContext, SYSTEM_USER } from '../utils/access'; -import { getSettings, settingsEditField } from '../domain/settings'; -import { logApp } from '../config/conf'; +// import { executionContext, SYSTEM_USER } from '../utils/access'; +// import { getSettings, settingsEditField } from '../domain/settings'; +// import { logApp } from '../config/conf'; export const up = async (next) => { - logApp.info('[MIGRATION] Add platform data sharing max markings'); - const context = executionContext('migration'); + // ----- Explanations ---------- + // This migration has been removed + // because platform_data_sharing_max_markings does not exist anymore since version 6.1.11 + // ----------------------------- + + // -------- Old code ----------- + // logApp.info('[MIGRATION] Add platform data sharing max markings'); + // const context = executionContext('migration'); // ------ Add platform_data_sharing_max_markings - const settings = await getSettings(context); - const patch = [{ key: 'platform_data_sharing_max_markings', value: [] }]; - await settingsEditField(context, SYSTEM_USER, settings.id, patch); - logApp.info('[MIGRATION] Add platform data sharing max markings done.'); + // const settings = await getSettings(context); + // const patch = [{ key: 'platform_data_sharing_max_markings', value: [] }]; + // await settingsEditField(context, SYSTEM_USER, settings.id, patch); + // logApp.info('[MIGRATION] Add platform data sharing max markings done.'); next(); }; diff --git a/opencti-platform/opencti-graphql/src/migrations/1717060854132-max-shareable-marking-in-groups.js b/opencti-platform/opencti-graphql/src/migrations/1717060854132-max-shareable-marking-in-groups.js index 1b0c7ea9fb9b..f9deb896b49c 100644 --- a/opencti-platform/opencti-graphql/src/migrations/1717060854132-max-shareable-marking-in-groups.js +++ b/opencti-platform/opencti-graphql/src/migrations/1717060854132-max-shareable-marking-in-groups.js @@ -48,11 +48,11 @@ export const up = async (next) => { await Promise.all(groupMaxMarkingRelationCreationsPromises); - // remove platform_data_sharing_max_markings from settings + // set platform_data_sharing_max_markings to null in settings const updateQuery = { script: { - params: { null: null }, - source: 'ctx._source.platform_data_sharing_max_markings = params.null', + params: { fieldToRemove: 'platform_data_sharing_max_markings' }, + source: 'ctx._source.remove(params.fieldToRemove)', }, query: { bool: { @@ -64,11 +64,10 @@ export const up = async (next) => { }; await elUpdateByQueryForMigration( message, - [READ_INDEX_INTERNAL_OBJECTS], + READ_INDEX_INTERNAL_OBJECTS, updateQuery ); - // do your migration logApp.info(`${message} > done`); next(); }; diff --git a/opencti-platform/opencti-graphql/src/migrations/1718631740774-remove-platform-data-sharing-markings.js b/opencti-platform/opencti-graphql/src/migrations/1718631740774-remove-platform-data-sharing-markings.js new file mode 100644 index 000000000000..6cd75b6c55ba --- /dev/null +++ b/opencti-platform/opencti-graphql/src/migrations/1718631740774-remove-platform-data-sharing-markings.js @@ -0,0 +1,33 @@ +import { logApp } from '../config/conf'; +import { elUpdateByQueryForMigration } from '../database/engine'; +import { READ_INDEX_INTERNAL_OBJECTS } from '../database/utils'; + +const message = '[MIGRATION] Remove platform_max_shareable_markings field from Settings'; + +export const up = async (next) => { + logApp.info(`${message} > started`); + const updateQuery = { + script: { + params: { fieldToRemove: 'platform_data_sharing_max_markings' }, + source: 'ctx._source.remove(params.fieldToRemove)', + }, + query: { + bool: { + must: [ + { term: { 'entity_type.keyword': { value: 'Settings' } } }, + ], + }, + }, + }; + await elUpdateByQueryForMigration( + message, + READ_INDEX_INTERNAL_OBJECTS, + updateQuery + ); + logApp.info(`${message} > done`); + next(); +}; + +export const down = async (next) => { + next(); +};