47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
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);
|
|
});
|
|
})
|
|
} |