Centralize all mutations at the model level

This commit uses a new package that I need to document. It tries to
solve the long-standing debate in the Meteor community about
allow/deny rules versus methods (RPC).

This approach gives us both the centralized security rules of
allow/deny and the white-list of allowed mutations similarly to Meteor
methods. The idea to have static mutation descriptions is also
inspired by Facebook's Relay/GraphQL.

This will allow the development of a REST API using the high-level
methods instead of the MongoDB queries to do the mapping between the
HTTP requests and our collections.
This commit is contained in:
Maxime Quandalle 2015-09-08 20:19:42 +02:00
parent c04341f1ea
commit 45b662a1dd
26 changed files with 395 additions and 377 deletions

View file

@ -29,8 +29,8 @@ BlazeComponent.extendComponent({
events() {
return [{
'click .js-restore-card'() {
const cardId = this.currentData()._id;
Cards.update(cardId, {$set: {archived: false}});
const card = this.currentData();
card.restore();
},
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
const cardId = this._id;
@ -38,8 +38,8 @@ BlazeComponent.extendComponent({
Popup.close();
}),
'click .js-restore-list'() {
const listId = this.currentData()._id;
Lists.update(listId, {$set: {archived: false}});
const list = this.currentData();
list.restore();
},
}];
},