UNPKG

@keycloakify/keycloak-admin-ui

Version:
43 lines 1.89 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { AlertVariant } from "@patternfly/react-core"; import { FormProvider, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router-dom"; import { useAdminClient } from "../admin-client"; import { useAlerts } from "../ui-shared"; import { RoleForm } from "../components/role-form/RoleForm"; import { useRealm } from "../context/realm-context/RealmContext"; import { toRealmRole } from "../realm-roles/routes/RealmRole"; import { toRealmRoles } from "../realm-roles/routes/RealmRoles"; export default function CreateRealmRole() { const { adminClient } = useAdminClient(); const { t } = useTranslation(); const form = useForm({ mode: "onChange" }); const navigate = useNavigate(); const { realm } = useRealm(); const { addAlert, addError } = useAlerts(); const onSubmit = async (formValues) => { var _a; const role = { ...formValues, name: (_a = formValues.name) === null || _a === void 0 ? void 0 : _a.trim(), attributes: {}, }; try { await adminClient.roles.create(role); const createdRole = await adminClient.roles.findOneByName({ name: formValues.name, }); if (!createdRole) { throw new Error(t("notFound")); } addAlert(t("roleCreated"), AlertVariant.success); navigate(toRealmRole({ realm, id: createdRole.id, tab: "details" })); } catch (error) { addError("roleCreateError", error); } }; return (_jsx(FormProvider, { ...form, children: _jsx(RoleForm, { form: form, onSubmit: onSubmit, cancelLink: toRealmRoles({ realm }), role: "manage-realm", editMode: false }) })); } //# sourceMappingURL=CreateRealmRole.js.map