Files
DiceCloud/app/lib/functions/permissions.js
2019-02-05 15:14:11 -08:00

27 lines
839 B
JavaScript

isOwner = function(charId, userId) {
userId = userId || Meteor.userId();
var char = Characters.findOne(charId, {fields: {owner: 1}});
if (!char) return true;
return (userId === char.owner);
};
canEditCharacter = function(charId, userId){
userId = userId || Meteor.userId();
var char = Characters.findOne(charId, {fields: {owner: 1, writers: 1}});
if (!char) return true;
return (userId === char.owner || _.contains(char.writers, userId));
};
canViewCharacter = function(charId, userId){
userId = userId || Meteor.userId();
var char = Characters.findOne(
charId,
{fields: {owner: 1, writers: 1, readers: 1, "settings.viewPermission": 1}}
);
if (!char) return true;
return userId === char.owner ||
char.settings.viewPermission === "public" ||
_.contains(char.writers, userId) ||
_.contains(char.readers, userId);
};