@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
28 lines (27 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.init = init;
const __1 = require("..");
const types_1 = require("../types");
const masterKeyPermission = [
"opendash:can-admin-tenants",
"opendash:tenant:change-tag-prefix",
"opendash:source:write-tag-ignore-tenant-prefix",
"opendash:source:write-tag-group",
];
async function init() {
(0, __1.beforeSaveHook)(types_1.Permission, async (request) => {
const { object, original, user } = request;
if (masterKeyPermission.includes(object.get("key")) && !request.master) {
throw new Parse.Error(Parse.Error.OPERATION_FORBIDDEN, `User is not allowed to create or update permission with key '${object.get("key")}' without master key`);
}
await (0, __1.defaultHandler)(request);
await (0, __1.defaultAclHandler)(request, {
allowCustomACL: true,
denyTenantUserRead: true,
});
});
(0, __1.afterSaveHook)(types_1.Permission, async ({ object, original, user }) => {
// TODO
});
}