import {Mongo} from 'meteor/mongo'; import Measures from "./Measure.js"; import Venues from "./Venue.js"; import Products from "./Product.js"; import ProductTags from "./ProductTag.js"; import Sales from "./Sale.js"; import SalesSheets from "./SalesSheet.js"; import Logs from "./Logs.js"; import Users from "./User.js"; import UserRoles from "./Roles.js"; import Workers from "./Worker.js"; import Barcodes from "./Barcode.js"; import Batches from "./Batch.js"; import './Reports.js'; import './Label.js'; //Save the collections in the Meteor.collections property for easy access without name conflicts. Meteor.collections = {Measures, Venues, Products, ProductTags, Sales, SalesSheets, Logs, Users, UserRoles, Workers, Barcodes, Batches}; //If this is the server then setup the default admin user if none exist. if(Meteor.isServer) { //Change this to find admin users, create a default admin user if none exists. Users.countDocuments({}).then((userCount) => { if(userCount === 0) { try { console.log("Creating a default admin user: admin/admin"); let id = Accounts.createUser({password: 'admin', username: 'admin'}); //Requires the alanning:roles package. Roles.addUsersToRoles(id, [Meteor.UserRoles.ROLE_MANAGE, Meteor.UserRoles.ROLE_UPDATE]); } catch(err) { console.log(err); } } Meteor.validators = {}; Meteor.validators.ObjectID = Match.Where(function(id) { if(id instanceof Mongo.ObjectID) { id = id._str; } check(id, String); return /[0-9a-fA-F]{24}/.test(id); }); }) }