UNPKG

@backstage/plugin-permission-common

Version:

Isomorphic types and client for Backstage permissions and authorization

45 lines (42 loc) 1.46 kB
'use strict'; 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