@backstage/plugin-permission-common
Version:
Isomorphic types and client for Backstage permissions and authorization
37 lines (35 loc) • 1.26 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);
}
};
}
export { isCreatePermission, isDeletePermission, isPermission, isReadPermission, isResourcePermission, isUpdatePermission, toPermissionEvaluator };
//# sourceMappingURL=util.esm.js.map