62 lines
2.4 KiB
TypeScript
62 lines
2.4 KiB
TypeScript
import { createElement, lazy } from "react";
|
|
import type {
|
|
AdminSectionsUiCapability,
|
|
PlatformWebModule,
|
|
SettingsSectionsUiCapability
|
|
} from "@govoplan/core-webui";
|
|
import { generatedTranslations } from "./i18n/generatedTranslations";
|
|
import "./styles/identity-trust.css";
|
|
|
|
const IdentityTrustPanel = lazy(() => import("./features/IdentityTrustPanel"));
|
|
|
|
const settingsSections: SettingsSectionsUiCapability = {
|
|
sections: [
|
|
{
|
|
id: "identity-trust",
|
|
surfaceId: "identity_trust.settings.devices",
|
|
label: "i18n:govoplan-identity-trust.device_trust",
|
|
group: "account",
|
|
order: 45,
|
|
anyOf: ["identity_trust:device:read", "identity_trust:assurance:read"],
|
|
render: ({ settings, auth }) => createElement(IdentityTrustPanel, { settings, auth })
|
|
}
|
|
]
|
|
};
|
|
|
|
const adminSections: AdminSectionsUiCapability = {
|
|
sections: [
|
|
{
|
|
id: "tenant-identity-trust",
|
|
moduleId: "identity_trust",
|
|
kind: "management",
|
|
surfaceId: "identity_trust.admin.trust",
|
|
label: "i18n:govoplan-identity-trust.identity_trust",
|
|
group: "TENANT",
|
|
order: 75,
|
|
anyOf: ["identity_trust:device:admin"],
|
|
render: ({ settings, auth }) => createElement(IdentityTrustPanel, { settings, auth, administrative: true })
|
|
}
|
|
]
|
|
};
|
|
|
|
export const identityTrustModule: PlatformWebModule = {
|
|
id: "identity_trust",
|
|
label: "i18n:govoplan-identity-trust.identity_trust",
|
|
version: "0.1.14",
|
|
dependencies: [],
|
|
optionalDependencies: ["access", "audit", "policy", "encryption", "postbox"],
|
|
translations: generatedTranslations,
|
|
viewSurfaces: [
|
|
{ id: "identity_trust.settings.devices", moduleId: "identity_trust", kind: "section", label: "i18n:govoplan-identity-trust.device_trust", order: 10 },
|
|
{ id: "identity_trust.admin.trust", moduleId: "identity_trust", kind: "section", label: "i18n:govoplan-identity-trust.identity_trust_administration", order: 20 },
|
|
{ id: "identity_trust.admin.epochs", moduleId: "identity_trust", kind: "section", label: "i18n:govoplan-identity-trust.key_epochs", parentId: "identity_trust.admin.trust", order: 30 },
|
|
{ id: "identity_trust.admin.decisions", moduleId: "identity_trust", kind: "section", label: "i18n:govoplan-identity-trust.key_access_decisions", parentId: "identity_trust.admin.trust", order: 40 }
|
|
],
|
|
uiCapabilities: {
|
|
"settings.sections": settingsSections,
|
|
"admin.sections": adminSections
|
|
}
|
|
};
|
|
|
|
export default identityTrustModule;
|