From d9dc2bf96b370008fd7523d3594f3dfd4d61f082 Mon Sep 17 00:00:00 2001 From: Murod Khaydarov Date: Fri, 18 Jan 2019 09:26:18 +0300 Subject: [PATCH] add migration --- src/utils/database/pagesOrder.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/utils/database/pagesOrder.js b/src/utils/database/pagesOrder.js index 843cd1f..2c7324f 100644 --- a/src/utils/database/pagesOrder.js +++ b/src/utils/database/pagesOrder.js @@ -4,14 +4,31 @@ const config = require('../../../config'); const db = new Datastore({filename: `./${config.database}/pagesOrder.db`, autoload: true}); /** + * Current DataStore preparation * Add initial row for RootPage */ (async function() { - const initialData = { - page: '0', - order: [] + const parentIdOfRootPages = '0'; + const cbk = (resolve, reject) => (err, doc) => { + if (err) { + reject(err); + } + + resolve(doc); }; - await db.insert(initialData); + + const order = await new Promise((resolve, reject) => { + db.findOne({page: parentIdOfRootPages}, cbk(resolve, reject)); + }); + + if (!order) { + const initialData = { + page: '0', + order: [] + }; + await db.insert(initialData); + } + }()); module.exports = db;