UNPKG

@openinc/parse-server-opendash

Version:
28 lines (27 loc) 1.08 kB
"use strict"; 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 }); }