summaryrefslogtreecommitdiffstats
path: root/models/rules.js
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-09-16 03:33:45 +0300
committerLauri Ojansivu <x@xet7.org>2018-09-16 03:33:45 +0300
commitb23cbbf9259ac535129cbf431cefe18fa774dd7f (patch)
tree9e4cccadff9a228f6525fd5722da3a3f290d1ff7 /models/rules.js
parent053757f135b54241b4899a83cd3bb749b1e81bc9 (diff)
parent4f299b72f731ffb836871cd19361a6359e3bdfed (diff)
downloadwekan-b23cbbf9259ac535129cbf431cefe18fa774dd7f.tar.gz
wekan-b23cbbf9259ac535129cbf431cefe18fa774dd7f.tar.bz2
wekan-b23cbbf9259ac535129cbf431cefe18fa774dd7f.zip
Merge branch 'Angtrim-feature-rules' into devel
Diffstat (limited to 'models/rules.js')
-rw-r--r--models/rules.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/models/rules.js b/models/rules.js
new file mode 100644
index 00000000..7d971980
--- /dev/null
+++ b/models/rules.js
@@ -0,0 +1,48 @@
+Rules = new Mongo.Collection('rules');
+
+Rules.attachSchema(new SimpleSchema({
+ title: {
+ type: String,
+ optional: false,
+ },
+ triggerId: {
+ type: String,
+ optional: false,
+ },
+ actionId: {
+ type: String,
+ optional: false,
+ },
+ boardId: {
+ type: String,
+ optional: false,
+ },
+}));
+
+Rules.mutations({
+ rename(description) {
+ return { $set: { description } };
+ },
+});
+
+Rules.helpers({
+ getAction(){
+ return Actions.findOne({_id:this.actionId});
+ },
+ getTrigger(){
+ return Triggers.findOne({_id:this.triggerId});
+ },
+});
+
+
+Rules.allow({
+ insert(userId, doc) {
+ return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
+ },
+ update(userId, doc) {
+ return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
+ },
+ remove(userId, doc) {
+ return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
+ },
+});