payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
28 lines (27 loc) • 2.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _errors = require("../errors");
const executeAccess = async (operation, access)=>{
if (access) {
const result = await access(operation);
if (!result) {
if (!operation.disableErrors) throw new _errors.Forbidden(operation.req.t);
}
return result;
}
if (operation.req.user) {
return true;
}
if (!operation.disableErrors) throw new _errors.Forbidden(operation.req.t);
return false;
};
const _default = executeAccess;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2V4ZWN1dGVBY2Nlc3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY2Nlc3MsIEFjY2Vzc1Jlc3VsdCB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgRm9yYmlkZGVuIH0gZnJvbSAnLi4vZXJyb3JzJ1xuXG5jb25zdCBleGVjdXRlQWNjZXNzID0gYXN5bmMgKG9wZXJhdGlvbiwgYWNjZXNzOiBBY2Nlc3MpOiBQcm9taXNlPEFjY2Vzc1Jlc3VsdD4gPT4ge1xuICBpZiAoYWNjZXNzKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWNjZXNzKG9wZXJhdGlvbilcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICBpZiAoIW9wZXJhdGlvbi5kaXNhYmxlRXJyb3JzKSB0aHJvdyBuZXcgRm9yYmlkZGVuKG9wZXJhdGlvbi5yZXEudClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpZiAob3BlcmF0aW9uLnJlcS51c2VyKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmICghb3BlcmF0aW9uLmRpc2FibGVFcnJvcnMpIHRocm93IG5ldyBGb3JiaWRkZW4ob3BlcmF0aW9uLnJlcS50KVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGRlZmF1bHQgZXhlY3V0ZUFjY2Vzc1xuIl0sIm5hbWVzIjpbImV4ZWN1dGVBY2Nlc3MiLCJvcGVyYXRpb24iLCJhY2Nlc3MiLCJyZXN1bHQiLCJkaXNhYmxlRXJyb3JzIiwiRm9yYmlkZGVuIiwicmVxIiwidCIsInVzZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUJBOzs7ZUFBQTs7O3dCQXJCMEI7QUFFMUIsTUFBTUEsZ0JBQWdCLE9BQU9DLFdBQVdDO0lBQ3RDLElBQUlBLFFBQVE7UUFDVixNQUFNQyxTQUFTLE1BQU1ELE9BQU9EO1FBRTVCLElBQUksQ0FBQ0UsUUFBUTtZQUNYLElBQUksQ0FBQ0YsVUFBVUcsYUFBYSxFQUFFLE1BQU0sSUFBSUMsaUJBQVMsQ0FBQ0osVUFBVUssR0FBRyxDQUFDQyxDQUFDO1FBQ25FO1FBRUEsT0FBT0o7SUFDVDtJQUVBLElBQUlGLFVBQVVLLEdBQUcsQ0FBQ0UsSUFBSSxFQUFFO1FBQ3RCLE9BQU87SUFDVDtJQUVBLElBQUksQ0FBQ1AsVUFBVUcsYUFBYSxFQUFFLE1BQU0sSUFBSUMsaUJBQVMsQ0FBQ0osVUFBVUssR0FBRyxDQUFDQyxDQUFDO0lBQ2pFLE9BQU87QUFDVDtNQUVBLFdBQWVQIn0=