get_my/server/main.js

70 lines
2.3 KiB
JavaScript
Raw Normal View History

2022-08-04 19:50:18 -05:00
import { Meteor } from 'meteor/meteor';
import { SysConfig } from '../imports/api/systemConfig';
2024-07-29 16:58:08 -05:00
import { MenuItems } from '../imports/api/menuItems';
import { Products } from '../imports/api/products.js';
2022-08-04 19:50:18 -05:00
Meteor.startup(() => {
// code to run on server at startup
Roles.createRole("user", {unlessExists: true});
2022-08-04 19:50:18 -05:00
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.");
}
2024-07-29 16:58:08 -05:00
// 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);
2024-07-29 16:58:08 -05:00
if (itemInfoNoLink.length > 0) {
// console.log("found items with isLinked not set.");
// console.dir(itemInfoNoLink);
2024-07-29 16:58:08 -05:00
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.");
2024-07-29 16:58:08 -05:00
}
// 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,
}
});
}
}
2022-08-04 19:50:18 -05:00
});