117 lines
3.1 KiB
TypeScript
117 lines
3.1 KiB
TypeScript
import { createElement, lazy } from "react";
|
|
import type {
|
|
AdminSectionsUiCapability,
|
|
PlatformWebModule
|
|
} from "@govoplan/core-webui";
|
|
import "./styles/connectors.css";
|
|
|
|
const ConnectorGovernancePage = lazy(
|
|
() => import("./features/ConnectorGovernancePage")
|
|
);
|
|
const ExternalKnowledgePage = lazy(
|
|
() => import("./features/ExternalKnowledgePage")
|
|
);
|
|
const ExternalServiceDeskPage = lazy(
|
|
() => import("./features/ExternalServiceDeskPage")
|
|
);
|
|
|
|
const readScopes = [
|
|
"connectors:source:read",
|
|
"connectors:source:admin"
|
|
];
|
|
const knowledgeReadScopes = [
|
|
"connectors:knowledge:read",
|
|
"connectors:knowledge:admin"
|
|
];
|
|
const serviceDeskReadScopes = [
|
|
"connectors:service_desk:read",
|
|
"connectors:service_desk:admin"
|
|
];
|
|
|
|
const adminSections: AdminSectionsUiCapability = {
|
|
sections: [
|
|
{
|
|
id: "connector-governance",
|
|
moduleId: "connectors",
|
|
kind: "management",
|
|
surfaceId: "connectors.admin.governed-configurations",
|
|
label: "Connector governance",
|
|
group: "SYSTEM",
|
|
order: 45,
|
|
anyOf: readScopes,
|
|
render: ({ settings, auth }) =>
|
|
createElement(ConnectorGovernancePage, { settings, auth })
|
|
},
|
|
{
|
|
id: "connector-external-knowledge",
|
|
moduleId: "connectors",
|
|
kind: "management",
|
|
surfaceId: "connectors.admin.external-knowledge",
|
|
label: "External knowledge",
|
|
group: "SYSTEM",
|
|
order: 46,
|
|
anyOf: knowledgeReadScopes,
|
|
render: ({ settings, auth }) =>
|
|
createElement(ExternalKnowledgePage, { settings, auth })
|
|
},
|
|
{
|
|
id: "connector-external-service-desk",
|
|
moduleId: "connectors",
|
|
kind: "management",
|
|
surfaceId: "connectors.admin.external-service-desk",
|
|
label: "External service desk",
|
|
group: "SYSTEM",
|
|
order: 47,
|
|
anyOf: serviceDeskReadScopes,
|
|
render: ({ settings, auth }) =>
|
|
createElement(ExternalServiceDeskPage, { settings, auth })
|
|
}
|
|
]
|
|
};
|
|
|
|
export const connectorsModule: PlatformWebModule = {
|
|
id: "connectors",
|
|
label: "Connectors",
|
|
version: "0.1.23",
|
|
dependencies: [],
|
|
optionalDependencies: ["access", "audit", "policy", "ops", "search", "wiki", "tickets", "helpdesk", "cases"],
|
|
viewSurfaces: [
|
|
{
|
|
id: "connectors.admin.governed-configurations",
|
|
moduleId: "connectors",
|
|
kind: "section",
|
|
label: "Connector governance",
|
|
order: 45
|
|
},
|
|
{
|
|
id: "connectors.admin.simulation-review",
|
|
moduleId: "connectors",
|
|
kind: "section",
|
|
label: "Connector simulation review",
|
|
parentId: "connectors.admin.governed-configurations",
|
|
order: 20
|
|
},
|
|
{
|
|
id: "connectors.admin.external-knowledge",
|
|
moduleId: "connectors",
|
|
kind: "section",
|
|
label: "External knowledge",
|
|
parentId: "connectors.admin.governed-configurations",
|
|
order: 30
|
|
},
|
|
{
|
|
id: "connectors.admin.external-service-desk",
|
|
moduleId: "connectors",
|
|
kind: "section",
|
|
label: "External service desk",
|
|
parentId: "connectors.admin.governed-configurations",
|
|
order: 40
|
|
}
|
|
],
|
|
uiCapabilities: {
|
|
"admin.sections": adminSections
|
|
}
|
|
};
|
|
|
|
export default connectorsModule;
|