Files
EpicNext-Cms/src/features/housekeeping/domains/system/routes.ts
T
Simo c325c53774
CI / check (pull_request) Successful in 33s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped
fix(housekeeping): harden system workflow boundaries
2026-08-29 00:25:47 +02:00

135 lines
4.6 KiB
TypeScript

import { PERMS } from "@/lib/permission-slugs";
import {
anyCapability,
type HousekeepingRouteDefinition,
} from "../../foundation/contracts";
export const SYSTEM_ROUTE_IDS = [
"system.access.permissions",
"system.access.permission-detail",
"system.configuration.settings",
"system.configuration.emulator",
"system.observability.analytics",
"system.observability.analytics-activity",
"system.observability.analytics-economy",
"system.observability.devops",
"system.observability.devops-errors",
"system.observability.logs-staff",
"system.observability.logs-audit",
"system.observability.logs-chat",
"system.observability.logs-commands",
"system.observability.logs-trades",
"system.operations.alerts",
"system.operations.command-center",
"system.operations.maintenance",
] as const;
export type SystemRouteId = (typeof SYSTEM_ROUTE_IDS)[number];
export const SYSTEM_ROUTES = [
{
id: "system.access.permissions",
labelKey: "pages.housekeeping.routes.system.access.permissions",
href: "/ase/system/access/permissions",
capability: anyCapability(PERMS.PERMISSIONS_MANAGE),
},
{
id: "system.access.permission-detail",
labelKey: "pages.housekeeping.routes.system.access.permission-detail",
href: "/ase/system/access/permissions/:id",
capability: anyCapability(PERMS.PERMISSIONS_MANAGE),
},
{
id: "system.configuration.settings",
labelKey: "pages.housekeeping.routes.system.configuration.settings",
href: "/ase/system/configuration/settings",
capability: anyCapability(PERMS.SETTINGS_VIEW),
},
{
id: "system.configuration.emulator",
labelKey: "pages.housekeeping.routes.system.configuration.emulator",
href: "/ase/system/configuration/emulator",
capability: anyCapability(PERMS.SETTINGS_VIEW),
},
{
id: "system.observability.analytics",
labelKey: "pages.housekeeping.routes.system.observability.analytics",
href: "/ase/system/observability/analytics",
capability: anyCapability(PERMS.ANALYTICS_VIEW),
},
{
id: "system.observability.analytics-activity",
labelKey:
"pages.housekeeping.routes.system.observability.analytics-activity",
href: "/ase/system/observability/analytics/activity",
capability: anyCapability(PERMS.ANALYTICS_VIEW),
},
{
id: "system.observability.analytics-economy",
labelKey:
"pages.housekeeping.routes.system.observability.analytics-economy",
href: "/ase/system/observability/analytics/economy",
capability: anyCapability(PERMS.ANALYTICS_VIEW),
},
{
id: "system.observability.devops",
labelKey: "pages.housekeeping.routes.system.observability.devops",
href: "/ase/system/observability/devops",
capability: anyCapability(PERMS.DEVOPS_VIEW),
},
{
id: "system.observability.devops-errors",
labelKey: "pages.housekeeping.routes.system.observability.devops-errors",
href: "/ase/system/observability/devops/errors",
capability: anyCapability(PERMS.DEVOPS_VIEW),
},
{
id: "system.observability.logs-staff",
labelKey: "pages.housekeeping.routes.system.observability.logs-staff",
href: "/ase/system/observability/logs/staff",
capability: anyCapability(PERMS.LOGS_VIEW),
},
{
id: "system.observability.logs-audit",
labelKey: "pages.housekeeping.routes.system.observability.logs-audit",
href: "/ase/system/observability/logs/audit",
capability: anyCapability(PERMS.LOGS_VIEW),
},
{
id: "system.observability.logs-chat",
labelKey: "pages.housekeeping.routes.system.observability.logs-chat",
href: "/ase/system/observability/logs/chat",
capability: anyCapability(PERMS.LOGS_VIEW),
},
{
id: "system.observability.logs-commands",
labelKey: "pages.housekeeping.routes.system.observability.logs-commands",
href: "/ase/system/observability/logs/commands",
capability: anyCapability(PERMS.LOGS_VIEW),
},
{
id: "system.observability.logs-trades",
labelKey: "pages.housekeeping.routes.system.observability.logs-trades",
href: "/ase/system/observability/logs/trades",
capability: anyCapability(PERMS.LOGS_VIEW),
},
{
id: "system.operations.alerts",
labelKey: "pages.housekeeping.routes.system.operations.alerts",
href: "/ase/system/operations/alerts",
capability: anyCapability(PERMS.NOTIFICATIONS_VIEW),
},
{
id: "system.operations.command-center",
labelKey: "pages.housekeeping.routes.system.operations.command-center",
href: "/ase/system/operations/command-center",
capability: anyCapability(PERMS.RCON_EXECUTE),
},
{
id: "system.operations.maintenance",
labelKey: "pages.housekeeping.routes.system.operations.maintenance",
href: "/ase/system/operations/maintenance",
capability: anyCapability(PERMS.SETTINGS_VIEW),
},
] as const satisfies readonly HousekeepingRouteDefinition[];