@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
43 lines • 1.89 kB
JavaScript
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