@backstage/plugin-permission-common
Version:
Isomorphic types and client for Backstage permissions and authorization
45 lines (42 loc) • 1.46 kB
JavaScript
;
function isPermission(permission, comparedPermission) {
return permission.name === comparedPermission.name;
}
function isResourcePermission(permission, resourceType) {
if (!("resourceType" in permission)) {
return false;
}
return !resourceType || permission.resourceType === resourceType;
}
function isCreatePermission(permission) {
return permission.attributes.action === "create";
}
function isReadPermission(permission) {
return permission.attributes.action === "read";
}
function isUpdatePermission(permission) {
return permission.attributes.action === "update";
}
function isDeletePermission(permission) {
return permission.attributes.action === "delete";
}
function toPermissionEvaluator(permissionAuthorizer) {
return {
authorize: async (requests, options) => {
const response = await permissionAuthorizer.authorize(requests, options);
return response;
},
authorizeConditional(requests, options) {
const parsedRequests = requests;
return permissionAuthorizer.authorize(parsedRequests, options);
}
};
}
exports.isCreatePermission = isCreatePermission;
exports.isDeletePermission = isDeletePermission;
exports.isPermission = isPermission;
exports.isReadPermission = isReadPermission;
exports.isResourcePermission = isResourcePermission;
exports.isUpdatePermission = isUpdatePermission;
exports.toPermissionEvaluator = toPermissionEvaluator;
//# sourceMappingURL=util.cjs.js.map