Use new routing conventions for realm settings (#904)

This commit is contained in:
Jon Koops 2021-07-23 18:29:10 +02:00 committed by GitHub
parent 88ae607148
commit 620ac8b024
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 192 additions and 52 deletions

View file

@ -0,0 +1,20 @@
import type { RouteDef } from "../route-config";
import { AesGeneratedSettingsRoute } from "./routes/AesGeneratedSettings";
import { EcdsaGeneratedSettingsRoute } from "./routes/EcdsaGeneratedSettings";
import { HmacGeneratedSettingsRoute } from "./routes/HmacGeneratedSettings";
import { JavaKeystoreSettingsRoute } from "./routes/JavaKeystoreSettings";
import { RealmSettingsRoute } from "./routes/RealmSettings";
import { RsaGeneratedSettingsRoute } from "./routes/RsaGeneratedSettings";
import { RsaSettingsRoute } from "./routes/RsaSettings";
const routes: RouteDef[] = [
RealmSettingsRoute,
AesGeneratedSettingsRoute,
EcdsaGeneratedSettingsRoute,
HmacGeneratedSettingsRoute,
JavaKeystoreSettingsRoute,
RsaGeneratedSettingsRoute,
RsaSettingsRoute,
];
export default routes;

View file

@ -0,0 +1,23 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { AESGeneratedSettings } from "../key-providers/aes-generated/AESGeneratedForm";
import { EditProviderCrumb } from "../RealmSettingsSection";
export type AesGeneratedSettingsParams = {
realm: string;
id: string;
};
export const AesGeneratedSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/keys/:id/aes-generated/settings",
component: AESGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
};
export const toAesGeneratedSettings = (
params: AesGeneratedSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(AesGeneratedSettingsRoute.path, params),
});

View file

@ -0,0 +1,23 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { ECDSAGeneratedSettings } from "../key-providers/ecdsa-generated/ECDSAGeneratedForm";
import { EditProviderCrumb } from "../RealmSettingsSection";
export type EcdsaGeneratedSettingsParams = {
realm: string;
id: string;
};
export const EcdsaGeneratedSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/keys/:id/ecdsa-generated/settings",
component: ECDSAGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
};
export const toEcdsaGeneratedSettings = (
params: EcdsaGeneratedSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(EcdsaGeneratedSettingsRoute.path, params),
});

View file

@ -0,0 +1,23 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { HMACGeneratedSettings } from "../key-providers/hmac-generated/HMACGeneratedForm";
import { EditProviderCrumb } from "../RealmSettingsSection";
export type HmacGeneratedSettingsParams = {
realm: string;
id: string;
};
export const HmacGeneratedSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/keys/:id/hmac-generated/settings",
component: HMACGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
};
export const toHmacGeneratedSettings = (
params: HmacGeneratedSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(HmacGeneratedSettingsRoute.path, params),
});

View file

@ -0,0 +1,23 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { JavaKeystoreSettings } from "../key-providers/java-keystore/JavaKeystoreForm";
import { EditProviderCrumb } from "../RealmSettingsSection";
export type JavaKeystoreSettingsParams = {
realm: string;
id: string;
};
export const JavaKeystoreSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/keys/:id/java-keystore/settings",
component: JavaKeystoreSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
};
export const toJavaKeystoreSettings = (
params: JavaKeystoreSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(JavaKeystoreSettingsRoute.path, params),
});

View file

@ -0,0 +1,32 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { RealmSettingsSection } from "../RealmSettingsSection";
export type RealmSettingsTab =
| "general"
| "login"
| "email"
| "themes"
| "keys"
| "events"
| "securityDefences"
| "sessions";
export type RealmSettingsParams = {
realm: string;
tab?: RealmSettingsTab;
};
export const RealmSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/:tab?",
component: RealmSettingsSection,
breadcrumb: (t) => t("realmSettings"),
access: "view-realm",
};
export const toRealmSettings = (
params: RealmSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(RealmSettingsRoute.path, params),
});

