@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
29 lines (28 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.init = init;
const __1 = require("..");
async function init() {
(0, __1.beforeSaveHook)("_Role", async (request) => {
const role = request.object;
let tenantId = null;
if (request.user && request.user.get("tenant")) {
tenantId = request.user.get("tenant").id;
}
if (!role.get("name") && role.isNew()) {
role.set("name", crypto.randomUUID());
}
//Set ACL to od-tenant-admin-{id_of_tenant}
if (role.isNew()) {
role.setACL(new Parse.ACL({
...(tenantId && {
[`role:od-tenant-user-${tenantId}`]: { read: true },
[`role:od-tenant-admin-${tenantId}`]: { read: true, write: true },
}),
public: { read: false, write: false },
"role:od-admin": { read: true, write: true },
}));
}
});
// afterSaveHook("_Role", async (request) => {});
}