UNPKG

@keycloakify/keycloak-admin-ui

Version:
40 lines 2.05 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useFetch } from "../../ui-shared"; import { DescriptionList } from "@patternfly/react-core"; import { useState } from "react"; import { useAdminClient } from "../../admin-client"; import { KeycloakSpinner } from "../../ui-shared"; import { useRealm } from "../../context/realm-context/RealmContext"; import { toPermissionDetails } from "../../clients/routes/PermissionDetails"; import { toScopeDetails } from "../../clients/routes/Scope"; import { DetailDescription, DetailDescriptionLink } from "../../clients/authorization/DetailDescription"; import "./detail-cell.css"; export const DetailCell = ({ id, clientId, uris }) => { const { adminClient } = useAdminClient(); const { realm } = useRealm(); const [scope, setScope] = useState(); const [permissions, setPermissions] = useState(); useFetch(() => Promise.all([ adminClient.clients.listScopesByResource({ id: clientId, resourceName: id, }), adminClient.clients.listPermissionsByResource({ id: clientId, resourceId: id, }), ]), ([scopes, permissions]) => { setScope(scopes); setPermissions(permissions); }, []); if (!permissions || !scope) { return _jsx(KeycloakSpinner, {}); } return (_jsxs(DescriptionList, { isHorizontal: true, className: "keycloak_resource_details", children: [_jsx(DetailDescription, { name: "uris", array: uris }), _jsx(DetailDescriptionLink, { name: "scopes", array: scope, convert: (s) => s.name, link: (scope) => toScopeDetails({ id: clientId, realm, scopeId: scope.id }) }), _jsx(DetailDescriptionLink, { name: "associatedPermissions", array: permissions, convert: (p) => p.name, link: (permission) => toPermissionDetails({ id: clientId, realm, permissionId: permission.id, permissionType: "resource", }) })] })); }; //# sourceMappingURL=DetailCell.js.map