From d0bfb361fa017b12a5f2b61c2f59f3a0a3e257d3 Mon Sep 17 00:00:00 2001 From: Augustin Leconte <ext.sopra.aleconte@grandlyon.com> Date: Wed, 22 Dec 2021 14:24:02 +0100 Subject: [PATCH] fix: add migration france-service --- .../scripts/1640169291421-france-service.ts | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/migrations/scripts/1640169291421-france-service.ts diff --git a/src/migrations/scripts/1640169291421-france-service.ts b/src/migrations/scripts/1640169291421-france-service.ts new file mode 100644 index 000000000..09e474dfd --- /dev/null +++ b/src/migrations/scripts/1640169291421-france-service.ts @@ -0,0 +1,48 @@ +import { Db } from 'mongodb'; +import { getDb } from '../migrations-utils/db'; + +export const up = async () => { + const db: Db = await getDb(); + + const cursor = db.collection('categoriesothers').find({}); + let document; + while ((document = await cursor.next())) { + if (document.id == 'labelsQualifications') { + const newDoc = updateText(document); + await db.collection('categoriesothers').updateOne({ _id: document._id }, [{ $set: newDoc }]); + } + } + console.log(`Update done`); +}; + +export const down = async () => { + const db: Db = await getDb(); + + const cursor = db.collection('categoriesothers').find({}); + let document; + while ((document = await cursor.next())) { + if (document.id == 'labelsQualifications') { + const newDoc = downgradeText(document); + await db.collection('categoriesothers').updateOne({ _id: document._id }, [{ $set: newDoc }]); + } + } + console.log(`Update done`); +}; + +function updateText(doc) { + doc.modules = doc.modules.filter((elem) => elem.id !== 'maisonFranceService'); + doc.modules.push({ + id: 'maisonFranceService', + text: 'Maison France services', + }); + return doc; +} + +function downgradeText(doc) { + doc.modules = doc.modules.filter((elem) => elem.id !== 'maisonFranceService'); + doc.modules.push({ + id: 'maisonFranceService', + text: 'Maison France Service', + }); + return doc; +} -- GitLab