import { Meteor } from 'meteor/meteor'; import { Mongo } from 'meteor/mongo'; import { check } from 'meteor/check'; export const Products = new Mongo.Collection('products'); Products.allow({ insert: function(userId, doc){ // if use id exists, allow insert return !!userId; }, }); Meteor.methods({ 'add.product' (prodName, prodCategory, prodStore, prodLocation) { check(prodName, String); check(prodCategory, String); check(prodStore, String); check(prodLocation, String); if (!this.userId) { throw new Meteor.Error('You are not allowed to add products. Make sure you are logged in with valid user credentials.'); } return Products.insert({ prodName: prodName, prodOwner: this.userId, prodCategory: prodCategory, prodStore: prodStore, prodLocation: prodLocation, }); }, 'edit.product' (prodId, prodName, prodCategory, prodStore, prodLocation) { check(prodId, String); check(prodName, String); check(prodCategory, String); check(prodStore, String); check(prodLocation, String); if (!this.userId) { throw new Meteor.Error('You are not allowed to edit products. Make sure you are logged in with valid user credentials.'); } return Products.update({ _id: prodId }, { $set: { prodName: prodName, prodCategory: prodCategory, prodStore: prodStore, prodLocation: prodLocation, } }); }, 'delete.product' (prodId) { check(prodId, String); if (!this.userId) { throw new Meteor.Error('You are not allowed to delete products. Make sure you are logged in with valid user credentials.'); } return Products.remove({ _id: prodId }); } });