UNPKG

nwjs-bootstrap2

Version:

Minimalistic NW.js app bootstrap 2

55 lines (50 loc) 1.22 kB
import DB from "services/db"; import fs from "fs-extra"; const AppState = DB.getCollection("AppState"); /** * Check if application is initialized * @returns {Promise.<boolean>} */ async function isInitialized() { const AppCurrentState = await AppState.findOne({}); return AppCurrentState !== undefined && AppCurrentState.isInitialized === true; } /** * Set application as initialized * @returns {Promise.<object>} */ async function setInitialized() { return AppState.update({}, { $set: { isInitialized: true } }, { upsert: true }); } /** * Create required application folders * @returns {Promise.<void>} */ async function createFolders() { const dataPath = nw.App.getDataPath(); const initFolders = [ "data", "images", ]; await Promise.all(initFolders.map(function(folder) { return fs.ensureDir(dataPath + "/" + folder); })); } export default { /** * Init application * @returns {Promise.<void>} */ init: async function() { if (await isInitialized() === true) { return; } await createFolders(); await setInitialized(); } }