Add Feature: enable two-way webhooks - stage one

This commit is contained in:
Sam X. Chen 2019-08-17 19:17:57 -04:00
parent f3147af2f7
commit 3f0600fed7
9 changed files with 115 additions and 49 deletions

View file

@ -88,16 +88,26 @@ Integrations.attachSchema(
},
}),
);
Integrations.Const = {
GLOBAL_WEBHOOK_ID: '_global',
WEBHOOK_TYPES: ['outgoing-webhooks', 'bidirectional-webhooks'],
};
const permissionHelper = {
allow(userId, doc) {
const user = Users.findOne(userId);
const isAdmin = user && Meteor.user().isAdmin;
return isAdmin || allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
},
};
Integrations.allow({
insert(userId, doc) {
return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
return permissionHelper.allow(userId, doc);
},
update(userId, doc) {
return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
return permissionHelper.allow(userId, doc);
},
remove(userId, doc) {
return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId));
return permissionHelper.allow(userId, doc);
},
fetch: ['boardId'],
});