import { Meteor } from 'meteor/meteor'; import { SysConfig } from '../imports/api/systemConfig'; import { MenuItems } from '../imports/api/menuItems'; import { Products } from '../imports/api/products.js'; Meteor.startup(() => { // code to run on server at startup Roles.createRole("user", {unlessExists: true}); Roles.createRole("admin", {unlessExists: true}); Roles.createRole("systemadmin", {unlessExists: true}); // set the systemconfig defaults for registration let regPolicy = SysConfig.findOne({}); if (typeof regPolicy == 'undefined') { return SysConfig.insert({ SysAdminReg: false, dateAdded: new Date(), allowReg: true, }); } else { // console.log("Registration policy already set."); } // check if the isLInked item exists on menuitems, and if not, add it (data cleanup task) let itemInfoNoLink = MenuItems.find({ isLinked: { $exists: false } }).fetch(); // console.log("No Ites with isLinked not set: " + itemInfoNoLink.length); if (itemInfoNoLink.length > 0) { // console.log("found items with isLinked not set."); // console.dir(itemInfoNoLink); let infoLength = itemInfoNoLink.length; for (i=0; i < infoLength; i++) { MenuItems.update({ _id: itemInfoNoLink[i]._id }, { $set: { isLinked: false, } }); } } else { // this will show if all items are found to have isLInked set. console.log("No itesm with isLinked not set."); } // update Products to be able to have multiple stores in the document let prodInfo = Products.find({}).fetch(); let prodCount = prodInfo.length; console.log("Updating Products to allow multiple store assocation for " + prodCount + " products."); for (j = 0; j < prodCount; j++) { if (typeof prodInfo[j].prodStore == 'object') { // console.log(typeof prodInfo[j].prodStore); // console.log("Is Array already"); } else { let prodStoreArray = []; // console.log("---- ---- ----"); // console.log(typeof prodInfo[j].prodStore); // console.log("---- Is Not Array."); let prodStore = prodInfo[j].prodStore; prodStoreArray.push(prodStore); // console.dir(prodStoreArray); Products.update({ _id: prodInfo[j]._id }, { $set: { prodStore: prodStoreArray, } }); } } });