UNPKG

@fdm-monster/server

Version:

FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.

60 lines (59 loc) 2.12 kB
"use strict"; module.exports = { async up (db, client) { const session = client.startSession(); try { await session.withTransaction(async ()=>{ const collections = await client.db().listCollections().toArray(); if (collections.find((c)=>c.name === "printerfloors")) { await db.collection("printerfloors").update({}, { $unset: { printerGroups: 1 } }, { multi: true }); await db.collection("printerfloors").update({}, { $set: { printers: [] } }, { multi: true }); await db.collection("printerfloors").rename("floors"); } }); } finally{ await session.endSession(); } }, async down (db, client) { const session = client.startSession(); try { const collections = await client.db().listCollections().toArray(); if (collections.find((c)=>c.name === "floors")) { await db.collection("printerfloors").update({}, { $set: { printerGroups: [] } }, { multi: true }); await db.collection("printerfloors").update({}, { $unset: { printers: 1 } }, { multi: true }); await db.collection("floors").rename("printerfloors"); } if (!collections.find((c)=>c.name === "printerfloors")) { throw new Error("Illegal migration state, didnt find floors table"); } } finally{ await session.endSession(); } } }; //# sourceMappingURL=20230414141005-floor-remove-groupinfloor.js.map