manifest
Version:
The backend for AI code editors
22 lines (21 loc) • 662 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.policies = void 0;
const constants_1 = require("../constants");
exports.policies = {
admin: (user, entity) => user && entity.slug === constants_1.ADMIN_ENTITY_MANIFEST.slug,
public: (_user, _entity) => true,
forbidden: (_user, _entity) => false,
restricted: (user, entity, options) => {
if (!user) {
return false;
}
if (exports.policies.admin(user, entity)) {
return true;
}
if (options.allow) {
return options.allow.includes(entity.className);
}
return true;
}
};