UNPKG

alphascript-server

Version:

CRUD operations for mongo and other functionalities to get started quickly in any CMS project

47 lines (39 loc) 1.2 kB
var api = require('../../../../'); module.exports = { collection: function () { return api.common.Role; }, populate: "", select: function (req, id) { if (!id) return "name approvalLevel admin"; return "-__v -created_at -updated_at"; }, sort: { "approvalLevel": 1 }, query: function (req, id) { if (req.user.role.admin) return {}; return { approvalLevel: { $lte: req.user.role.approvalLevel } }; }, beforeAdd: function (data, callback, req) { callback(undefined, data); }, afterAdd: function (data, callback, req) { callback(undefined, data); }, beforeEdit: function (data, callback, req) { //data.markModified('permissions'); callback(undefined, data); }, afterEdit: function (data, callback, req) { callback(undefined, data); }, remove: function (id, callback, req) { api.common.User.findOne({ role: id }).select("username").lean().exec(function (err, data) { if (err) { api.error.log(err); return callback(api.error.DB_GENERIC); } if (!!data) return callback('Não é possível remover este perfil por estar em uso no utilizador ' + data.username); callback(); }); } };