@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
31 lines (30 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.init = init;
const __1 = require("..");
const types_1 = require("../types");
async function init() {
(0, __1.beforeSaveHook)(types_1.Maintenance_Project, async (request) => {
const { object, original, user } = request;
await (0, __1.defaultHandler)(request);
await (0, __1.defaultAclHandler)(request);
const assignedRoles = await object
.relation("assignedRoles")
.query()
.find({ useMasterKey: true });
const assignedUsers = await object
.relation("assignedUsers")
.query()
.find({ useMasterKey: true });
// Ensure that the project's ACL allows assigned users and roles to read the project
const acl = object.getACL();
assignedRoles.forEach((role) => acl?.setRoleReadAccess(role.id, true));
assignedUsers.forEach((user) => acl?.setReadAccess(user.id, true));
object.setACL(acl);
// TODO
});
(0, __1.afterSaveHook)(types_1.Maintenance_Project, async (request) => {
const { object, original, user } = request;
// TODO
});
}