Refactored creature methods to their own folders
This commit is contained in:
29
app/imports/api/creature/creatures/creaturePermissions.js
Normal file
29
app/imports/api/creature/creatures/creaturePermissions.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import Creatures from '/imports/api/creature/creatures/Creatures.js';
|
||||
import {
|
||||
assertEditPermission as editPermission,
|
||||
assertViewPermission as viewPermission,
|
||||
assertOwnership as ownership
|
||||
} from '/imports/api/sharing/sharingPermissions.js';
|
||||
|
||||
function getCreature(creature, fields){
|
||||
if (typeof creature === 'string'){
|
||||
return Creatures.findOne(creature, {fields});
|
||||
} else {
|
||||
return creature;
|
||||
}
|
||||
}
|
||||
|
||||
export function assertOwnership(creature, userId){
|
||||
creature = getCreature(creature, {owner: 1});
|
||||
ownership(creature, userId);
|
||||
}
|
||||
|
||||
export function assertEditPermission(creature, userId) {
|
||||
creature = getCreature(creature, {owner: 1, writers: 1});
|
||||
editPermission(creature, userId);
|
||||
}
|
||||
|
||||
export function assertViewPermission(creature, userId) {
|
||||
creature = getCreature(creature, {owner: 1, readers:1, writers: 1, public: 1});
|
||||
viewPermission(creature, userId);
|
||||
}
|
||||
Reference in New Issue
Block a user