View file

@ -0,0 +1,23 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { RSAGeneratedSettings } from "../key-providers/rsa-generated/RSAGeneratedForm";
import { EditProviderCrumb } from "../RealmSettingsSection";
export type RsaGeneratedSettingsParams = {
realm: string;
id: string;
};
export const RsaGeneratedSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/keys/:id/rsa-generated/settings",
component: RSAGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
};
export const toRsaGeneratedSettings = (
params: RsaGeneratedSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(RsaGeneratedSettingsRoute.path, params),
});

View file

@ -0,0 +1,23 @@
import type { LocationDescriptorObject } from "history";
import { generatePath } from "react-router-dom";
import type { RouteDef } from "../../route-config";
import { RSASettings } from "../key-providers/rsa/RSAForm";
import { EditProviderCrumb } from "../RealmSettingsSection";
export type RsaSettingsParams = {
realm: string;
id: string;
};
export const RsaSettingsRoute: RouteDef = {
path: "/:realm/realm-settings/keys/:id/rsa/settings",
component: RSASettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
};
export const toRsaSettings = (
params: RsaSettingsParams
): LocationDescriptorObject => ({
pathname: generatePath(RsaSettingsRoute.path, params),
});

View file

@ -18,16 +18,7 @@ import { DetailSettings } from "./identity-providers/add/DetailSettings";
import { IdentityProvidersSection } from "./identity-providers/IdentityProvidersSection";
import { PageNotFoundSection } from "./PageNotFoundSection";
import realmRoleRoutes from "./realm-roles/routes";
import { AESGeneratedSettings } from "./realm-settings/key-providers/aes-generated/AESGeneratedForm";
import { ECDSAGeneratedSettings } from "./realm-settings/key-providers/ecdsa-generated/ECDSAGeneratedForm";
import { HMACGeneratedSettings } from "./realm-settings/key-providers/hmac-generated/HMACGeneratedForm";
import { JavaKeystoreSettings } from "./realm-settings/key-providers/java-keystore/JavaKeystoreForm";
import { RSAGeneratedSettings } from "./realm-settings/key-providers/rsa-generated/RSAGeneratedForm";
import { RSASettings } from "./realm-settings/key-providers/rsa/RSAForm";
import {
EditProviderCrumb,
RealmSettingsSection,
} from "./realm-settings/RealmSettingsSection";
import realmSettingRoutes from "./realm-settings/routes";
import realmRoutes from "./realm/routes";
import sessionRoutes from "./sessions/routes";
import { LdapMapperDetails } from "./user-federation/ldap/mappers/LdapMapperDetails";
@ -51,50 +42,9 @@ export const routes: RouteDef[] = [
...eventRoutes,
...realmRoleRoutes,
...realmRoutes,
...realmSettingRoutes,
...sessionRoutes,
...userRoutes,
{
path: "/:realm/realm-settings/:tab?",
component: RealmSettingsSection,
breadcrumb: (t) => t("realmSettings"),
access: "view-realm",
},
{
path: "/:realm/realm-settings/keys/:id?/aes-generated/settings",
component: AESGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
},
{
path: "/:realm/realm-settings/keys/:id?/ecdsa-generated/settings",
component: ECDSAGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
},
{
path: "/:realm/realm-settings/keys/:id?/hmac-generated/settings",
component: HMACGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
},
{
path: "/:realm/realm-settings/keys/:id?/java-keystore/settings",
component: JavaKeystoreSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
},
{
path: "/:realm/realm-settings/keys/:id?/rsa-generated/settings",
component: RSAGeneratedSettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
},
{
path: "/:realm/realm-settings/keys/:id?/rsa/settings",
component: RSASettings,
breadcrumb: () => EditProviderCrumb,
access: "view-realm",
},
{
path: "/:realm/identity-providers",
component: IdentityProvidersSection,