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
JavaScript
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();
});
}
};