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