@atlashub/smartstack 3.10.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AiDocPage-CM7j_50_.cjs.map +1 -1
- package/dist/AiDocPage-rnKBvVof.js.map +1 -1
- package/dist/ArchitecturePage-Cn_XCDAo.cjs.map +1 -1
- package/dist/ArchitecturePage-DNwzHKk0.js.map +1 -1
- package/dist/{AuthCallbackPage-Cu74zAX1.js → AuthCallbackPage-CoJi12d0.js} +2 -2
- package/dist/AuthCallbackPage-CoJi12d0.js.map +1 -0
- package/dist/{AuthCallbackPage-Bv2Cyn80.cjs → AuthCallbackPage-D_g2VCjj.cjs} +2 -2
- package/dist/AuthCallbackPage-D_g2VCjj.cjs.map +1 -0
- package/dist/{BaIndexPage-Dkp_Eixx.js → BaIndexPage-B5scAEin.js} +2 -2
- package/dist/BaIndexPage-B5scAEin.js.map +1 -0
- package/dist/BaIndexPage-C3osYS_6.cjs +2 -0
- package/dist/BaIndexPage-C3osYS_6.cjs.map +1 -0
- package/dist/BaViewerPage-BPucPOSy.cjs +2 -0
- package/dist/BaViewerPage-BPucPOSy.cjs.map +1 -0
- package/dist/{BaViewerPage-DxD0eZm-.js → BaViewerPage-TL6IHeQx.js} +26 -26
- package/dist/BaViewerPage-TL6IHeQx.js.map +1 -0
- package/dist/{ConfirmEmailPage-su3Fvl0e.cjs → ConfirmEmailPage-B3mrPUvg.cjs} +2 -2
- package/dist/ConfirmEmailPage-B3mrPUvg.cjs.map +1 -0
- package/dist/{ConfirmEmailPage-BTp8J0pw.js → ConfirmEmailPage-DDp2IPE_.js} +2 -2
- package/dist/ConfirmEmailPage-DDp2IPE_.js.map +1 -0
- package/dist/CrossSchemaFkPage-BchJFOmH.js.map +1 -1
- package/dist/CrossSchemaFkPage-DqFNORYd.cjs.map +1 -1
- package/dist/{DatabasePage-DFIK8cSM.js → DatabasePage-BnaX9sis.js} +44 -48
- package/dist/DatabasePage-BnaX9sis.js.map +1 -0
- package/dist/DatabasePage-DAzb3FnS.cjs +2 -0
- package/dist/DatabasePage-DAzb3FnS.cjs.map +1 -0
- package/dist/DeveloperIndexPage-CtBfD2JI.cjs.map +1 -1
- package/dist/DeveloperIndexPage-D4zD_pop.js.map +1 -1
- package/dist/{DocRenderer-CcEn1iaa.js → DocRenderer-C5pM9SWP.js} +99 -94
- package/dist/DocRenderer-C5pM9SWP.js.map +1 -0
- package/dist/DocRenderer-D7hi9Oa-.cjs +2 -0
- package/dist/DocRenderer-D7hi9Oa-.cjs.map +1 -0
- package/dist/DocsIndexPage-BD6OOCak.js.map +1 -1
- package/dist/DocsIndexPage-BPfi0FQD.cjs.map +1 -1
- package/dist/{DualDbContextPage-BujD_coN.js → DualDbContextPage-CVBjCvGp.js} +2 -2
- package/dist/DualDbContextPage-CVBjCvGp.js.map +1 -0
- package/dist/{DualDbContextPage--Qk-qEgD.cjs → DualDbContextPage-Dz8NAewk.cjs} +2 -2
- package/dist/DualDbContextPage-Dz8NAewk.cjs.map +1 -0
- package/dist/{ForceChangePasswordPage-kEFsb5Aq.cjs → ForceChangePasswordPage-BqNyswSy.cjs} +2 -2
- package/dist/ForceChangePasswordPage-BqNyswSy.cjs.map +1 -0
- package/dist/{ForceChangePasswordPage-ClENqzCH.js → ForceChangePasswordPage-DkpGGEn7.js} +2 -2
- package/dist/ForceChangePasswordPage-DkpGGEn7.js.map +1 -0
- package/dist/{ForgotPasswordPage--Wl0Vxbv.cjs → ForgotPasswordPage-C7mySa8O.cjs} +2 -2
- package/dist/ForgotPasswordPage-C7mySa8O.cjs.map +1 -0
- package/dist/{ForgotPasswordPage-BEgvV5f-.js → ForgotPasswordPage-Dmi6wpMM.js} +2 -2
- package/dist/ForgotPasswordPage-Dmi6wpMM.js.map +1 -0
- package/dist/InfrastructurePage-D4ZjLzI_.cjs.map +1 -1
- package/dist/InfrastructurePage-q_y1z8T_.js.map +1 -1
- package/dist/InstallationPage-BJ-GBVPp.cjs.map +1 -1
- package/dist/InstallationPage-CXKmzZuN.js.map +1 -1
- package/dist/ModulesPage-B3p8e07v.js.map +1 -1
- package/dist/ModulesPage-lz8DUm3X.cjs.map +1 -1
- package/dist/{OnboardingWizardPage-Bx1UlTbr.js → OnboardingWizardPage-BeCNpdPL.js} +2 -2
- package/dist/OnboardingWizardPage-BeCNpdPL.js.map +1 -0
- package/dist/{OnboardingWizardPage-C7vendrq.cjs → OnboardingWizardPage-CgEpUx9X.cjs} +2 -2
- package/dist/OnboardingWizardPage-CgEpUx9X.cjs.map +1 -0
- package/dist/{RegisterPage-DKr8quRk.cjs → RegisterPage-BejbbAl9.cjs} +2 -2
- package/dist/RegisterPage-BejbbAl9.cjs.map +1 -0
- package/dist/{RegisterPage-BzV0sCTe.js → RegisterPage-CcuYYRBS.js} +2 -2
- package/dist/RegisterPage-CcuYYRBS.js.map +1 -0
- package/dist/{ResetPasswordPage-x4do1o-j.cjs → ResetPasswordPage-7brP8dT7.cjs} +2 -2
- package/dist/ResetPasswordPage-7brP8dT7.cjs.map +1 -0
- package/dist/{ResetPasswordPage-DphmJrcJ.js → ResetPasswordPage-BX3wnSSM.js} +2 -2
- package/dist/ResetPasswordPage-BX3wnSSM.js.map +1 -0
- package/dist/SettingsDocPage-DYXvb3M-.js.map +1 -1
- package/dist/SettingsDocPage-Dqj8KzOa.cjs.map +1 -1
- package/dist/SlaDocPage-D44QWNY8.cjs.map +1 -1
- package/dist/SlaDocPage-hLFLqLVa.js.map +1 -1
- package/dist/SmartStackPresentationPage-52Nb7F0X.cjs.map +1 -1
- package/dist/SmartStackPresentationPage-D3ku9GtQ.js.map +1 -1
- package/dist/{SupportDashboardDocPage-CLotzEwA.js → SupportDashboardDocPage-CG_Ahacx.js} +2 -2
- package/dist/SupportDashboardDocPage-CG_Ahacx.js.map +1 -0
- package/dist/{SupportDashboardDocPage-DpgGq5Mm.cjs → SupportDashboardDocPage-DfV-9_8r.cjs} +2 -2
- package/dist/SupportDashboardDocPage-DfV-9_8r.cjs.map +1 -0
- package/dist/{SupportEscalationDocPage-B-_ChfdN.js → SupportEscalationDocPage-C481D7pF.js} +2 -2
- package/dist/SupportEscalationDocPage-C481D7pF.js.map +1 -0
- package/dist/{SupportEscalationDocPage-WXkAQr8k.cjs → SupportEscalationDocPage-C65oCDZL.cjs} +2 -2
- package/dist/SupportEscalationDocPage-C65oCDZL.cjs.map +1 -0
- package/dist/SupportIndexPage-Bb0giRKn.js.map +1 -1
- package/dist/SupportIndexPage-CsDQ35Cu.cjs.map +1 -1
- package/dist/{SupportMyTicketsDocPage-DeRUdAIi.js → SupportMyTicketsDocPage-D2f6DaKb.js} +2 -2
- package/dist/SupportMyTicketsDocPage-D2f6DaKb.js.map +1 -0
- package/dist/{SupportMyTicketsDocPage-jE1UMaIY.cjs → SupportMyTicketsDocPage-Dbp6XBnH.cjs} +2 -2
- package/dist/SupportMyTicketsDocPage-Dbp6XBnH.cjs.map +1 -0
- package/dist/{SupportTemplatesDocPage-ajO-cHmK.cjs → SupportTemplatesDocPage-BkeDpR-8.cjs} +2 -2
- package/dist/SupportTemplatesDocPage-BkeDpR-8.cjs.map +1 -0
- package/dist/{SupportTemplatesDocPage-C8ZLzFJc.js → SupportTemplatesDocPage-sCKQlZFJ.js} +2 -2
- package/dist/SupportTemplatesDocPage-sCKQlZFJ.js.map +1 -0
- package/dist/{SupportTicketsDocPage-C_ybDTjC.cjs → SupportTicketsDocPage-B_603CpY.cjs} +2 -2
- package/dist/SupportTicketsDocPage-B_603CpY.cjs.map +1 -0
- package/dist/{SupportTicketsDocPage-DQhHfa6J.js → SupportTicketsDocPage-ClBa3qeY.js} +2 -2
- package/dist/SupportTicketsDocPage-ClBa3qeY.js.map +1 -0
- package/dist/TeamsIntegrationPage-BwhBcPAK.js.map +1 -1
- package/dist/TeamsIntegrationPage-DXj5MDRS.cjs.map +1 -1
- package/dist/ThemeDocPage-B6x55uSE.cjs.map +1 -1
- package/dist/ThemeDocPage-xkMbvMJG.js.map +1 -1
- package/dist/UserIndexPage-DSDfRWFx.js.map +1 -1
- package/dist/UserIndexPage-DahU6wzK.cjs.map +1 -1
- package/dist/components/ThemeSync.d.ts +2 -1
- package/dist/components/ThemeSync.d.ts.map +1 -1
- package/dist/components/auth/PermissionSyncHandler.d.ts +2 -1
- package/dist/components/auth/PermissionSyncHandler.d.ts.map +1 -1
- package/dist/components/dashboard/ApplicationActivityPieChart.d.ts +1 -1
- package/dist/components/dashboard/ApplicationActivityPieChart.d.ts.map +1 -1
- package/dist/components/dashboard/ApplicationUsageChart.d.ts +3 -2
- package/dist/components/dashboard/ApplicationUsageChart.d.ts.map +1 -1
- package/dist/components/dashboard/CurrentSessionCard.d.ts +3 -2
- package/dist/components/dashboard/CurrentSessionCard.d.ts.map +1 -1
- package/dist/components/dashboard/DeviceBreakdownChart.d.ts +1 -1
- package/dist/components/dashboard/DeviceBreakdownChart.d.ts.map +1 -1
- package/dist/components/dashboard/DeviceStatsCard.d.ts +3 -2
- package/dist/components/dashboard/DeviceStatsCard.d.ts.map +1 -1
- package/dist/components/dashboard/EngagementMetricsCard.d.ts +1 -1
- package/dist/components/dashboard/EngagementMetricsCard.d.ts.map +1 -1
- package/dist/components/dashboard/HierarchyDrillDownChart.d.ts +2 -2
- package/dist/components/dashboard/HierarchyDrillDownChart.d.ts.map +1 -1
- package/dist/components/dashboard/HourlyUsageChart.d.ts +3 -2
- package/dist/components/dashboard/HourlyUsageChart.d.ts.map +1 -1
- package/dist/components/dashboard/LoginErrorsTable.d.ts +3 -2
- package/dist/components/dashboard/LoginErrorsTable.d.ts.map +1 -1
- package/dist/components/dashboard/ModulePopularityChart.d.ts +2 -2
- package/dist/components/dashboard/ModulePopularityChart.d.ts.map +1 -1
- package/dist/components/dashboard/SessionAnalyticsChart.d.ts +3 -2
- package/dist/components/dashboard/SessionAnalyticsChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantActivityPieChart.d.ts +2 -2
- package/dist/components/dashboard/TenantActivityPieChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantPopularityChart.d.ts +2 -2
- package/dist/components/dashboard/TenantPopularityChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantUsageTrendChart.d.ts +2 -2
- package/dist/components/dashboard/TenantUsageTrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/UsageTrendChart.d.ts +2 -2
- package/dist/components/dashboard/UsageTrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/WeeklyUsageChart.d.ts +3 -2
- package/dist/components/dashboard/WeeklyUsageChart.d.ts.map +1 -1
- package/dist/components/docs/DocRenderer.d.ts +6 -5
- package/dist/components/docs/DocRenderer.d.ts.map +1 -1
- package/dist/components/docs/DocsSearch.d.ts +5 -4
- package/dist/components/docs/DocsSearch.d.ts.map +1 -1
- package/dist/components/email/EmailEditor.d.ts +7 -6
- package/dist/components/email/EmailEditor.d.ts.map +1 -1
- package/dist/components/errors/AccessDenied.d.ts +8 -7
- package/dist/components/errors/AccessDenied.d.ts.map +1 -1
- package/dist/components/errors/ErrorFallback.d.ts +4 -3
- package/dist/components/errors/ErrorFallback.d.ts.map +1 -1
- package/dist/components/errors/GlobalErrorBoundary.d.ts +3 -2
- package/dist/components/errors/GlobalErrorBoundary.d.ts.map +1 -1
- package/dist/components/errors/NoActiveWorkspace.d.ts +2 -1
- package/dist/components/errors/NoActiveWorkspace.d.ts.map +1 -1
- package/dist/components/errors/RouteErrorBoundary.d.ts +3 -2
- package/dist/components/errors/RouteErrorBoundary.d.ts.map +1 -1
- package/dist/components/favorites/FavoritesBar.d.ts +3 -2
- package/dist/components/favorites/FavoritesBar.d.ts.map +1 -1
- package/dist/components/favorites/FavoritesModal.d.ts +4 -3
- package/dist/components/favorites/FavoritesModal.d.ts.map +1 -1
- package/dist/components/layout/AdminHeader.d.ts +3 -2
- package/dist/components/layout/AdminHeader.d.ts.map +1 -1
- package/dist/components/layout/AdminSidebar.d.ts +4 -3
- package/dist/components/layout/AdminSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppHeader.d.ts +3 -2
- package/dist/components/layout/AppHeader.d.ts.map +1 -1
- package/dist/components/layout/BusinessHeader.d.ts +3 -2
- package/dist/components/layout/BusinessHeader.d.ts.map +1 -1
- package/dist/components/layout/Footer.d.ts +2 -1
- package/dist/components/layout/Footer.d.ts.map +1 -1
- package/dist/components/layout/Header.d.ts +2 -1
- package/dist/components/layout/Header.d.ts.map +1 -1
- package/dist/components/layout/ModuleSidebar.d.ts +4 -3
- package/dist/components/layout/ModuleSidebar.d.ts.map +1 -1
- package/dist/components/layout/ResizableMainContent.d.ts +3 -2
- package/dist/components/layout/ResizableMainContent.d.ts.map +1 -1
- package/dist/components/layout/UserHeader.d.ts +3 -2
- package/dist/components/layout/UserHeader.d.ts.map +1 -1
- package/dist/components/layout/UserSidebar.d.ts +4 -3
- package/dist/components/layout/UserSidebar.d.ts.map +1 -1
- package/dist/components/license/FeatureGate.d.ts +6 -6
- package/dist/components/license/FeatureGate.d.ts.map +1 -1
- package/dist/components/license/FeatureRouteGuard.d.ts +3 -2
- package/dist/components/license/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/components/license/LicenseActivationDialog.d.ts +4 -3
- package/dist/components/license/LicenseActivationDialog.d.ts.map +1 -1
- package/dist/components/license/LicenseAlertBanner.d.ts +2 -1
- package/dist/components/license/LicenseAlertBanner.d.ts.map +1 -1
- package/dist/components/license/LicenseBlockOverlay.d.ts +2 -1
- package/dist/components/license/LicenseBlockOverlay.d.ts.map +1 -1
- package/dist/components/license/LicenseContentBanner.d.ts +2 -1
- package/dist/components/license/LicenseContentBanner.d.ts.map +1 -1
- package/dist/components/license/LicenseGuard.d.ts +2 -1
- package/dist/components/license/LicenseGuard.d.ts.map +1 -1
- package/dist/components/license/LicenseStatusBadge.d.ts +3 -2
- package/dist/components/license/LicenseStatusBadge.d.ts.map +1 -1
- package/dist/components/notifications/NotificationBell.d.ts +2 -1
- package/dist/components/notifications/NotificationBell.d.ts.map +1 -1
- package/dist/components/platform/administration/ApplicationAccessCustomizeDrawer.d.ts +9 -8
- package/dist/components/platform/administration/ApplicationAccessCustomizeDrawer.d.ts.map +1 -1
- package/dist/components/platform/administration/ApplicationCard.d.ts +8 -8
- package/dist/components/platform/administration/ApplicationCard.d.ts.map +1 -1
- package/dist/components/platform/administration/ConflictDiffView.d.ts +4 -3
- package/dist/components/platform/administration/ConflictDiffView.d.ts.map +1 -1
- package/dist/components/platform/administration/EntraGroupRoleAssignment.d.ts +8 -7
- package/dist/components/platform/administration/EntraGroupRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupApplicationsTab.d.ts +4 -3
- package/dist/components/platform/administration/GroupApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupMembersTab.d.ts +5 -4
- package/dist/components/platform/administration/GroupMembersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupPermissionsView.d.ts +3 -2
- package/dist/components/platform/administration/GroupPermissionsView.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupRoleAssignment.d.ts +10 -9
- package/dist/components/platform/administration/GroupRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupTenantsTab.d.ts +4 -3
- package/dist/components/platform/administration/GroupTenantsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionDrillDownBar.d.ts +8 -7
- package/dist/components/platform/administration/PermissionDrillDownBar.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionMatrixFilters.d.ts +10 -9
- package/dist/components/platform/administration/PermissionMatrixFilters.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionMatrixTable.d.ts +15 -14
- package/dist/components/platform/administration/PermissionMatrixTable.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionPopover.d.ts +12 -11
- package/dist/components/platform/administration/PermissionPopover.d.ts.map +1 -1
- package/dist/components/platform/administration/TenantAccessCustomizeDrawer.d.ts +8 -7
- package/dist/components/platform/administration/TenantAccessCustomizeDrawer.d.ts.map +1 -1
- package/dist/components/platform/administration/TenantEntraTab.d.ts +5 -4
- package/dist/components/platform/administration/TenantEntraTab.d.ts.map +1 -1
- package/dist/components/platform/administration/UserGroupsTab.d.ts +4 -3
- package/dist/components/platform/administration/UserGroupsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/UserRoleAssignment.d.ts +13 -12
- package/dist/components/platform/administration/UserRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestApprovalModal.d.ts +8 -7
- package/dist/components/platform/administration/access-requests/AccessRequestApprovalModal.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestStatusBadge.d.ts +3 -2
- package/dist/components/platform/administration/access-requests/AccessRequestStatusBadge.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestsListTab.d.ts +6 -5
- package/dist/components/platform/administration/access-requests/AccessRequestsListTab.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/RequestAccessButton.d.ts +6 -5
- package/dist/components/platform/administration/access-requests/RequestAccessButton.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiModelsTab.d.ts +6 -5
- package/dist/components/platform/administration/ai/AiModelsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiProfilesTab.d.ts +18 -17
- package/dist/components/platform/administration/ai/AiProfilesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiProvidersTab.d.ts +3 -2
- package/dist/components/platform/administration/ai/AiProvidersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/PromptTestPanel.d.ts +4 -3
- package/dist/components/platform/administration/ai/PromptTestPanel.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationAccessTab.d.ts +4 -3
- package/dist/components/platform/administration/applications/ApplicationAccessTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationInfoTab.d.ts +16 -16
- package/dist/components/platform/administration/applications/ApplicationInfoTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationModulesTab.d.ts +30 -29
- package/dist/components/platform/administration/applications/ApplicationModulesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationPermissionsTab.d.ts +5 -4
- package/dist/components/platform/administration/applications/ApplicationPermissionsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationPublicationTab.d.ts +49 -49
- package/dist/components/platform/administration/applications/ApplicationPublicationTab.d.ts.map +1 -1
- package/dist/components/platform/administration/entra/ConflictCard.d.ts +5 -4
- package/dist/components/platform/administration/entra/ConflictCard.d.ts.map +1 -1
- package/dist/components/platform/administration/entra/ResolutionModal.d.ts +6 -5
- package/dist/components/platform/administration/entra/ResolutionModal.d.ts.map +1 -1
- package/dist/components/platform/administration/organisations/CreateOrganisationForm.d.ts +8 -7
- package/dist/components/platform/administration/organisations/CreateOrganisationForm.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/GroupPermissionMatrix.d.ts +6 -5
- package/dist/components/platform/administration/permissions/GroupPermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/PermissionStatusIndicator.d.ts +6 -5
- package/dist/components/platform/administration/permissions/PermissionStatusIndicator.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/RolePermissionMatrix.d.ts +3 -2
- package/dist/components/platform/administration/permissions/RolePermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/UserPermissionMatrix.d.ts +5 -4
- package/dist/components/platform/administration/permissions/UserPermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/settings/SettingsHistoryModal.d.ts +2 -1
- package/dist/components/platform/administration/settings/SettingsHistoryModal.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantApplicationsTab.d.ts +55 -54
- package/dist/components/platform/administration/tenants/TenantApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantGroupsTab.d.ts +8 -7
- package/dist/components/platform/administration/tenants/TenantGroupsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantMembersTab.d.ts +8 -7
- package/dist/components/platform/administration/tenants/TenantMembersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantOverviewTab.d.ts +12 -11
- package/dist/components/platform/administration/tenants/TenantOverviewTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantRolesTab.d.ts +2 -1
- package/dist/components/platform/administration/tenants/TenantRolesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantSupportSettingsTab.d.ts +4 -3
- package/dist/components/platform/administration/tenants/TenantSupportSettingsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserActivitySessionsTab.d.ts +8 -7
- package/dist/components/platform/administration/users/UserActivitySessionsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserApplicationsTab.d.ts +4 -3
- package/dist/components/platform/administration/users/UserApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserHistoryTab.d.ts +7 -6
- package/dist/components/platform/administration/users/UserHistoryTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserInfoTab.d.ts +15 -14
- package/dist/components/platform/administration/users/UserInfoTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserSecurityTab.d.ts +23 -22
- package/dist/components/platform/administration/users/UserSecurityTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserTenantsTab.d.ts +22 -21
- package/dist/components/platform/administration/users/UserTenantsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/workflows/WorkflowStepsEditor.d.ts +6 -5
- package/dist/components/platform/administration/workflows/WorkflowStepsEditor.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppAuditTab.d.ts +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppAuditTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppExportsTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppExportsTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppInfoTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppInfoTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppKeysTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppKeysTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppPromptTab.d.ts +3 -2
- package/dist/components/platform/api/external-apps/ExternalAppPromptTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppRolesTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppRolesTab.d.ts.map +1 -1
- package/dist/components/platform/support/ActivityTimeline.d.ts +5 -4
- package/dist/components/platform/support/ActivityTimeline.d.ts.map +1 -1
- package/dist/components/platform/support/AiClassificationBadge.d.ts +7 -6
- package/dist/components/platform/support/AiClassificationBadge.d.ts.map +1 -1
- package/dist/components/platform/support/AiRoutingSuggestionPanel.d.ts +9 -8
- package/dist/components/platform/support/AiRoutingSuggestionPanel.d.ts.map +1 -1
- package/dist/components/platform/support/AiTicketSummary.d.ts +8 -7
- package/dist/components/platform/support/AiTicketSummary.d.ts.map +1 -1
- package/dist/components/platform/support/FilePreviewModal.d.ts +6 -5
- package/dist/components/platform/support/FilePreviewModal.d.ts.map +1 -1
- package/dist/components/platform/support/ScreenshotAnnotator.d.ts +6 -5
- package/dist/components/platform/support/ScreenshotAnnotator.d.ts.map +1 -1
- package/dist/components/platform/support/SlaBadge.d.ts +12 -11
- package/dist/components/platform/support/SlaBadge.d.ts.map +1 -1
- package/dist/components/platform/support/TemplatePicker.d.ts +6 -5
- package/dist/components/platform/support/TemplatePicker.d.ts.map +1 -1
- package/dist/components/platform/support/TicketConversation.d.ts +31 -30
- package/dist/components/platform/support/TicketConversation.d.ts.map +1 -1
- package/dist/components/platform/support/TicketDetailView.d.ts +3 -2
- package/dist/components/platform/support/TicketDetailView.d.ts.map +1 -1
- package/dist/components/platform/support/TicketSidebar.d.ts +19 -18
- package/dist/components/platform/support/TicketSidebar.d.ts.map +1 -1
- package/dist/components/platform/support/TicketSolutionPanel.d.ts +10 -9
- package/dist/components/platform/support/TicketSolutionPanel.d.ts.map +1 -1
- package/dist/components/platform/support/TicketWorkflow.d.ts +10 -9
- package/dist/components/platform/support/TicketWorkflow.d.ts.map +1 -1
- package/dist/components/platform/support/TicketWorkflowHorizontal.d.ts +19 -18
- package/dist/components/platform/support/TicketWorkflowHorizontal.d.ts.map +1 -1
- package/dist/components/platform/support/TicketsListView.d.ts +8 -7
- package/dist/components/platform/support/TicketsListView.d.ts.map +1 -1
- package/dist/components/routing/DocRoutes.d.ts +1 -1
- package/dist/components/routing/DocRoutes.d.ts.map +1 -1
- package/dist/components/routing/DynamicRouter.d.ts +2 -1
- package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
- package/dist/components/routing/ProtectedRoute.d.ts +2 -1
- package/dist/components/routing/ProtectedRoute.d.ts.map +1 -1
- package/dist/components/routing/TenantNavigate.d.ts +4 -3
- package/dist/components/routing/TenantNavigate.d.ts.map +1 -1
- package/dist/components/routing/TenantRouteWrapper.d.ts +2 -1
- package/dist/components/routing/TenantRouteWrapper.d.ts.map +1 -1
- package/dist/components/session/SessionProvider.d.ts +2 -1
- package/dist/components/session/SessionProvider.d.ts.map +1 -1
- package/dist/components/session/SessionWarningModal.d.ts +6 -5
- package/dist/components/session/SessionWarningModal.d.ts.map +1 -1
- package/dist/components/tenants/TenantCard.d.ts +13 -12
- package/dist/components/tenants/TenantCard.d.ts.map +1 -1
- package/dist/components/tickets/CreateTicketButton.d.ts +4 -3
- package/dist/components/tickets/CreateTicketButton.d.ts.map +1 -1
- package/dist/components/tracking/PageTracker.d.ts +2 -1
- package/dist/components/tracking/PageTracker.d.ts.map +1 -1
- package/dist/components/tracking/TenantTracker.d.ts +2 -1
- package/dist/components/tracking/TenantTracker.d.ts.map +1 -1
- package/dist/components/ui/AppSwitcher.d.ts +2 -1
- package/dist/components/ui/AppSwitcher.d.ts.map +1 -1
- package/dist/components/ui/AvatarMenu.d.ts +2 -1
- package/dist/components/ui/AvatarMenu.d.ts.map +1 -1
- package/dist/components/ui/Breadcrumb.d.ts +7 -6
- package/dist/components/ui/Breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/ConfirmModal.d.ts +11 -11
- package/dist/components/ui/ConfirmModal.d.ts.map +1 -1
- package/dist/components/ui/DataTable.d.ts +2 -1
- package/dist/components/ui/DataTable.d.ts.map +1 -1
- package/dist/components/ui/DataView.d.ts +54 -53
- package/dist/components/ui/DataView.d.ts.map +1 -1
- package/dist/components/ui/DocEdgeButton.d.ts +2 -1
- package/dist/components/ui/DocEdgeButton.d.ts.map +1 -1
- package/dist/components/ui/DocPanel.d.ts +2 -1
- package/dist/components/ui/DocPanel.d.ts.map +1 -1
- package/dist/components/ui/DocToggleButton.d.ts +4 -3
- package/dist/components/ui/DocToggleButton.d.ts.map +1 -1
- package/dist/components/ui/Drawer.d.ts +9 -8
- package/dist/components/ui/Drawer.d.ts.map +1 -1
- package/dist/components/ui/EntityCard.d.ts +75 -74
- package/dist/components/ui/EntityCard.d.ts.map +1 -1
- package/dist/components/ui/KanbanBoard.d.ts +23 -22
- package/dist/components/ui/KanbanBoard.d.ts.map +1 -1
- package/dist/components/ui/LanguageSwitcher.d.ts +2 -1
- package/dist/components/ui/LanguageSwitcher.d.ts.map +1 -1
- package/dist/components/ui/PageHeader.d.ts +6 -6
- package/dist/components/ui/PageHeader.d.ts.map +1 -1
- package/dist/components/ui/PageLoader.d.ts +2 -1
- package/dist/components/ui/PageLoader.d.ts.map +1 -1
- package/dist/components/ui/PermissionMatrix.d.ts +2 -1
- package/dist/components/ui/PermissionMatrix.d.ts.map +1 -1
- package/dist/components/ui/ProtectedButton.d.ts +9 -8
- package/dist/components/ui/ProtectedButton.d.ts.map +1 -1
- package/dist/components/ui/RestrictedModuleBanner.d.ts +2 -1
- package/dist/components/ui/RestrictedModuleBanner.d.ts.map +1 -1
- package/dist/components/ui/ScopeBanner.d.ts +5 -4
- package/dist/components/ui/ScopeBanner.d.ts.map +1 -1
- package/dist/components/ui/SelectWithOther.d.ts +10 -9
- package/dist/components/ui/SelectWithOther.d.ts.map +1 -1
- package/dist/components/ui/SortableList.d.ts +6 -5
- package/dist/components/ui/SortableList.d.ts.map +1 -1
- package/dist/components/ui/TenantScopeFilter.d.ts +8 -7
- package/dist/components/ui/TenantScopeFilter.d.ts.map +1 -1
- package/dist/components/ui/TenantScopeSelector.d.ts +8 -7
- package/dist/components/ui/TenantScopeSelector.d.ts.map +1 -1
- package/dist/components/ui/TenantSelector.d.ts +2 -1
- package/dist/components/ui/TenantSelector.d.ts.map +1 -1
- package/dist/components/ui/ThemeCustomizer.d.ts +5 -4
- package/dist/components/ui/ThemeCustomizer.d.ts.map +1 -1
- package/dist/components/ui/ThemeScopeSelector.d.ts +3 -2
- package/dist/components/ui/ThemeScopeSelector.d.ts.map +1 -1
- package/dist/components/ui/ThemeSwitcher.d.ts +2 -1
- package/dist/components/ui/ThemeSwitcher.d.ts.map +1 -1
- package/dist/components/ui/Tooltip.d.ts +14 -13
- package/dist/components/ui/Tooltip.d.ts.map +1 -1
- package/dist/components/ui/UnderDevelopment.d.ts +8 -7
- package/dist/components/ui/UnderDevelopment.d.ts.map +1 -1
- package/dist/components/ui/UnlockAccountModal.d.ts +6 -5
- package/dist/components/ui/UnlockAccountModal.d.ts.map +1 -1
- package/dist/components/ui/ViewModeToggle.d.ts +4 -3
- package/dist/components/ui/ViewModeToggle.d.ts.map +1 -1
- package/dist/contexts/AuthContext.d.ts +2 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/DocPanelContext.d.ts +2 -1
- package/dist/contexts/DocPanelContext.d.ts.map +1 -1
- package/dist/contexts/FavoritesContext.d.ts +2 -1
- package/dist/contexts/FavoritesContext.d.ts.map +1 -1
- package/dist/contexts/FeatureConfigContext.d.ts +3 -2
- package/dist/contexts/FeatureConfigContext.d.ts.map +1 -1
- package/dist/contexts/LicenseContext.d.ts +2 -1
- package/dist/contexts/LicenseContext.d.ts.map +1 -1
- package/dist/contexts/NavigationContext.d.ts +2 -1
- package/dist/contexts/NavigationContext.d.ts.map +1 -1
- package/dist/contexts/SidebarContext.d.ts +2 -1
- package/dist/contexts/SidebarContext.d.ts.map +1 -1
- package/dist/contexts/SignalRContext.d.ts +2 -1
- package/dist/contexts/SignalRContext.d.ts.map +1 -1
- package/dist/contexts/TenantContext.d.ts +2 -1
- package/dist/contexts/TenantContext.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.d.ts +2 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/extensions/ExtensionContext.d.ts +4 -3
- package/dist/extensions/ExtensionContext.d.ts.map +1 -1
- package/dist/extensions/PageRegistry.d.ts +6 -5
- package/dist/extensions/PageRegistry.d.ts.map +1 -1
- package/dist/extensions/SlotFill.d.ts +13 -13
- package/dist/extensions/SlotFill.d.ts.map +1 -1
- package/dist/extensions/types.d.ts +10 -10
- package/dist/extensions/types.d.ts.map +1 -1
- package/dist/hooks/useAccessRequestActions.d.ts.map +1 -1
- package/dist/hooks/useAccessRequests.d.ts.map +1 -1
- package/dist/hooks/useAdminTenants.d.ts.map +1 -1
- package/dist/hooks/useClientContext.d.ts.map +1 -1
- package/dist/hooks/useCollapsibleState.d.ts.map +1 -1
- package/dist/hooks/useCreateSupportTicket.d.ts +23 -21
- package/dist/hooks/useCreateSupportTicket.d.ts.map +1 -1
- package/dist/hooks/useLocale.d.ts.map +1 -1
- package/dist/hooks/useLoginForm.d.ts +5 -4
- package/dist/hooks/useLoginForm.d.ts.map +1 -1
- package/dist/hooks/useNotifications.d.ts.map +1 -1
- package/dist/hooks/usePageTracking.d.ts.map +1 -1
- package/dist/hooks/usePagination.d.ts +1 -1
- package/dist/hooks/usePagination.d.ts.map +1 -1
- package/dist/hooks/usePermissionSync.d.ts +2 -1
- package/dist/hooks/usePermissionSync.d.ts.map +1 -1
- package/dist/hooks/useRestrictedModuleCheck.d.ts.map +1 -1
- package/dist/hooks/useSessionMonitor.d.ts +7 -5
- package/dist/hooks/useSessionMonitor.d.ts.map +1 -1
- package/dist/hooks/useSettingsSection.d.ts.map +1 -1
- package/dist/hooks/useSignalR.d.ts.map +1 -1
- package/dist/hooks/useTenantCreateForm.d.ts +24 -22
- package/dist/hooks/useTenantCreateForm.d.ts.map +1 -1
- package/dist/hooks/useTenantFavorites.d.ts.map +1 -1
- package/dist/hooks/useTenantFilters.d.ts.map +1 -1
- package/dist/hooks/useTenantTracking.d.ts.map +1 -1
- package/dist/hooks/useTicketSignalR.d.ts.map +1 -1
- package/dist/hooks/useUserAccessRequests.d.ts.map +1 -1
- package/dist/i18n/config.d.ts +1 -1
- package/dist/i18n/config.d.ts.map +1 -1
- package/dist/{index-DGeNdATi.js → index-3lcyR754.js} +2 -2
- package/dist/{index-DGeNdATi.js.map → index-3lcyR754.js.map} +1 -1
- package/dist/{index-DJXny6rD.cjs → index-AM9K908G.cjs} +2 -2
- package/dist/{index-DJXny6rD.cjs.map → index-AM9K908G.cjs.map} +1 -1
- package/dist/{index-ASxPhrgZ.cjs → index-BASU1QDx.cjs} +2 -2
- package/dist/index-BASU1QDx.cjs.map +1 -0
- package/dist/{index-ChVCBF4t.js → index-BBFFDXgT.js} +2 -2
- package/dist/{index-ChVCBF4t.js.map → index-BBFFDXgT.js.map} +1 -1
- package/dist/{index-C54HbULX.cjs → index-BBQMnq4P.cjs} +2 -2
- package/dist/index-BBQMnq4P.cjs.map +1 -0
- package/dist/{index-CUISVUMx.js → index-BEOtfRxa.js} +16 -16
- package/dist/index-BEOtfRxa.js.map +1 -0
- package/dist/{index-D4u23zHI.js → index-BEeLN5ui.js} +24 -24
- package/dist/index-BEeLN5ui.js.map +1 -0
- package/dist/{index-Du4fQfix.cjs → index-BEpBEF5G.cjs} +2 -2
- package/dist/index-BEpBEF5G.cjs.map +1 -0
- package/dist/{index-BlHDI4zj.js → index-BIB3FxMF.js} +14 -14
- package/dist/index-BIB3FxMF.js.map +1 -0
- package/dist/{index-Txfokhn3.cjs → index-BVUCDL0k.cjs} +2 -2
- package/dist/index-BVUCDL0k.cjs.map +1 -0
- package/dist/{index-jpSTOjXU.js → index-BYYgvEcO.js} +17 -17
- package/dist/index-BYYgvEcO.js.map +1 -0
- package/dist/{index-CU66n-zU.js → index-B_lFRwmY.js} +13 -13
- package/dist/index-B_lFRwmY.js.map +1 -0
- package/dist/{index-Blfc9wKG.js → index-Bbd3D6A4.js} +8 -8
- package/dist/index-Bbd3D6A4.js.map +1 -0
- package/dist/index-BfMaHuWh.cjs +48 -0
- package/dist/index-BfMaHuWh.cjs.map +1 -0
- package/dist/index-C0AgM8YN.cjs.map +1 -1
- package/dist/index-C0rFTzxZ.cjs +2 -0
- package/dist/index-C0rFTzxZ.cjs.map +1 -0
- package/dist/{index-By0u9UFY.js → index-CCS0saZk.js} +10 -10
- package/dist/index-CCS0saZk.js.map +1 -0
- package/dist/{index-C40Dlolq.js → index-CID51vRa.js} +28 -28
- package/dist/index-CID51vRa.js.map +1 -0
- package/dist/index-CO5QP9C1.cjs +2 -0
- package/dist/index-CO5QP9C1.cjs.map +1 -0
- package/dist/{index-CI1DJrFE.js → index-CaI6ZbEo.js} +12 -12
- package/dist/index-CaI6ZbEo.js.map +1 -0
- package/dist/{index-DKRiN1hJ.cjs → index-CaLDUVLs.cjs} +2 -2
- package/dist/{index-DKRiN1hJ.cjs.map → index-CaLDUVLs.cjs.map} +1 -1
- package/dist/index-CdORB0b4.cjs.map +1 -1
- package/dist/{index-Dxau-XnQ.cjs → index-Cdu0fSs8.cjs} +2 -2
- package/dist/index-Cdu0fSs8.cjs.map +1 -0
- package/dist/{index-Bup-dL1l.cjs → index-CiAIT31Y.cjs} +2 -2
- package/dist/{index-Bup-dL1l.cjs.map → index-CiAIT31Y.cjs.map} +1 -1
- package/dist/{index-ClIOix1g.js → index-ClrwWu9J.js} +2 -2
- package/dist/{index-ClIOix1g.js.map → index-ClrwWu9J.js.map} +1 -1
- package/dist/{index-DdsLBKHV.cjs → index-CtcTcQqt.cjs} +2 -2
- package/dist/{index-DdsLBKHV.cjs.map → index-CtcTcQqt.cjs.map} +1 -1
- package/dist/{index-DM5ogbum.js → index-CzCt3Aan.js} +2 -2
- package/dist/{index-DM5ogbum.js.map → index-CzCt3Aan.js.map} +1 -1
- package/dist/index-D1WPBG1_.cjs +2 -0
- package/dist/index-D1WPBG1_.cjs.map +1 -0
- package/dist/{index-Dsbkiw3B.js → index-DA3kbmS5.js} +2 -2
- package/dist/{index-Dsbkiw3B.js.map → index-DA3kbmS5.js.map} +1 -1
- package/dist/{index-D6zlXbv_.js → index-DE40yc39.js} +2 -2
- package/dist/{index-D6zlXbv_.js.map → index-DE40yc39.js.map} +1 -1
- package/dist/{index-DmuVa7Ye.cjs → index-DIuoVYFu.cjs} +2 -2
- package/dist/index-DIuoVYFu.cjs.map +1 -0
- package/dist/{index-DDJTWztK.cjs → index-DLSMVKFE.cjs} +2 -2
- package/dist/{index-DDJTWztK.cjs.map → index-DLSMVKFE.cjs.map} +1 -1
- package/dist/index-DQBVnnd6.cjs +2 -0
- package/dist/index-DQBVnnd6.cjs.map +1 -0
- package/dist/{index-BYhFG50Z.cjs → index-DRT2wvEs.cjs} +2 -2
- package/dist/index-DRT2wvEs.cjs.map +1 -0
- package/dist/{index-Cv7iWoG8.js → index-DRc5qb2I.js} +15 -15
- package/dist/index-DRc5qb2I.js.map +1 -0
- package/dist/index-DTAZtzQ6.js.map +1 -1
- package/dist/{index-BnWMDCRU.cjs → index-DYJbiXHU.cjs} +2 -2
- package/dist/index-DYJbiXHU.cjs.map +1 -0
- package/dist/{index-D8xuGyjU.js → index-DhVauF9E.js} +16 -16
- package/dist/index-DhVauF9E.js.map +1 -0
- package/dist/index-DiQ2SDvl.js.map +1 -1
- package/dist/{index-BcO3pBlL.js → index-Dm5ZLB9x.js} +14 -14
- package/dist/index-Dm5ZLB9x.js.map +1 -0
- package/dist/{index-CBOLnJkG.cjs → index-HWG-CG1i.cjs} +2 -2
- package/dist/index-HWG-CG1i.cjs.map +1 -0
- package/dist/{index-0Jhdcj59.js → index-Kn_ynW2m.js} +3298 -3200
- package/dist/index-Kn_ynW2m.js.map +1 -0
- package/dist/{index-B2rKKVDN.js → index-L994YeGJ.js} +7 -7
- package/dist/index-L994YeGJ.js.map +1 -0
- package/dist/{index-1tvWzIw0.cjs → index-OhzFdH9N.cjs} +2 -2
- package/dist/{index-1tvWzIw0.cjs.map → index-OhzFdH9N.cjs.map} +1 -1
- package/dist/{index-CnmIX2MY.js → index-Z6aHkjiA.js} +23 -20
- package/dist/index-Z6aHkjiA.js.map +1 -0
- package/dist/index-p2jNjCTo.cjs +2 -0
- package/dist/index-p2jNjCTo.cjs.map +1 -0
- package/dist/{index-DwATtWun.js → index-vUb_gIjC.js} +11 -11
- package/dist/index-vUb_gIjC.js.map +1 -0
- package/dist/{index-eAHjmtzn.cjs → index-xCGnOlox.cjs} +2 -2
- package/dist/index-xCGnOlox.cjs.map +1 -0
- package/dist/layouts/AdminLayout.d.ts +2 -1
- package/dist/layouts/AdminLayout.d.ts.map +1 -1
- package/dist/layouts/AppLayout.d.ts +2 -1
- package/dist/layouts/AppLayout.d.ts.map +1 -1
- package/dist/layouts/AuthLayout.d.ts +2 -1
- package/dist/layouts/AuthLayout.d.ts.map +1 -1
- package/dist/layouts/BusinessLayout.d.ts +2 -1
- package/dist/layouts/BusinessLayout.d.ts.map +1 -1
- package/dist/layouts/DocsLayout.d.ts +2 -1
- package/dist/layouts/DocsLayout.d.ts.map +1 -1
- package/dist/layouts/PublicLayout.d.ts +2 -1
- package/dist/layouts/PublicLayout.d.ts.map +1 -1
- package/dist/layouts/UserLayout.d.ts +2 -1
- package/dist/layouts/UserLayout.d.ts.map +1 -1
- package/dist/pages/ApplicationsPage.d.ts +2 -1
- package/dist/pages/ApplicationsPage.d.ts.map +1 -1
- package/dist/pages/HomePage.d.ts +2 -1
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/LoginPage.d.ts +2 -1
- package/dist/pages/LoginPage.d.ts.map +1 -1
- package/dist/pages/NotFoundPage.d.ts +2 -1
- package/dist/pages/NotFoundPage.d.ts.map +1 -1
- package/dist/pages/auth/AuthCallbackPage.d.ts +2 -1
- package/dist/pages/auth/AuthCallbackPage.d.ts.map +1 -1
- package/dist/pages/auth/ConfirmEmailPage.d.ts +2 -1
- package/dist/pages/auth/ConfirmEmailPage.d.ts.map +1 -1
- package/dist/pages/auth/ForceChangePasswordPage.d.ts +2 -1
- package/dist/pages/auth/ForceChangePasswordPage.d.ts.map +1 -1
- package/dist/pages/auth/ForgotPasswordPage.d.ts +2 -1
- package/dist/pages/auth/ForgotPasswordPage.d.ts.map +1 -1
- package/dist/pages/auth/OnboardingWizardPage.d.ts +2 -1
- package/dist/pages/auth/OnboardingWizardPage.d.ts.map +1 -1
- package/dist/pages/auth/RegisterPage.d.ts +2 -1
- package/dist/pages/auth/RegisterPage.d.ts.map +1 -1
- package/dist/pages/auth/ResetPasswordPage.d.ts +2 -1
- package/dist/pages/auth/ResetPasswordPage.d.ts.map +1 -1
- package/dist/pages/business/BusinessApplicationsGridPage.d.ts +2 -1
- package/dist/pages/business/BusinessApplicationsGridPage.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/ai/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/ai/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/applications/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/applications/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/configuration/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/configuration/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/configuration/license/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/configuration/license/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/entra/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/entra/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/permissions/assignments/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/permissions/assignments/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/permissions/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/permissions/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/access-requests/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/access-requests/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/applications/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/applications/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/business/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/business/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/organisations/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/organisations/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/other/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/other/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/personal/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/personal/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/template/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/template/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/dashboard/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/dashboard/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/groups/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/groups/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/references/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/references/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/workflows/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/workflows/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/support/tickets/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/support/tickets/index.d.ts.map +1 -1
- package/dist/pages/notifications/NotificationsPage.d.ts +2 -1
- package/dist/pages/notifications/NotificationsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/MyAccessRequestsPage.d.ts +2 -1
- package/dist/pages/personal/myspace/MyAccessRequestsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/MyTenantsPage.d.ts +2 -1
- package/dist/pages/personal/myspace/MyTenantsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/PortalDashboardPage.d.ts +2 -1
- package/dist/pages/personal/myspace/PortalDashboardPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/PreferencesPage.d.ts +2 -1
- package/dist/pages/personal/myspace/PreferencesPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/ProfilePage.d.ts +2 -1
- package/dist/pages/personal/myspace/ProfilePage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/UserDashboardPage.d.ts +2 -1
- package/dist/pages/personal/myspace/UserDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/DashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/DashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiMonitoringPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiMonitoringPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiPromptsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiPromptsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiPromptsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiPromptsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSkillsDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSkillsDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSkillsEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSkillsEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/ApplicationDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationsGridPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/ApplicationsGridPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/NavigationAppsPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/NavigationAppsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/AppSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/AppSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/AuthenticationSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/AuthenticationSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/EmailSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/EmailSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/EntraSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/EntraSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/InfrastructureSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/InfrastructureSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/LoggingSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/LoggingSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/license/LicenseManagementPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/license/LicenseManagementPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/FileUploadSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/FileUploadSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/GeneralSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/GeneralSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/LegalFileSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/LegalFileSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/SettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/SettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/StorageInfoSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/StorageInfoSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraConflictsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraConflictsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraGroupsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraGroupsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraUsersPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraUsersPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/AssignmentsPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/AssignmentsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/PermissionDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/PermissionDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/PermissionsPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/PermissionsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/RoleDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/RoleDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/RolesPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/RolesPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantAccessRequestsPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantAccessRequestsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsBusinessPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsBusinessPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsOtherPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsOtherPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsPage.d.ts +4 -3
- package/dist/pages/platform/administration/tenants/TenantsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsPersonalPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsPersonalPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsSystemPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsSystemPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsTemplatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsTemplatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/GroupDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/GroupDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/ReferencesManagementPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/ReferencesManagementPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/ReferencesPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/ReferencesPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UserDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UserDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UsersGroupsPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UsersGroupsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UsersPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UsersPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplatesListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplatesListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/SmsTemplatesListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/SmsTemplatesListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowHistoryPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowHistoryPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowsTriggersPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowsTriggersPage.d.ts.map +1 -1
- package/dist/pages/platform/api/apis/ApiCatalogDetailPage.d.ts +2 -1
- package/dist/pages/platform/api/apis/ApiCatalogDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/api/apis/ApiCatalogPage.d.ts +2 -1
- package/dist/pages/platform/api/apis/ApiCatalogPage.d.ts.map +1 -1
- package/dist/pages/platform/api/external-apps/ExternalAppDetailPage.d.ts +2 -1
- package/dist/pages/platform/api/external-apps/ExternalAppDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/api/external-apps/ExternalAppsListPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AgentSkillsPage.d.ts +2 -1
- package/dist/pages/platform/support/AgentSkillsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AgentWorkloadPage.d.ts +2 -1
- package/dist/pages/platform/support/AgentWorkloadPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AssignmentRulesPage.d.ts +2 -1
- package/dist/pages/platform/support/AssignmentRulesPage.d.ts.map +1 -1
- package/dist/pages/platform/support/CreateSupportTicketPage.d.ts +2 -1
- package/dist/pages/platform/support/CreateSupportTicketPage.d.ts.map +1 -1
- package/dist/pages/platform/support/DashboardPage.d.ts +2 -1
- package/dist/pages/platform/support/DashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/support/EscalationConfigPage.d.ts +2 -1
- package/dist/pages/platform/support/EscalationConfigPage.d.ts.map +1 -1
- package/dist/pages/platform/support/MyAgentTicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/MyAgentTicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/MyTicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/MyTicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/SlaConfigPage.d.ts +2 -1
- package/dist/pages/platform/support/SlaConfigPage.d.ts.map +1 -1
- package/dist/pages/platform/support/SupportPermissionsPage.d.ts +2 -1
- package/dist/pages/platform/support/SupportPermissionsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TemplatesPage.d.ts +2 -1
- package/dist/pages/platform/support/TemplatesPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TestBugPage.d.ts +2 -1
- package/dist/pages/platform/support/TestBugPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TicketDetailPage.d.ts +2 -1
- package/dist/pages/platform/support/TicketDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/TicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts +2 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserTicketDetailPage.d.ts +2 -1
- package/dist/pages/platform/support/UserTicketDetailPage.d.ts.map +1 -1
- package/dist/pages/system/docs/DocsIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/DocsIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/SmartStackPresentationPage.d.ts +2 -1
- package/dist/pages/system/docs/SmartStackPresentationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/BaIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/ba/BaIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/BaViewerPage.d.ts +2 -1
- package/dist/pages/system/docs/ba/BaViewerPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/CadrageTab.d.ts +3 -2
- package/dist/pages/system/docs/ba/components/CadrageTab.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/SpecificationTab.d.ts +4 -3
- package/dist/pages/system/docs/ba/components/SpecificationTab.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/SyntheseTab.d.ts +3 -2
- package/dist/pages/system/docs/ba/components/SyntheseTab.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/CrossSchemaFkPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/CrossSchemaFkPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DatabasePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DatabasePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DeveloperIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DeveloperIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DualDbContextPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DualDbContextPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/InfrastructurePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/InfrastructurePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/InstallationPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/InstallationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/TeamsIntegrationPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/TeamsIntegrationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/MultiTenantModePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/MultiTenantModePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/TenantB2CPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/TenantB2CPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/TenantIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/TenantIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/testing/SecurityTestingPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/testing/SecurityTestingPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/AiDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/AiDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ArchitecturePage.d.ts +2 -1
- package/dist/pages/system/docs/user/ArchitecturePage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ModulesPage.d.ts +2 -1
- package/dist/pages/system/docs/user/ModulesPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SettingsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SettingsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SlaDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SlaDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportDashboardDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportDashboardDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportEscalationDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportEscalationDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportMyTicketsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportMyTicketsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportTemplatesDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportTemplatesDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportTicketsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportTicketsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ThemeDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/ThemeDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/UserIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/user/UserIndexPage.d.ts.map +1 -1
- package/dist/provider/SmartStackProvider.d.ts +4 -3
- package/dist/provider/SmartStackProvider.d.ts.map +1 -1
- package/dist/services/api/adminApi/applications.d.ts +4 -1
- package/dist/services/api/adminApi/applications.d.ts.map +1 -1
- package/dist/services/api/adminApi/dashboard.d.ts +4 -1
- package/dist/services/api/adminApi/dashboard.d.ts.map +1 -1
- package/dist/services/api/adminApi/externalApps.d.ts +7 -2
- package/dist/services/api/adminApi/externalApps.d.ts.map +1 -1
- package/dist/services/api/adminApi/index.d.ts.map +1 -1
- package/dist/services/api/adminApi/roles.d.ts +7 -2
- package/dist/services/api/adminApi/roles.d.ts.map +1 -1
- package/dist/services/api/adminApi/settings.d.ts +7 -2
- package/dist/services/api/adminApi/settings.d.ts.map +1 -1
- package/dist/services/api/adminApi/tenants.d.ts +13 -4
- package/dist/services/api/adminApi/tenants.d.ts.map +1 -1
- package/dist/services/api/adminApi/users.d.ts +3 -1
- package/dist/services/api/adminApi/users.d.ts.map +1 -1
- package/dist/services/api/groupsApi.d.ts +4 -1
- package/dist/services/api/groupsApi.d.ts.map +1 -1
- package/dist/services/api/referencesApi.d.ts +4 -1
- package/dist/services/api/referencesApi.d.ts.map +1 -1
- package/dist/services/logging/logService.d.ts.map +1 -1
- package/dist/smartstack.cjs +1 -1
- package/dist/smartstack.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/deviceDetection.d.ts.map +1 -1
- package/dist/utils/renderLucideIcon.d.ts +2 -1
- package/dist/utils/renderLucideIcon.d.ts.map +1 -1
- package/dist/utils/tenantUrl.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/AuthCallbackPage-Bv2Cyn80.cjs.map +0 -1
- package/dist/AuthCallbackPage-Cu74zAX1.js.map +0 -1
- package/dist/BaIndexPage-BhdOX87v.cjs +0 -2
- package/dist/BaIndexPage-BhdOX87v.cjs.map +0 -1
- package/dist/BaIndexPage-Dkp_Eixx.js.map +0 -1
- package/dist/BaViewerPage-DxD0eZm-.js.map +0 -1
- package/dist/BaViewerPage-SYgjCF7x.cjs +0 -2
- package/dist/BaViewerPage-SYgjCF7x.cjs.map +0 -1
- package/dist/ConfirmEmailPage-BTp8J0pw.js.map +0 -1
- package/dist/ConfirmEmailPage-su3Fvl0e.cjs.map +0 -1
- package/dist/DatabasePage-CRq_-Yo2.cjs +0 -2
- package/dist/DatabasePage-CRq_-Yo2.cjs.map +0 -1
- package/dist/DatabasePage-DFIK8cSM.js.map +0 -1
- package/dist/DocRenderer-B-1NdDfC.cjs +0 -2
- package/dist/DocRenderer-B-1NdDfC.cjs.map +0 -1
- package/dist/DocRenderer-CcEn1iaa.js.map +0 -1
- package/dist/DualDbContextPage--Qk-qEgD.cjs.map +0 -1
- package/dist/DualDbContextPage-BujD_coN.js.map +0 -1
- package/dist/ForceChangePasswordPage-ClENqzCH.js.map +0 -1
- package/dist/ForceChangePasswordPage-kEFsb5Aq.cjs.map +0 -1
- package/dist/ForgotPasswordPage--Wl0Vxbv.cjs.map +0 -1
- package/dist/ForgotPasswordPage-BEgvV5f-.js.map +0 -1
- package/dist/OnboardingWizardPage-Bx1UlTbr.js.map +0 -1
- package/dist/OnboardingWizardPage-C7vendrq.cjs.map +0 -1
- package/dist/RegisterPage-BzV0sCTe.js.map +0 -1
- package/dist/RegisterPage-DKr8quRk.cjs.map +0 -1
- package/dist/ResetPasswordPage-DphmJrcJ.js.map +0 -1
- package/dist/ResetPasswordPage-x4do1o-j.cjs.map +0 -1
- package/dist/SupportDashboardDocPage-CLotzEwA.js.map +0 -1
- package/dist/SupportDashboardDocPage-DpgGq5Mm.cjs.map +0 -1
- package/dist/SupportEscalationDocPage-B-_ChfdN.js.map +0 -1
- package/dist/SupportEscalationDocPage-WXkAQr8k.cjs.map +0 -1
- package/dist/SupportMyTicketsDocPage-DeRUdAIi.js.map +0 -1
- package/dist/SupportMyTicketsDocPage-jE1UMaIY.cjs.map +0 -1
- package/dist/SupportTemplatesDocPage-C8ZLzFJc.js.map +0 -1
- package/dist/SupportTemplatesDocPage-ajO-cHmK.cjs.map +0 -1
- package/dist/SupportTicketsDocPage-C_ybDTjC.cjs.map +0 -1
- package/dist/SupportTicketsDocPage-DQhHfa6J.js.map +0 -1
- package/dist/index-0Jhdcj59.js.map +0 -1
- package/dist/index-ASxPhrgZ.cjs.map +0 -1
- package/dist/index-B2rKKVDN.js.map +0 -1
- package/dist/index-BP5i2CQo.cjs +0 -2
- package/dist/index-BP5i2CQo.cjs.map +0 -1
- package/dist/index-BYhFG50Z.cjs.map +0 -1
- package/dist/index-BcO3pBlL.js.map +0 -1
- package/dist/index-BlHDI4zj.js.map +0 -1
- package/dist/index-Blfc9wKG.js.map +0 -1
- package/dist/index-BnWMDCRU.cjs.map +0 -1
- package/dist/index-By0u9UFY.js.map +0 -1
- package/dist/index-C40Dlolq.js.map +0 -1
- package/dist/index-C54HbULX.cjs.map +0 -1
- package/dist/index-C6C5XmVj.cjs +0 -48
- package/dist/index-C6C5XmVj.cjs.map +0 -1
- package/dist/index-C9BaizLE.cjs +0 -2
- package/dist/index-C9BaizLE.cjs.map +0 -1
- package/dist/index-CBOLnJkG.cjs.map +0 -1
- package/dist/index-CI1DJrFE.js.map +0 -1
- package/dist/index-CU66n-zU.js.map +0 -1
- package/dist/index-CUISVUMx.js.map +0 -1
- package/dist/index-CnmIX2MY.js.map +0 -1
- package/dist/index-CtcdHE_9.cjs +0 -2
- package/dist/index-CtcdHE_9.cjs.map +0 -1
- package/dist/index-Cv7iWoG8.js.map +0 -1
- package/dist/index-D4u23zHI.js.map +0 -1
- package/dist/index-D8xuGyjU.js.map +0 -1
- package/dist/index-DKK07NF1.cjs +0 -2
- package/dist/index-DKK07NF1.cjs.map +0 -1
- package/dist/index-DmuVa7Ye.cjs.map +0 -1
- package/dist/index-Du4fQfix.cjs.map +0 -1
- package/dist/index-DwATtWun.js.map +0 -1
- package/dist/index-Dxau-XnQ.cjs.map +0 -1
- package/dist/index-Txfokhn3.cjs.map +0 -1
- package/dist/index-ZVUUUZmv.cjs +0 -2
- package/dist/index-ZVUUUZmv.cjs.map +0 -1
- package/dist/index-eAHjmtzn.cjs.map +0 -1
- package/dist/index-jpSTOjXU.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabasePage-DAzb3FnS.cjs","sources":["../src/pages/system/docs/developer/DatabasePage.tsx"],"sourcesContent":["import { useState, useMemo, useRef, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Database, Table, Key, ArrowRight, Link2, Layers, Shield, Users, Headphones, Building2, Bot, Mail, Settings, CloudCog, Briefcase, Globe, KeyRound, X, ChevronRight, ZoomIn, ZoomOut, Maximize2 } from 'lucide-react';\r\n\r\ninterface SchemaInfo {\r\n name: string;\r\n description: string;\r\n icon: React.ElementType;\r\n color: string;\r\n tables: TableInfo[];\r\n}\r\n\r\ninterface TableInfo {\r\n name: string;\r\n description: string;\r\n columns: ColumnInfo[];\r\n relations?: string[];\r\n}\r\n\r\ninterface ColumnInfo {\r\n name: string;\r\n type: string;\r\n description: string;\r\n isPrimaryKey?: boolean;\r\n isForeignKey?: boolean;\r\n isRequired?: boolean;\r\n referencesTable?: string; // For FK connections\r\n enumValues?: Array<{ name: string; value: number }>; // For enum columns\r\n}\r\n\r\n// Parse relation string to get target table and cardinality\r\nfunction parseRelation(relation: string): { targetTable: string; cardinality: string } | null {\r\n const match = /^(\\w+)\\s*\\(([^)]+)\\)$/.exec(relation);\r\n if (match) {\r\n return { targetTable: match[1], cardinality: match[2] };\r\n }\r\n return null;\r\n}\r\n\r\n// Schema data will be built with translations inside the component\r\n// Helper function to build schemas with translations\r\nfunction getSchemas(t: (key: string) => string): SchemaInfo[] {\r\n return [\r\n {\r\n name: 'nav',\r\n description: t('developer.database.schema.nav.description'),\r\n icon: Layers,\r\n color: 'from-blue-500 to-cyan-500',\r\n tables: [\r\n {\r\n name: 'Applications',\r\n description: t('developer.database.schema.tables.Applications.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'Icon', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Icon') },\r\n { name: 'Color', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Color') },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['Modules (1:N)', 'Roles (1:N)'],\r\n },\r\n {\r\n name: 'Modules',\r\n description: t('developer.database.schema.tables.Modules.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'ApplicationId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ApplicationId'), isForeignKey: true, isRequired: true, referencesTable: 'Applications' },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'Icon', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Icon') },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['Applications (N:1)', 'Sections (1:N)'],\r\n },\r\n {\r\n name: 'Sections',\r\n description: t('developer.database.schema.tables.Sections.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'ModuleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ModuleId'), isForeignKey: true, isRequired: true, referencesTable: 'Modules' },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n ],\r\n relations: ['Modules (N:1)', 'Resources (1:N)'],\r\n },\r\n {\r\n name: 'Resources',\r\n description: t('developer.database.schema.tables.Resources.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'SectionId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.SectionId'), isForeignKey: true, isRequired: true, referencesTable: 'Sections' },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n ],\r\n relations: ['Sections (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'auth',\r\n description: t('developer.database.schema.auth.description'),\r\n icon: Shield,\r\n color: 'from-red-500 to-rose-500',\r\n tables: [\r\n {\r\n name: 'Users',\r\n description: t('developer.database.schema.tables.Users.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Email', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.Email'), isRequired: true },\r\n { name: 'NormalizedEmail', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.NormalizedEmail'), isRequired: true },\r\n { name: 'FirstName', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.FirstName'), isRequired: true },\r\n { name: 'LastName', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.LastName'), isRequired: true },\r\n { name: 'PasswordHash', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.PasswordHash'), isRequired: true },\r\n { name: 'RefreshToken', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.RefreshToken') },\r\n { name: 'UserType', type: 'INT', description: t('developer.database.schema.columns.common.UserType'), enumValues: [{ name: t('developer.database.schema.enums.UserType.Standard'), value: 0 }, { name: t('developer.database.schema.enums.UserType.LocalAdmin'), value: 1 }, { name: t('developer.database.schema.enums.UserType.System'), value: 2 }] },\r\n { name: 'IsLocked', type: 'BIT', description: t('developer.database.schema.columns.common.IsLocked') },\r\n { name: 'LockoutEnd', type: 'DATETIME2', description: t('developer.database.schema.columns.common.LockoutEnd') },\r\n { name: 'MustChangePassword', type: 'BIT', description: t('developer.database.schema.columns.common.MustChangePassword') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n { name: 'UpdatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.UpdatedAt') },\r\n ],\r\n relations: ['UserRoles (1:N)', 'Sessions (1:N)'],\r\n },\r\n {\r\n name: 'Roles',\r\n description: t('developer.database.schema.tables.Roles.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'ApplicationId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ApplicationId'), isForeignKey: true, referencesTable: 'Applications' },\r\n { name: 'ParentRoleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ParentRoleId'), isForeignKey: true, referencesTable: 'Roles' },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'IsSystem', type: 'BIT', description: t('developer.database.schema.columns.common.IsSystem') },\r\n ],\r\n relations: ['Applications (N:1)', 'UserRoles (1:N)', 'RolePermissions (1:N)'],\r\n },\r\n {\r\n name: 'Permissions',\r\n description: t('developer.database.schema.tables.Permissions.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.PermissionName'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['RolePermissions (1:N)'],\r\n },\r\n {\r\n name: 'UserRoles',\r\n description: t('developer.database.schema.tables.UserRoles.description'),\r\n columns: [\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Users' },\r\n { name: 'RoleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.RoleId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Roles' },\r\n { name: 'AssignedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AssignedAt') },\r\n { name: 'AssignedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AssignedBy') },\r\n ],\r\n relations: ['Users (N:1)', 'Roles (N:1)'],\r\n },\r\n {\r\n name: 'RolePermissions',\r\n description: t('developer.database.schema.tables.RolePermissions.description'),\r\n columns: [\r\n { name: 'RoleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.RoleId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Roles' },\r\n { name: 'PermissionId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.PermissionId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Permissions' },\r\n ],\r\n relations: ['Roles (N:1)', 'Permissions (N:1)'],\r\n },\r\n {\r\n name: 'Sessions',\r\n description: t('developer.database.schema.tables.Sessions.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, isRequired: true, referencesTable: 'Users' },\r\n { name: 'Token', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Token'), isRequired: true },\r\n { name: 'IpAddress', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.IpAddress') },\r\n { name: 'UserAgent', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.UserAgent') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n { name: 'IsInvalidated', type: 'BIT', description: t('developer.database.schema.columns.common.IsInvalidated') },\r\n { name: 'InvalidatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.InvalidatedAt') },\r\n { name: 'LastActivityAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.LastActivityAt') },\r\n { name: 'ExpiresAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ExpiresAt') },\r\n ],\r\n relations: ['Users (N:1)'],\r\n },\r\n {\r\n name: 'Groups',\r\n description: t('developer.database.schema.tables.Groups.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(1024)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n { name: 'ParentGroupId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.auth.ParentGroupId'), isForeignKey: true, referencesTable: 'Groups' },\r\n { name: 'EntraObjectId', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.auth.EntraObjectId') },\r\n { name: 'LastEntraSyncAt', type: 'DATETIME2', description: t('developer.database.schema.columns.auth.LastEntraSyncAt') },\r\n { name: 'Mail', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.auth.Mail') },\r\n { name: 'MailNickname', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.auth.MailNickname') },\r\n { name: 'IsSecurityGroup', type: 'BIT', description: t('developer.database.schema.columns.auth.IsSecurityGroup') },\r\n { name: 'IsMailEnabled', type: 'BIT', description: t('developer.database.schema.columns.auth.IsMailEnabled') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n { name: 'CreatedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.CreatedBy') },\r\n { name: 'UpdatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.UpdatedAt') },\r\n { name: 'UpdatedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.UpdatedBy') },\r\n ],\r\n relations: ['UserGroups (1:N)', 'GroupRoles (1:N)', 'TenantGroups (1:N)', 'Groups (self N:1)'],\r\n },\r\n {\r\n name: 'UserGroups',\r\n description: t('developer.database.schema.tables.UserGroups.description'),\r\n columns: [\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Users' },\r\n { name: 'GroupId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.GroupId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Groups' },\r\n { name: 'AddedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AddedAt'), isRequired: true },\r\n { name: 'AddedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AddedBy') },\r\n ],\r\n relations: ['Users (N:1)', 'Groups (N:1)'],\r\n },\r\n {\r\n name: 'GroupRoles',\r\n description: t('developer.database.schema.tables.GroupRoles.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'GroupId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.GroupId'), isForeignKey: true, isRequired: true, referencesTable: 'Groups' },\r\n { name: 'RoleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.RoleId'), isForeignKey: true, isRequired: true, referencesTable: 'Roles' },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.auth.GroupRoleTenantId'), isForeignKey: true, referencesTable: 'Tenants' },\r\n { name: 'AssignedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AssignedAt'), isRequired: true },\r\n { name: 'AssignedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AssignedBy'), isRequired: true },\r\n { name: 'IsInheritable', type: 'BIT', description: t('developer.database.schema.columns.auth.IsInheritable') },\r\n ],\r\n relations: ['Groups (N:1)', 'Roles (N:1)', 'Tenants (N:1)'],\r\n },\r\n {\r\n name: 'GroupAncestors',\r\n description: t('developer.database.schema.tables.GroupAncestors.description'),\r\n columns: [\r\n { name: 'GroupId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.GroupId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Groups' },\r\n { name: 'AncestorGroupId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.auth.AncestorGroupId'), isPrimaryKey: true, isForeignKey: true, referencesTable: 'Groups' },\r\n { name: 'Level', type: 'INT', description: t('developer.database.schema.columns.auth.Level'), isRequired: true },\r\n ],\r\n relations: ['Groups (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'usr',\r\n description: t('developer.database.schema.usr.description'),\r\n icon: Users,\r\n color: 'from-green-500 to-emerald-500',\r\n tables: [\r\n {\r\n name: 'Profiles',\r\n description: t('developer.database.schema.tables.Profiles.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, isRequired: true, referencesTable: 'Users' },\r\n { name: 'DisplayName', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.DisplayName') },\r\n { name: 'AvatarUrl', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.AvatarUrl') },\r\n { name: 'Bio', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.common.Bio') },\r\n { name: 'Phone', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Phone') },\r\n { name: 'Location', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Location') },\r\n ],\r\n relations: ['Users (1:1)'],\r\n },\r\n {\r\n name: 'Preferences',\r\n description: t('developer.database.schema.tables.Preferences.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, isRequired: true, referencesTable: 'Users' },\r\n { name: 'Theme', type: 'INT', description: t('developer.database.schema.columns.common.Theme'), enumValues: [{ name: t('developer.database.schema.enums.Theme.Light'), value: 0 }, { name: t('developer.database.schema.enums.Theme.Dark'), value: 1 }, { name: t('developer.database.schema.enums.Theme.System'), value: 2 }] },\r\n { name: 'Language', type: 'NVARCHAR(10)', description: t('developer.database.schema.columns.common.Language') },\r\n { name: 'PrimaryColor', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.PrimaryColor') },\r\n { name: 'AccentColor', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.AccentColor') },\r\n { name: 'BorderRadius', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.common.BorderRadius') },\r\n ],\r\n relations: ['Users (1:1)'],\r\n },\r\n {\r\n name: 'FavoriteApplications',\r\n description: t('developer.database.schema.tables.FavoriteApplications.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, isRequired: true, referencesTable: 'Users' },\r\n { name: 'ApplicationId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ApplicationId'), isForeignKey: true, isRequired: true, referencesTable: 'Applications' },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n ],\r\n relations: ['Users (N:1)', 'Applications (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'support',\r\n description: t('developer.database.schema.support.description'),\r\n icon: Headphones,\r\n color: 'from-purple-500 to-pink-500',\r\n tables: [\r\n {\r\n name: 'Tickets',\r\n description: t('developer.database.schema.tables.Tickets.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TicketNumber', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.common.TicketNumber'), isRequired: true },\r\n { name: 'Title', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Title'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(5000)', description: t('developer.database.schema.columns.common.Description'), isRequired: true },\r\n { name: 'Type', type: 'INT', description: t('developer.database.schema.columns.common.Type'), enumValues: [{ name: t('developer.database.schema.enums.TicketType.Bug'), value: 0 }, { name: t('developer.database.schema.enums.TicketType.FeatureRequest'), value: 1 }, { name: t('developer.database.schema.enums.TicketType.ApplicationRequest'), value: 2 }, { name: t('developer.database.schema.enums.TicketType.Support'), value: 3 }, { name: t('developer.database.schema.enums.TicketType.Question'), value: 4 }, { name: t('developer.database.schema.enums.TicketType.Suggestion'), value: 5 }] },\r\n { name: 'Status', type: 'INT', description: t('developer.database.schema.columns.common.Status'), enumValues: [{ name: t('developer.database.schema.enums.TicketStatus.Open'), value: 0 }, { name: t('developer.database.schema.enums.TicketStatus.InProgress'), value: 1 }, { name: t('developer.database.schema.enums.TicketStatus.OnHold'), value: 2 }, { name: t('developer.database.schema.enums.TicketStatus.Resolved'), value: 3 }, { name: t('developer.database.schema.enums.TicketStatus.Closed'), value: 4 }, { name: t('developer.database.schema.enums.TicketStatus.Rejected'), value: 5 }] },\r\n { name: 'Priority', type: 'INT', description: t('developer.database.schema.columns.common.Priority'), enumValues: [{ name: t('developer.database.schema.enums.Priority.Low'), value: 0 }, { name: t('developer.database.schema.enums.Priority.Medium'), value: 1 }, { name: t('developer.database.schema.enums.Priority.High'), value: 2 }, { name: t('developer.database.schema.enums.Priority.Critical'), value: 3 }] },\r\n { name: 'EscalationLevel', type: 'INT', description: t('developer.database.schema.columns.common.EscalationLevel'), enumValues: [{ name: t('developer.database.schema.enums.EscalationLevel.None'), value: 0 }, { name: t('developer.database.schema.enums.EscalationLevel.Supervisor'), value: 1 }, { name: t('developer.database.schema.enums.EscalationLevel.Manager'), value: 2 }, { name: t('developer.database.schema.enums.EscalationLevel.Director'), value: 3 }] },\r\n { name: 'CreatedByUserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.CreatedByUserId'), isForeignKey: true, referencesTable: 'Users' },\r\n { name: 'AssignedToUserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.AssignedToUserId'), isForeignKey: true, referencesTable: 'Users' },\r\n { name: 'Resolution', type: 'NVARCHAR(5000)', description: t('developer.database.schema.columns.common.Resolution') },\r\n { name: 'ResolvedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ResolvedAt') },\r\n { name: 'ClosedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ClosedAt') },\r\n ],\r\n relations: ['Users (N:1)', 'TicketComments (1:N)', 'TicketSla (1:1)'],\r\n },\r\n {\r\n name: 'TicketComments',\r\n description: t('developer.database.schema.tables.TicketComments.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TicketId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TicketId'), isForeignKey: true, isRequired: true, referencesTable: 'Tickets' },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, referencesTable: 'Users' },\r\n { name: 'Content', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Content'), isRequired: true },\r\n { name: 'IsInternal', type: 'BIT', description: t('developer.database.schema.columns.common.IsInternal') },\r\n ],\r\n relations: ['Tickets (N:1)', 'Users (N:1)'],\r\n },\r\n {\r\n name: 'TicketSla',\r\n description: t('developer.database.schema.tables.TicketSla.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TicketId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TicketId'), isForeignKey: true, isRequired: true, referencesTable: 'Tickets' },\r\n { name: 'ResponseDueAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ResponseDueAt') },\r\n { name: 'ResolutionDueAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ResolutionDueAt') },\r\n { name: 'FirstResponseAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.FirstResponseAt') },\r\n { name: 'ResponseBreached', type: 'BIT', description: t('developer.database.schema.columns.common.ResponseBreached') },\r\n { name: 'ResolutionBreached', type: 'BIT', description: t('developer.database.schema.columns.common.ResolutionBreached') },\r\n { name: 'IsPaused', type: 'BIT', description: t('developer.database.schema.columns.common.IsPaused') },\r\n ],\r\n relations: ['Tickets (1:1)'],\r\n },\r\n {\r\n name: 'SlaConfigurations',\r\n description: t('developer.database.schema.tables.SlaConfigurations.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Priority', type: 'INT', description: t('developer.database.schema.columns.common.Priority'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.Priority.Low'), value: 0 }, { name: t('developer.database.schema.enums.Priority.Medium'), value: 1 }, { name: t('developer.database.schema.enums.Priority.High'), value: 2 }, { name: t('developer.database.schema.enums.Priority.Critical'), value: 3 }] },\r\n { name: 'ResponseTimeMinutes', type: 'INT', description: t('developer.database.schema.columns.common.ResponseTimeMinutes') },\r\n { name: 'ResolutionTimeMinutes', type: 'INT', description: t('developer.database.schema.columns.common.ResolutionTimeMinutes') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n },\r\n {\r\n name: 'EscalationRules',\r\n description: t('developer.database.schema.tables.EscalationRules.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Level', type: 'INT', description: t('developer.database.schema.columns.common.EscalationLevel'), enumValues: [{ name: t('developer.database.schema.enums.EscalationLevel.None'), value: 0 }, { name: t('developer.database.schema.enums.EscalationLevel.Supervisor'), value: 1 }, { name: t('developer.database.schema.enums.EscalationLevel.Manager'), value: 2 }, { name: t('developer.database.schema.enums.EscalationLevel.Director'), value: 3 }] },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'TimeThresholdMinutes', type: 'INT', description: t('developer.database.schema.columns.common.TimeThresholdMinutes') },\r\n { name: 'NotifyEmails', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.NotifyEmails') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n },\r\n {\r\n name: 'ResponseTemplates',\r\n description: t('developer.database.schema.tables.ResponseTemplates.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Title', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Title'), isRequired: true },\r\n { name: 'Content', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Content'), isRequired: true },\r\n { name: 'Category', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Category') },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'ten',\r\n description: t('developer.database.schema.tenant.description'),\r\n icon: Building2,\r\n color: 'from-indigo-500 to-violet-500',\r\n tables: [\r\n {\r\n name: 'Tenants',\r\n description: t('developer.database.schema.tables.Tenants.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Slug', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.tenant.Slug'), isRequired: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'Type', type: 'INT', description: t('developer.database.schema.columns.common.Type'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.TenantType.Personal'), value: 1 }, { name: t('developer.database.schema.enums.TenantType.Business'), value: 2 }] },\r\n { name: 'Status', type: 'INT', description: t('developer.database.schema.columns.common.Status'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.TenantStatus.Pending'), value: 0 }, { name: t('developer.database.schema.enums.TenantStatus.Active'), value: 1 }, { name: t('developer.database.schema.enums.TenantStatus.Suspended'), value: 2 }] },\r\n { name: 'OrganisationId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.tenant.OrganisationId'), isForeignKey: true, referencesTable: 'TenantOrganisations' },\r\n { name: 'ActivatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ActivatedAt') },\r\n { name: 'SuspendedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.tenant.SuspendedAt') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n { name: 'CreatedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.CreatedBy') },\r\n { name: 'UpdatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.UpdatedAt') },\r\n { name: 'UpdatedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.UpdatedBy') },\r\n ],\r\n relations: ['TenantUsers (1:N)', 'TenantApplications (1:N)', 'TenantOrganisations (1:1)', 'TenantGroups (1:N)', 'TenantModules (1:N)', 'TenantSections (1:N)'],\r\n },\r\n {\r\n name: 'TenantUsers',\r\n description: t('developer.database.schema.tables.TenantUsers.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, isRequired: true, referencesTable: 'Users' },\r\n { name: 'IsOwner', type: 'BIT', description: t('developer.database.schema.columns.tenant.IsOwner'), isRequired: true },\r\n { name: 'IsDefault', type: 'BIT', description: t('developer.database.schema.columns.tenant.IsDefault'), isRequired: true },\r\n { name: 'JoinedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.JoinedAt') },\r\n { name: 'InvitedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.tenant.InvitedAt') },\r\n { name: 'InvitedBy', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.tenant.InvitedBy') },\r\n ],\r\n relations: ['Tenants (N:1)', 'Users (N:1)', 'TenantUserRoles (1:N)'],\r\n },\r\n {\r\n name: 'TenantUserRoles',\r\n description: t('developer.database.schema.tables.TenantUserRoles.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantUserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantUserId'), isForeignKey: true, isRequired: true, referencesTable: 'TenantUsers' },\r\n { name: 'RoleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.RoleId'), isForeignKey: true, isRequired: true, referencesTable: 'Roles' },\r\n { name: 'AssignedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AssignedAt'), isRequired: true },\r\n { name: 'AssignedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AssignedBy') },\r\n ],\r\n relations: ['TenantUsers (N:1)', 'Roles (N:1)'],\r\n },\r\n {\r\n name: 'TenantApplications',\r\n description: t('developer.database.schema.tables.TenantApplications.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'ApplicationId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ApplicationId'), isForeignKey: true, isRequired: true, referencesTable: 'Applications' },\r\n { name: 'AccessLevel', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.common.AccessLevel'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.ApplicationAccessLevel.FullAccess'), value: 0 }, { name: t('developer.database.schema.enums.ApplicationAccessLevel.RequestAccess'), value: 1 }, { name: t('developer.database.schema.enums.ApplicationAccessLevel.Disabled'), value: 2 }] },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n { name: 'AssignedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AssignedAt'), isRequired: true },\r\n { name: 'AssignedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AssignedBy') },\r\n ],\r\n relations: ['Tenants (N:1)', 'Applications (N:1)'],\r\n },\r\n {\r\n name: 'TenantOrganisations',\r\n description: t('developer.database.schema.tables.TenantOrganisations.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'LegalName', type: 'NVARCHAR(300)', description: t('developer.database.schema.columns.tenant.LegalName') },\r\n { name: 'CountryCode', type: 'NVARCHAR(2)', description: t('developer.database.schema.columns.tenant.CountryCode'), isRequired: true },\r\n { name: 'BusinessIdentifier', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.tenant.BusinessIdentifier'), isRequired: true },\r\n { name: 'BusinessIdentifierType', type: 'INT', description: t('developer.database.schema.columns.tenant.BusinessIdentifierType'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.BusinessIdentifierType.SIRET'), value: 0 }, { name: t('developer.database.schema.enums.BusinessIdentifierType.SIREN'), value: 1 }, { name: t('developer.database.schema.enums.BusinessIdentifierType.VAT'), value: 2 }, { name: t('developer.database.schema.enums.BusinessIdentifierType.DUNS'), value: 3 }, { name: t('developer.database.schema.enums.BusinessIdentifierType.Other'), value: 4 }] },\r\n { name: 'VatNumber', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.tenant.VatNumber') },\r\n { name: 'Phone', type: 'NVARCHAR(30)', description: t('developer.database.schema.columns.common.Phone') },\r\n { name: 'Email', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.Email') },\r\n { name: 'Website', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.tenant.Website') },\r\n { name: 'Address_Street', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.tenant.AddressStreet'), isRequired: true },\r\n { name: 'Address_Street2', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.tenant.AddressStreet2') },\r\n { name: 'Address_PostalCode', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.tenant.AddressPostalCode'), isRequired: true },\r\n { name: 'Address_City', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.tenant.AddressCity'), isRequired: true },\r\n { name: 'Address_State', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.tenant.AddressState') },\r\n { name: 'Address_Country', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.tenant.AddressCountry'), isRequired: true },\r\n { name: 'Address_CountryCode', type: 'NVARCHAR(2)', description: t('developer.database.schema.columns.tenant.AddressCountryCode'), isRequired: true },\r\n { name: 'VerificationStatus', type: 'INT', description: t('developer.database.schema.columns.tenant.VerificationStatus'), enumValues: [{ name: t('developer.database.schema.enums.VerificationStatus.Pending'), value: 0 }, { name: t('developer.database.schema.enums.VerificationStatus.Verified'), value: 1 }, { name: t('developer.database.schema.enums.VerificationStatus.Rejected'), value: 2 }] },\r\n { name: 'VerifiedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.tenant.VerifiedAt') },\r\n { name: 'VerificationNotes', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.tenant.VerificationNotes') },\r\n { name: 'VerifiedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.tenant.VerifiedBy') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n { name: 'CreatedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.CreatedBy') },\r\n { name: 'UpdatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.UpdatedAt') },\r\n { name: 'UpdatedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.UpdatedBy') },\r\n ],\r\n relations: ['Tenants (1:1)'],\r\n },\r\n {\r\n name: 'TenantGroups',\r\n description: t('developer.database.schema.tables.TenantGroups.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'GroupId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.GroupId'), isForeignKey: true, isRequired: true, referencesTable: 'Groups' },\r\n { name: 'AddedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AddedAt'), isRequired: true },\r\n { name: 'AddedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AddedBy') },\r\n ],\r\n relations: ['Tenants (N:1)', 'Groups (N:1)'],\r\n },\r\n {\r\n name: 'TenantModules',\r\n description: t('developer.database.schema.tables.TenantModules.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'ModuleId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ModuleId'), isForeignKey: true, isRequired: true, referencesTable: 'Modules' },\r\n { name: 'AccessLevel', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.common.AccessLevel'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.ApplicationAccessLevel.FullAccess'), value: 0 }, { name: t('developer.database.schema.enums.ApplicationAccessLevel.RequestAccess'), value: 1 }, { name: t('developer.database.schema.enums.ApplicationAccessLevel.Disabled'), value: 2 }] },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n { name: 'AssignedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AssignedAt'), isRequired: true },\r\n { name: 'AssignedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AssignedBy') },\r\n ],\r\n relations: ['Tenants (N:1)', 'Modules (N:1)'],\r\n },\r\n {\r\n name: 'TenantSections',\r\n description: t('developer.database.schema.tables.TenantSections.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'SectionId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.SectionId'), isForeignKey: true, isRequired: true, referencesTable: 'Sections' },\r\n { name: 'AccessLevel', type: 'NVARCHAR(20)', description: t('developer.database.schema.columns.common.AccessLevel'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.ApplicationAccessLevel.FullAccess'), value: 0 }, { name: t('developer.database.schema.enums.ApplicationAccessLevel.RequestAccess'), value: 1 }, { name: t('developer.database.schema.enums.ApplicationAccessLevel.Disabled'), value: 2 }] },\r\n { name: 'DisplayOrder', type: 'INT', description: t('developer.database.schema.columns.common.DisplayOrder') },\r\n { name: 'AssignedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.AssignedAt'), isRequired: true },\r\n { name: 'AssignedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.AssignedBy') },\r\n ],\r\n relations: ['Tenants (N:1)', 'Sections (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'ai',\r\n description: t('developer.database.schema.ai.description'),\r\n icon: Bot,\r\n color: 'from-cyan-500 to-teal-500',\r\n tables: [\r\n {\r\n name: 'Providers',\r\n description: t('developer.database.schema.tables.AiProviders.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'BaseUrl', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.BaseUrl') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['Models (1:N)', 'ProviderInstances (1:N)'],\r\n },\r\n {\r\n name: 'Models',\r\n description: t('developer.database.schema.tables.AiModels.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'ProviderId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ProviderId'), isForeignKey: true, isRequired: true, referencesTable: 'Providers' },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'InputPricePer1M', type: 'DECIMAL(10,4)', description: t('developer.database.schema.columns.common.InputPricePer1M') },\r\n { name: 'OutputPricePer1M', type: 'DECIMAL(10,4)', description: t('developer.database.schema.columns.common.OutputPricePer1M') },\r\n { name: 'MaxTokens', type: 'INT', description: t('developer.database.schema.columns.common.MaxTokens') },\r\n ],\r\n relations: ['Providers (N:1)', 'ProviderInstances (N:M)'],\r\n },\r\n {\r\n name: 'ProviderInstances',\r\n description: t('developer.database.schema.tables.ProviderInstances.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'ProviderId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ProviderId'), isForeignKey: true, isRequired: true, referencesTable: 'Providers' },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'DefaultModelId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.DefaultModelId'), isForeignKey: true, referencesTable: 'Models' },\r\n { name: 'IsDefault', type: 'BIT', description: t('developer.database.schema.columns.common.IsDefault') },\r\n ],\r\n relations: ['Providers (N:1)', 'Models (N:1)'],\r\n },\r\n {\r\n name: 'Prompts',\r\n description: t('developer.database.schema.tables.Prompts.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'SystemPrompt', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.SystemPrompt') },\r\n { name: 'UserPromptTemplate', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.UserPromptTemplate') },\r\n { name: 'OutputSchemaId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.OutputSchemaId'), isForeignKey: true, referencesTable: 'OutputSchemas' },\r\n ],\r\n relations: ['OutputSchemas (N:1)'],\r\n },\r\n {\r\n name: 'OutputSchemas',\r\n description: t('developer.database.schema.tables.OutputSchemas.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Schema', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Schema'), isRequired: true },\r\n ],\r\n relations: ['Prompts (1:N)'],\r\n },\r\n {\r\n name: 'UsageEvents',\r\n description: t('developer.database.schema.tables.UsageEvents.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'ProviderInstanceId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ProviderInstanceId'), isForeignKey: true, referencesTable: 'ProviderInstances' },\r\n { name: 'ModelId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ModelId'), isForeignKey: true, referencesTable: 'Models' },\r\n { name: 'UserId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.UserId'), isForeignKey: true, referencesTable: 'Users' },\r\n { name: 'InputTokens', type: 'INT', description: t('developer.database.schema.columns.common.InputTokens') },\r\n { name: 'OutputTokens', type: 'INT', description: t('developer.database.schema.columns.common.OutputTokens') },\r\n { name: 'Cost', type: 'DECIMAL(10,6)', description: t('developer.database.schema.columns.common.Cost') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n ],\r\n relations: ['ProviderInstances (N:1)', 'Models (N:1)', 'Users (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'wkf',\r\n description: t('developer.database.schema.wkf.description'),\r\n icon: Mail,\r\n color: 'from-orange-500 to-amber-500',\r\n tables: [\r\n {\r\n name: 'Workflows',\r\n description: t('developer.database.schema.tables.Workflows.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'Description', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.common.Description') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['Triggers (1:N)', 'Steps (1:N)', 'Executions (1:N)'],\r\n },\r\n {\r\n name: 'Triggers',\r\n description: t('developer.database.schema.tables.Triggers.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'WorkflowId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.WorkflowId'), isForeignKey: true, isRequired: true, referencesTable: 'Workflows' },\r\n { name: 'Type', type: 'INT', description: t('developer.database.schema.columns.common.Type'), enumValues: [{ name: t('developer.database.schema.enums.TriggerType.UserRegistered'), value: 0 }, { name: t('developer.database.schema.enums.TriggerType.UserEmailConfirmed'), value: 1 }, { name: t('developer.database.schema.enums.TriggerType.PasswordResetRequested'), value: 2 }, { name: t('developer.database.schema.enums.TriggerType.PasswordChanged'), value: 3 }, { name: t('developer.database.schema.enums.TriggerType.TicketCreated'), value: 10 }, { name: t('developer.database.schema.enums.TriggerType.TicketAssigned'), value: 11 }, { name: t('developer.database.schema.enums.TriggerType.Custom'), value: 99 }] },\r\n { name: 'EventType', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.EventType') },\r\n { name: 'Configuration', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Configuration') },\r\n ],\r\n relations: ['Workflows (N:1)'],\r\n },\r\n {\r\n name: 'Steps',\r\n description: t('developer.database.schema.tables.Steps.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'WorkflowId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.WorkflowId'), isForeignKey: true, isRequired: true, referencesTable: 'Workflows' },\r\n { name: 'Type', type: 'INT', description: t('developer.database.schema.columns.common.Type'), enumValues: [{ name: t('developer.database.schema.enums.StepType.SendEmail'), value: 0 }, { name: t('developer.database.schema.enums.StepType.Wait'), value: 1 }, { name: t('developer.database.schema.enums.StepType.Condition'), value: 2 }, { name: t('developer.database.schema.enums.StepType.Webhook'), value: 3 }] },\r\n { name: 'Order', type: 'INT', description: t('developer.database.schema.columns.common.Order') },\r\n { name: 'Configuration', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Configuration') },\r\n ],\r\n relations: ['Workflows (N:1)'],\r\n },\r\n {\r\n name: 'EmailTemplates',\r\n description: t('developer.database.schema.tables.EmailTemplates.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'Subject', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Subject') },\r\n { name: 'Body', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Body') },\r\n ],\r\n relations: ['EmailTemplateTranslations (1:N)'],\r\n },\r\n {\r\n name: 'Executions',\r\n description: t('developer.database.schema.tables.Executions.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'WorkflowId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.WorkflowId'), isForeignKey: true, isRequired: true, referencesTable: 'Workflows' },\r\n { name: 'Status', type: 'INT', description: t('developer.database.schema.columns.common.Status'), enumValues: [{ name: t('developer.database.schema.enums.ExecutionStatus.Pending'), value: 0 }, { name: t('developer.database.schema.enums.ExecutionStatus.Running'), value: 1 }, { name: t('developer.database.schema.enums.ExecutionStatus.Completed'), value: 2 }, { name: t('developer.database.schema.enums.ExecutionStatus.Failed'), value: 3 }, { name: t('developer.database.schema.enums.ExecutionStatus.PartiallyCompleted'), value: 4 }, { name: t('developer.database.schema.enums.ExecutionStatus.Cancelled'), value: 5 }] },\r\n { name: 'StartedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.StartedAt') },\r\n { name: 'CompletedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CompletedAt') },\r\n { name: 'Error', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Error') },\r\n ],\r\n relations: ['Workflows (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'cfg',\r\n description: t('developer.database.schema.cfg.description'),\r\n icon: Settings,\r\n color: 'from-slate-500 to-gray-500',\r\n tables: [\r\n {\r\n name: 'Settings',\r\n description: t('developer.database.schema.tables.Settings.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Key', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Key'), isRequired: true },\r\n { name: 'Value', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Value'), isRequired: true },\r\n { name: 'Category', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Category') },\r\n { name: 'IsEncrypted', type: 'BIT', description: t('developer.database.schema.columns.common.IsEncrypted') },\r\n { name: 'IsSystem', type: 'BIT', description: t('developer.database.schema.columns.common.IsSystem') },\r\n ],\r\n relations: ['SettingHistory (1:N)'],\r\n },\r\n {\r\n name: 'SettingHistory',\r\n description: t('developer.database.schema.tables.SettingHistory.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'SettingId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.SettingId'), isForeignKey: true, isRequired: true, referencesTable: 'Settings' },\r\n { name: 'OldValue', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.OldValue') },\r\n { name: 'NewValue', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.NewValue') },\r\n { name: 'ChangedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.ChangedBy') },\r\n { name: 'ChangedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ChangedAt') },\r\n ],\r\n relations: ['Settings (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'entra',\r\n description: t('developer.database.schema.entra.description'),\r\n icon: CloudCog,\r\n color: 'from-sky-500 to-blue-500',\r\n tables: [\r\n {\r\n name: 'Configuration',\r\n description: t('developer.database.schema.tables.EntraConfiguration.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'EntraTenantId', type: 'NVARCHAR(128)', description: t('developer.database.schema.columns.entra.EntraTenantId') },\r\n { name: 'ClientId', type: 'NVARCHAR(128)', description: t('developer.database.schema.columns.entra.ClientId') },\r\n { name: 'ClientSecretEncrypted', type: 'NVARCHAR(1024)', description: t('developer.database.schema.columns.entra.ClientSecretEncrypted') },\r\n { name: 'SyncIntervalMinutes', type: 'INT', description: t('developer.database.schema.columns.entra.SyncIntervalMinutes') },\r\n { name: 'UseDeltaSync', type: 'BIT', description: t('developer.database.schema.columns.entra.UseDeltaSync') },\r\n { name: 'DefaultConflictResolution', type: 'INT', description: t('developer.database.schema.columns.entra.DefaultConflictResolution'), enumValues: [{ name: t('developer.database.schema.enums.ConflictResolution.ManualReview'), value: 0 }, { name: t('developer.database.schema.enums.ConflictResolution.KeepLocal'), value: 1 }, { name: t('developer.database.schema.enums.ConflictResolution.KeepEntra'), value: 2 }] },\r\n { name: 'AutoCreateReferences', type: 'BIT', description: t('developer.database.schema.columns.entra.AutoCreateReferences') },\r\n { name: 'SyncOnlyActiveUsers', type: 'BIT', description: t('developer.database.schema.columns.entra.SyncOnlyActiveUsers') },\r\n { name: 'SyncUserTypes', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.entra.SyncUserTypes') },\r\n ],\r\n relations: ['Tenants (1:1)'],\r\n },\r\n {\r\n name: 'SyncStates',\r\n description: t('developer.database.schema.tables.EntraSyncStates.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'ResourceType', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.entra.ResourceType'), isRequired: true },\r\n { name: 'DeltaToken', type: 'NVARCHAR(4000)', description: t('developer.database.schema.columns.entra.DeltaToken') },\r\n { name: 'LastSyncStatus', type: 'INT', description: t('developer.database.schema.columns.common.Status'), enumValues: [{ name: t('developer.database.schema.enums.SyncStatus.Pending'), value: 0 }, { name: t('developer.database.schema.enums.SyncStatus.InProgress'), value: 1 }, { name: t('developer.database.schema.enums.SyncStatus.Completed'), value: 2 }, { name: t('developer.database.schema.enums.SyncStatus.Failed'), value: 3 }, { name: t('developer.database.schema.enums.SyncStatus.PartiallyCompleted'), value: 4 }] },\r\n { name: 'LastSyncError', type: 'NVARCHAR(2000)', description: t('developer.database.schema.columns.entra.LastSyncError') },\r\n { name: 'LastSyncAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.LastSyncAt') },\r\n { name: 'ItemsSynced', type: 'INT', description: t('developer.database.schema.columns.entra.ItemsSynced') },\r\n ],\r\n relations: ['Tenants (N:1)'],\r\n },\r\n {\r\n name: 'SyncLogs',\r\n description: t('developer.database.schema.tables.EntraSyncLogs.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'SyncSessionId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.entra.SyncSessionId'), isRequired: true },\r\n { name: 'ResourceType', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.entra.ResourceType'), isRequired: true },\r\n { name: 'EntraObjectId', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.entra.EntraObjectId'), isRequired: true },\r\n { name: 'ChangeType', type: 'INT', description: t('developer.database.schema.columns.entra.ChangeType'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.ChangeType.Created'), value: 0 }, { name: t('developer.database.schema.enums.ChangeType.Updated'), value: 1 }, { name: t('developer.database.schema.enums.ChangeType.Deleted'), value: 2 }] },\r\n { name: 'OldValues', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.entra.OldValues') },\r\n { name: 'NewValues', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.entra.NewValues') },\r\n { name: 'ConflictDetails', type: 'NVARCHAR(2000)', description: t('developer.database.schema.columns.entra.ConflictDetails') },\r\n { name: 'ResolutionDetails', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.entra.ResolutionDetails') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n ],\r\n },\r\n {\r\n name: 'SyncConflicts',\r\n description: t('developer.database.schema.tables.EntraSyncConflicts.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, isRequired: true, referencesTable: 'Tenants' },\r\n { name: 'SyncSessionId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.entra.SyncSessionId'), isRequired: true },\r\n { name: 'ResourceType', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.entra.ResourceType'), isRequired: true },\r\n { name: 'EntraObjectId', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.entra.EntraObjectId'), isRequired: true },\r\n { name: 'EntraDisplayName', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.entra.EntraDisplayName'), isRequired: true },\r\n { name: 'EntraEmail', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.entra.EntraEmail') },\r\n { name: 'ExistingLocalDisplayName', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.entra.ExistingLocalDisplayName') },\r\n { name: 'ConflictType', type: 'INT', description: t('developer.database.schema.columns.entra.ConflictType'), isRequired: true, enumValues: [{ name: t('developer.database.schema.enums.ConflictType.EmailConflict'), value: 0 }, { name: t('developer.database.schema.enums.ConflictType.DataMismatch'), value: 1 }, { name: t('developer.database.schema.enums.ConflictType.DeletedInEntra'), value: 2 }] },\r\n { name: 'ConflictDescription', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.entra.ConflictDescription'), isRequired: true },\r\n { name: 'EntraDataJson', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.entra.EntraDataJson') },\r\n { name: 'LocalDataJson', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.entra.LocalDataJson') },\r\n { name: 'Resolution', type: 'INT', description: t('developer.database.schema.columns.entra.Resolution'), enumValues: [{ name: t('developer.database.schema.enums.ConflictAction.Pending'), value: 0 }, { name: t('developer.database.schema.enums.ConflictAction.KeepLocal'), value: 1 }, { name: t('developer.database.schema.enums.ConflictAction.UseEntra'), value: 2 }, { name: t('developer.database.schema.enums.ConflictAction.Merge'), value: 3 }, { name: t('developer.database.schema.enums.ConflictAction.Ignore'), value: 4 }] },\r\n { name: 'ResolvedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ResolvedAt') },\r\n { name: 'ResolvedBy', type: 'NVARCHAR(256)', description: t('developer.database.schema.columns.common.ResolvedBy') },\r\n { name: 'ResolutionNotes', type: 'NVARCHAR(1000)', description: t('developer.database.schema.columns.entra.ResolutionNotes') },\r\n { name: 'CreatedAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.CreatedAt') },\r\n ],\r\n relations: ['Tenants (N:1)'],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'ref',\r\n description: t('developer.database.schema.ref.description'),\r\n icon: Briefcase,\r\n color: 'from-rose-500 to-pink-500',\r\n tables: [\r\n {\r\n name: 'Organisations',\r\n description: t('developer.database.schema.tables.Organisations.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code') },\r\n { name: 'Type', type: 'INT', description: t('developer.database.schema.columns.common.Type'), enumValues: [{ name: t('developer.database.schema.enums.OrganisationType.Client'), value: 0 }, { name: t('developer.database.schema.enums.OrganisationType.Partner'), value: 1 }, { name: t('developer.database.schema.enums.OrganisationType.Supplier'), value: 2 }] },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['TenantOrganisations (1:N)'],\r\n },\r\n {\r\n name: 'Companies',\r\n description: t('developer.database.schema.tables.Companies.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'LegalName', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.LegalName') },\r\n { name: 'RegistrationNumber', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.RegistrationNumber') },\r\n ],\r\n relations: ['Departments (1:N)', 'Offices (1:N)'],\r\n },\r\n {\r\n name: 'Departments',\r\n description: t('developer.database.schema.tables.Departments.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'CompanyId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.CompanyId'), isForeignKey: true, referencesTable: 'Companies' },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code') },\r\n { name: 'ParentId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.ParentId'), isForeignKey: true, referencesTable: 'Departments' },\r\n ],\r\n relations: ['Companies (N:1)', 'Departments (self N:1)'],\r\n },\r\n {\r\n name: 'Offices',\r\n description: t('developer.database.schema.tables.Offices.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'CompanyId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.CompanyId'), isForeignKey: true, referencesTable: 'Companies' },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Address', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.Address') },\r\n { name: 'City', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.City') },\r\n { name: 'Country', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Country') },\r\n ],\r\n relations: ['Companies (N:1)'],\r\n },\r\n {\r\n name: 'JobTitles',\r\n description: t('developer.database.schema.tables.JobTitles.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'Level', type: 'INT', description: t('developer.database.schema.columns.common.Level') },\r\n ],\r\n },\r\n {\r\n name: 'CostCenters',\r\n description: t('developer.database.schema.tables.CostCenters.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Code', type: 'NVARCHAR(50)', description: t('developer.database.schema.columns.common.Code'), isRequired: true },\r\n { name: 'Name', type: 'NVARCHAR(200)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'loc',\r\n description: t('developer.database.schema.loc.description'),\r\n icon: Globe,\r\n color: 'from-emerald-500 to-green-500',\r\n tables: [\r\n {\r\n name: 'Languages',\r\n description: t('developer.database.schema.tables.Languages.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'Code', type: 'NVARCHAR(10)', description: t('developer.database.schema.columns.common.LanguageCode'), isRequired: true },\r\n { name: 'Name', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.Name'), isRequired: true },\r\n { name: 'NativeName', type: 'NVARCHAR(100)', description: t('developer.database.schema.columns.common.NativeName') },\r\n { name: 'IsDefault', type: 'BIT', description: t('developer.database.schema.columns.common.IsDefault') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'lic',\r\n description: t('developer.database.schema.lic.description'),\r\n icon: KeyRound,\r\n color: 'from-yellow-500 to-amber-500',\r\n tables: [\r\n {\r\n name: 'Licenses',\r\n description: t('developer.database.schema.tables.Licenses.description'),\r\n columns: [\r\n { name: 'Id', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.Id'), isPrimaryKey: true },\r\n { name: 'TenantId', type: 'UNIQUEIDENTIFIER', description: t('developer.database.schema.columns.common.TenantId'), isForeignKey: true, referencesTable: 'Tenants' },\r\n { name: 'LicenseKey', type: 'NVARCHAR(500)', description: t('developer.database.schema.columns.common.LicenseKey'), isRequired: true },\r\n { name: 'Type', type: 'INT', description: t('developer.database.schema.columns.common.Type'), enumValues: [{ name: t('developer.database.schema.enums.LicenseType.Trial'), value: 0 }, { name: t('developer.database.schema.enums.LicenseType.Starter'), value: 1 }, { name: t('developer.database.schema.enums.LicenseType.Professional'), value: 2 }, { name: t('developer.database.schema.enums.LicenseType.Enterprise'), value: 3 }] },\r\n { name: 'MaxUsers', type: 'INT', description: t('developer.database.schema.columns.common.MaxUsers') },\r\n { name: 'Features', type: 'NVARCHAR(MAX)', description: t('developer.database.schema.columns.common.Features') },\r\n { name: 'ExpiresAt', type: 'DATETIME2', description: t('developer.database.schema.columns.common.ExpiresAt') },\r\n { name: 'IsActive', type: 'BIT', description: t('developer.database.schema.columns.common.IsActive') },\r\n ],\r\n relations: ['Tenants (N:1)'],\r\n },\r\n ],\r\n },\r\n];\r\n}\r\n\r\n// ===========================================\r\n// TABLE DETAIL MODAL COMPONENT\r\n// ===========================================\r\ninterface TableDetailModalProps {\r\n readonly table: TableInfo;\r\n readonly schemaName: string;\r\n readonly schemaColor: string;\r\n readonly onClose: () => void;\r\n readonly t: ReturnType<typeof useTranslation>['t'];\r\n}\r\n\r\nfunction TableDetailModal({ table, schemaName, schemaColor, onClose, t }: TableDetailModalProps) {\r\n // Close on escape key\r\n useEffect(() => {\r\n const handleEscape = (e: KeyboardEvent) => {\r\n if (e.key === 'Escape') onClose();\r\n };\r\n document.addEventListener('keydown', handleEscape);\r\n return () => document.removeEventListener('keydown', handleEscape);\r\n }, [onClose]);\r\n\r\n const pkColumns = table.columns.filter(c => c.isPrimaryKey);\r\n const fkColumns = table.columns.filter(c => c.isForeignKey && !c.isPrimaryKey);\r\n const dataColumns = table.columns.filter(c => !c.isPrimaryKey && !c.isForeignKey);\r\n const enumColumns = table.columns.filter(c => (c.enumValues?.length ?? 0) > 0);\r\n\r\n return (\r\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\r\n {/* Backdrop */}\r\n <button\r\n type=\"button\"\r\n className=\"absolute inset-0 bg-black/50 backdrop-blur-sm\"\r\n onClick={onClose}\r\n aria-label=\"Close modal\"\r\n />\r\n\r\n {/* Modal */}\r\n <div className=\"relative bg-[var(--bg-primary)] rounded-xl shadow-2xl max-w-3xl w-full max-h-[85vh] overflow-hidden flex flex-col\">\r\n {/* Header */}\r\n <div className={`px-6 py-4 bg-gradient-to-r ${schemaColor} text-white`}>\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-3\">\r\n <Table className=\"w-6 h-6\" />\r\n <div>\r\n <h2 className=\"text-xl font-bold\">{schemaName}.{table.name}</h2>\r\n <p className=\"text-white/80 text-sm\">{table.description}</p>\r\n </div>\r\n </div>\r\n <button\r\n onClick={onClose}\r\n className=\"p-2 hover:bg-white/20 rounded-lg transition-colors\"\r\n >\r\n <X className=\"w-5 h-5\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n {/* Content */}\r\n <div className=\"flex-1 overflow-y-auto p-6 space-y-6\">\r\n {/* Primary Keys */}\r\n {pkColumns.length > 0 && (\r\n <div>\r\n <h3 className=\"text-sm font-semibold text-[var(--warning-text)] mb-2 flex items-center gap-2\">\r\n <Key className=\"w-4 h-4\" />\r\n {t('developer.database.modal.primaryKeys')} ({pkColumns.length})\r\n </h3>\r\n <div className=\"space-y-2\">\r\n {pkColumns.map(col => (\r\n <div key={col.name} className=\"p-3 rounded-lg bg-[var(--warning-bg)] border border-[var(--warning-border)]\">\r\n <div className=\"flex items-center justify-between\">\r\n <span className=\"font-mono font-semibold\">{col.name}</span>\r\n <span className=\"text-xs font-mono text-[var(--text-tertiary)]\">{col.type}</span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">{col.description}</p>\r\n {col.isForeignKey && col.referencesTable && (\r\n <p className=\"text-xs text-[var(--info-text)] mt-1 flex items-center gap-1\">\r\n <Link2 className=\"w-3 h-3\" />\r\n {t('developer.database.modal.reference')}: {col.referencesTable}\r\n </p>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Foreign Keys */}\r\n {fkColumns.length > 0 && (\r\n <div>\r\n <h3 className=\"text-sm font-semibold text-[var(--info-text)] mb-2 flex items-center gap-2\">\r\n <Link2 className=\"w-4 h-4\" />\r\n {t('developer.database.modal.foreignKeys')} ({fkColumns.length})\r\n </h3>\r\n <div className=\"space-y-2\">\r\n {fkColumns.map(col => (\r\n <div key={col.name} className=\"p-3 rounded-lg bg-[var(--info-bg)] border border-[var(--info-border)]\">\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"font-mono font-semibold\">{col.name}</span>\r\n {col.isRequired && <span className=\"text-[var(--error-text)]\">*</span>}\r\n </div>\r\n <span className=\"text-xs font-mono text-[var(--text-tertiary)]\">{col.type}</span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">{col.description}</p>\r\n {col.referencesTable && (\r\n <p className=\"text-xs text-[var(--info-text)] mt-1 flex items-center gap-1\">\r\n <ChevronRight className=\"w-3 h-3\" />\r\n {t('developer.database.modal.reference')}: <span className=\"font-semibold\">{col.referencesTable}</span>\r\n </p>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Data Columns */}\r\n {dataColumns.length > 0 && (\r\n <div>\r\n <h3 className=\"text-sm font-semibold text-[var(--text-primary)] mb-2 flex items-center gap-2\">\r\n <Table className=\"w-4 h-4\" />\r\n {t('developer.database.modal.dataColumns')} ({dataColumns.length})\r\n </h3>\r\n <div className=\"space-y-2\">\r\n {dataColumns.map(col => (\r\n <div key={col.name} className=\"p-3 rounded-lg bg-[var(--bg-secondary)] border border-[var(--border-color)]\">\r\n <div className=\"flex items-center justify-between\">\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"font-mono font-semibold\">{col.name}</span>\r\n {col.isRequired && <span className=\"text-[var(--error-text)]\">*</span>}\r\n </div>\r\n <span className=\"text-xs font-mono text-[var(--text-tertiary)]\">{col.type}</span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">{col.description}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Relations */}\r\n {(table.relations?.length ?? 0) > 0 && (\r\n <div>\r\n <h3 className=\"text-sm font-semibold text-[var(--text-primary)] mb-2 flex items-center gap-2\">\r\n <Link2 className=\"w-4 h-4\" />\r\n {t('developer.database.modal.relations')} ({table.relations?.length})\r\n </h3>\r\n <div className=\"flex flex-wrap gap-2\">\r\n {table.relations?.map(rel => {\r\n const parsed = parseRelation(rel);\r\n return (\r\n <span\r\n key={rel}\r\n className=\"px-3 py-1.5 rounded-lg bg-[var(--bg-secondary)] border border-[var(--border-color)] text-sm\"\r\n >\r\n {parsed ? (\r\n <>\r\n <span className=\"font-semibold\">{parsed.targetTable}</span>\r\n <span className=\"text-[var(--text-tertiary)] ml-1\">({parsed.cardinality})</span>\r\n </>\r\n ) : rel}\r\n </span>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Enum Values */}\r\n {enumColumns.length > 0 && (\r\n <div>\r\n <h3 className=\"text-sm font-semibold text-[var(--color-primary-600)] mb-3 flex items-center gap-2\">\r\n <Layers className=\"w-4 h-4\" />\r\n {t('developer.database.modal.enumValues')} ({enumColumns.length})\r\n </h3>\r\n <div className=\"space-y-4\">\r\n {enumColumns.map(col => (\r\n <div key={col.name} className=\"p-4 rounded-lg bg-gradient-to-r from-[var(--color-primary-600)]/5 to-transparent border border-[var(--color-primary-600)]/20\">\r\n <div className=\"flex items-center gap-2 mb-3\">\r\n <span className=\"font-mono font-semibold text-[var(--color-primary-600)]\">{col.name}</span>\r\n <span className=\"text-xs text-[var(--text-tertiary)]\">({col.description})</span>\r\n </div>\r\n <div className=\"grid grid-cols-2 md:grid-cols-3 gap-2\">\r\n {col.enumValues?.map(ev => (\r\n <div\r\n key={ev.value}\r\n className=\"flex items-center justify-between px-3 py-2 rounded bg-[var(--bg-primary)] border border-[var(--border-color)]\"\r\n >\r\n <span className=\"font-medium text-sm\">{ev.name}</span>\r\n <span className=\"text-xs font-mono px-2 py-0.5 rounded bg-[var(--color-primary-600)]/10 text-[var(--color-primary-600)]\">\r\n {ev.value}\r\n </span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {/* Footer */}\r\n <div className=\"px-6 py-3 border-t border-[var(--border-color)] bg-[var(--bg-secondary)] text-xs text-[var(--text-tertiary)]\">\r\n <div className=\"flex items-center gap-4\">\r\n <span><Key className=\"w-3 h-3 inline mr-1\" />{t('developer.database.modal.legend.pk')}</span>\r\n <span><Link2 className=\"w-3 h-3 inline mr-1\" />{t('developer.database.modal.legend.fk')}</span>\r\n <span><span className=\"text-[var(--error-text)]\">*</span> {t('developer.database.modal.legend.required')}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n// ===========================================\r\n// ERD TABLE BOX COMPONENT\r\n// ===========================================\r\ninterface ERDTableBoxProps {\r\n readonly table: TableInfo;\r\n readonly schemaName: string;\r\n readonly position: { x: number; y: number };\r\n readonly isHighlighted?: boolean;\r\n readonly onClick: () => void;\r\n readonly t: ReturnType<typeof useTranslation>['t'];\r\n}\r\n\r\nfunction ERDTableBox({ table, position, isHighlighted, onClick, t }: ERDTableBoxProps) {\r\n const pkColumns = table.columns.filter(c => c.isPrimaryKey);\r\n const fkColumns = table.columns.filter(c => c.isForeignKey && !c.isPrimaryKey);\r\n const keyColumns = [...pkColumns, ...fkColumns].slice(0, 5); // Show max 5 key columns\r\n const hasMoreColumns = table.columns.length > keyColumns.length;\r\n\r\n return (\r\n <g transform={`translate(${position.x}, ${position.y})`}>\r\n {/* Card background */}\r\n <rect\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"180\"\r\n height={60 + keyColumns.length * 22 + (hasMoreColumns ? 20 : 0)}\r\n rx=\"8\"\r\n className={`fill-[var(--bg-primary)] stroke-[var(--border-color)] stroke-1 cursor-pointer transition-all ${\r\n isHighlighted ? 'stroke-[var(--color-primary-600)] stroke-2' : ''\r\n }`}\r\n onClick={onClick}\r\n style={{ filter: isHighlighted ? 'drop-shadow(0 4px 12px rgba(var(--color-primary-rgb), 0.3))' : 'drop-shadow(0 2px 4px rgba(0,0,0,0.1))' }}\r\n />\r\n\r\n {/* Header */}\r\n <rect\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"180\"\r\n height=\"36\"\r\n rx=\"8\"\r\n className=\"fill-[var(--color-primary-600)] cursor-pointer\"\r\n onClick={onClick}\r\n />\r\n <rect\r\n x=\"0\"\r\n y=\"28\"\r\n width=\"180\"\r\n height=\"8\"\r\n className=\"fill-[var(--color-primary-600)]\"\r\n />\r\n\r\n {/* Table name */}\r\n <text\r\n x=\"10\"\r\n y=\"24\"\r\n className=\"fill-white text-xs font-semibold cursor-pointer\"\r\n onClick={onClick}\r\n >\r\n {table.name}\r\n </text>\r\n\r\n {/* Key columns */}\r\n {keyColumns.map((col, idx) => (\r\n <g key={col.name} transform={`translate(0, ${44 + idx * 22})`}>\r\n {/* Icon */}\r\n {col.isPrimaryKey ? (\r\n <circle cx=\"14\" cy=\"6\" r=\"4\" className=\"fill-[var(--warning-text)]\" />\r\n ) : (\r\n <circle cx=\"14\" cy=\"6\" r=\"4\" className=\"fill-[var(--info-text)]\" />\r\n )}\r\n {/* Column name */}\r\n <text x=\"26\" y=\"10\" className=\"fill-[var(--text-primary)] text-[10px] font-mono\">\r\n {col.name}\r\n </text>\r\n {/* Type (truncated) */}\r\n <text x=\"170\" y=\"10\" textAnchor=\"end\" className=\"fill-[var(--text-tertiary)] text-[8px] font-mono\">\r\n {col.type.length > 12 ? col.type.slice(0, 12) + '...' : col.type}\r\n </text>\r\n </g>\r\n ))}\r\n\r\n {/* \"More columns\" indicator */}\r\n {hasMoreColumns && (\r\n <text\r\n x=\"90\"\r\n y={54 + keyColumns.length * 22}\r\n textAnchor=\"middle\"\r\n className=\"fill-[var(--text-tertiary)] text-[10px] cursor-pointer\"\r\n onClick={onClick}\r\n >\r\n +{table.columns.length - keyColumns.length} {t('developer.database.moreColumns')}\r\n </text>\r\n )}\r\n </g>\r\n );\r\n}\r\n\r\n// ===========================================\r\n// SCHEMA ERD DIAGRAM COMPONENT\r\n// ===========================================\r\ninterface SchemaERDProps {\r\n readonly schema: SchemaInfo;\r\n readonly onTableClick: (table: TableInfo) => void;\r\n readonly t: ReturnType<typeof useTranslation>['t'];\r\n}\r\n\r\nfunction SchemaERD({ schema, onTableClick, t }: SchemaERDProps) {\r\n const svgRef = useRef<SVGSVGElement>(null);\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const [zoom, setZoom] = useState(1);\r\n const [pan, setPan] = useState({ x: 0, y: 0 });\r\n const [isPanning, setIsPanning] = useState(false);\r\n const [startPan, setStartPan] = useState({ x: 0, y: 0 });\r\n const [hoveredTable, setHoveredTable] = useState<string | null>(null);\r\n\r\n // Calculate positions for tables in a grid layout\r\n const tablePositions = useMemo(() => {\r\n const positions: Record<string, { x: number; y: number }> = {};\r\n const cols = Math.ceil(Math.sqrt(schema.tables.length));\r\n const colWidth = 220;\r\n const rowHeight = 200;\r\n\r\n schema.tables.forEach((table, idx) => {\r\n const col = idx % cols;\r\n const row = Math.floor(idx / cols);\r\n positions[table.name] = {\r\n x: 40 + col * colWidth,\r\n y: 40 + row * rowHeight,\r\n };\r\n });\r\n\r\n return positions;\r\n }, [schema.tables]);\r\n\r\n const addForeignKeyConnection = (\r\n conns: Array<{ from: string; to: string; fromCol: string; toCol: string }>,\r\n table: any,\r\n col: any\r\n ) => {\r\n const targetTable = schema.tables.find(t => t.name === col.referencesTable);\r\n if (targetTable) {\r\n conns.push({ from: table.name, to: col.referencesTable, fromCol: col.name, toCol: 'Id' });\r\n }\r\n };\r\n\r\n const buildConnections = (): Array<{ from: string; to: string; fromCol: string; toCol: string }> => {\r\n const conns: Array<{ from: string; to: string; fromCol: string; toCol: string }> = [];\r\n schema.tables.forEach(table => {\r\n table.columns.forEach(col => {\r\n if (col.isForeignKey && col.referencesTable) {\r\n addForeignKeyConnection(conns, table, col);\r\n }\r\n });\r\n });\r\n return conns;\r\n };\r\n\r\n const connections = useMemo(buildConnections, [schema.tables]);\r\n\r\n // Calculate SVG dimensions\r\n const svgWidth = useMemo(() => {\r\n const maxX = Math.max(...Object.values(tablePositions).map(p => p.x)) + 220;\r\n return Math.max(maxX, 600);\r\n }, [tablePositions]);\r\n\r\n const svgHeight = useMemo(() => {\r\n const maxY = Math.max(...Object.values(tablePositions).map(p => p.y)) + 250;\r\n return Math.max(maxY, 400);\r\n }, [tablePositions]);\r\n\r\n // Pan handlers\r\n const handleMouseDown = (e: React.MouseEvent) => {\r\n if (e.button === 0) {\r\n setIsPanning(true);\r\n setStartPan({ x: e.clientX - pan.x, y: e.clientY - pan.y });\r\n }\r\n };\r\n\r\n const handleMouseMove = (e: React.MouseEvent) => {\r\n if (isPanning) {\r\n setPan({ x: e.clientX - startPan.x, y: e.clientY - startPan.y });\r\n }\r\n };\r\n\r\n const handleMouseUp = () => {\r\n setIsPanning(false);\r\n };\r\n\r\n // Zoom handlers\r\n const handleZoomIn = () => setZoom(z => Math.min(z + 0.2, 2));\r\n const handleZoomOut = () => setZoom(z => Math.max(z - 0.2, 0.4));\r\n const handleReset = () => { setZoom(1); setPan({ x: 0, y: 0 }); };\r\n\r\n // Draw connection path between two tables\r\n const drawConnection = (from: string, to: string) => {\r\n const fromPos = tablePositions[from];\r\n const toPos = tablePositions[to];\r\n if (!fromPos || !toPos) return null;\r\n\r\n const fromCenter = { x: fromPos.x + 90, y: fromPos.y + 50 };\r\n const toCenter = { x: toPos.x + 90, y: toPos.y + 50 };\r\n\r\n // Calculate control points for curved line\r\n const dx = toCenter.x - fromCenter.x;\r\n const dy = toCenter.y - fromCenter.y;\r\n const midX = fromCenter.x + dx / 2;\r\n const midY = fromCenter.y + dy / 2;\r\n\r\n const isHighlighted = hoveredTable === from || hoveredTable === to;\r\n\r\n return (\r\n <g key={`${from}-${to}`}>\r\n <path\r\n d={`M ${fromCenter.x} ${fromCenter.y} Q ${midX} ${midY + Math.abs(dx) * 0.2} ${toCenter.x} ${toCenter.y}`}\r\n fill=\"none\"\r\n className={`stroke-[var(--border-color)] ${isHighlighted ? 'stroke-[var(--color-primary-600)]' : ''}`}\r\n strokeWidth={isHighlighted ? 2 : 1}\r\n strokeDasharray={isHighlighted ? 'none' : '4 2'}\r\n markerEnd=\"url(#arrowhead)\"\r\n />\r\n </g>\r\n );\r\n };\r\n\r\n return (\r\n <div className=\"relative border border-[var(--border-color)] rounded-xl overflow-hidden bg-[var(--bg-secondary)]\">\r\n {/* Toolbar */}\r\n <div className=\"absolute top-2 right-2 z-10 flex items-center gap-1 bg-[var(--bg-primary)] rounded-lg shadow-lg p-1\">\r\n <button\r\n onClick={handleZoomOut}\r\n className=\"p-2 hover:bg-[var(--bg-hover)] rounded transition-colors\"\r\n title={t('developer.database.toolbar.zoomOut')}\r\n >\r\n <ZoomOut className=\"w-4 h-4\" />\r\n </button>\r\n <span className=\"px-2 text-xs text-[var(--text-secondary)]\">{Math.round(zoom * 100)}%</span>\r\n <button\r\n onClick={handleZoomIn}\r\n className=\"p-2 hover:bg-[var(--bg-hover)] rounded transition-colors\"\r\n title={t('developer.database.toolbar.zoomIn')}\r\n >\r\n <ZoomIn className=\"w-4 h-4\" />\r\n </button>\r\n <div className=\"w-px h-4 bg-[var(--border-color)]\" />\r\n <button\r\n onClick={handleReset}\r\n className=\"p-2 hover:bg-[var(--bg-hover)] rounded transition-colors\"\r\n title={t('developer.database.toolbar.reset')}\r\n >\r\n <Maximize2 className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n\r\n {/* SVG Container */}\r\n <div\r\n ref={containerRef}\r\n className=\"overflow-hidden cursor-grab active:cursor-grabbing\"\r\n style={{ height: '450px' }}\r\n onMouseDown={handleMouseDown}\r\n onMouseMove={handleMouseMove}\r\n onMouseUp={handleMouseUp}\r\n onMouseLeave={handleMouseUp}\r\n >\r\n <svg\r\n ref={svgRef}\r\n width=\"100%\"\r\n height=\"100%\"\r\n viewBox={`${-pan.x / zoom} ${-pan.y / zoom} ${svgWidth / zoom} ${svgHeight / zoom}`}\r\n style={{ transform: `scale(${zoom})`, transformOrigin: 'top left' }}\r\n >\r\n {/* Arrow marker definition */}\r\n <defs>\r\n <marker\r\n id=\"arrowhead\"\r\n markerWidth=\"10\"\r\n markerHeight=\"7\"\r\n refX=\"9\"\r\n refY=\"3.5\"\r\n orient=\"auto\"\r\n markerUnits=\"strokeWidth\"\r\n >\r\n <polygon\r\n points=\"0 0, 10 3.5, 0 7\"\r\n className=\"fill-[var(--border-color)]\"\r\n />\r\n </marker>\r\n </defs>\r\n\r\n {/* Draw connections first (behind tables) */}\r\n <g className=\"connections\">\r\n {connections.map(conn => drawConnection(conn.from, conn.to))}\r\n </g>\r\n\r\n {/* Draw tables */}\r\n <g className=\"tables\">\r\n {schema.tables.map(table => (\r\n <g\r\n key={table.name}\r\n onMouseEnter={() => setHoveredTable(table.name)}\r\n onMouseLeave={() => setHoveredTable(null)}\r\n >\r\n <ERDTableBox\r\n table={table}\r\n schemaName={schema.name}\r\n position={tablePositions[table.name]}\r\n isHighlighted={hoveredTable === table.name}\r\n onClick={() => onTableClick(table)}\r\n t={t}\r\n />\r\n </g>\r\n ))}\r\n </g>\r\n </svg>\r\n </div>\r\n\r\n {/* Legend */}\r\n <div className=\"absolute bottom-2 left-2 flex items-center gap-4 text-xs bg-[var(--bg-primary)]/90 px-3 py-1.5 rounded-lg\">\r\n <span className=\"flex items-center gap-1\">\r\n <span className=\"w-2 h-2 rounded-full bg-[var(--warning-text)]\" />\r\n {t('developer.database.schemaLegend.primaryKey')}\r\n </span>\r\n <span className=\"flex items-center gap-1\">\r\n <span className=\"w-2 h-2 rounded-full bg-[var(--info-text)]\" />\r\n {t('developer.database.schemaLegend.foreignKey')}\r\n </span>\r\n <span className=\"flex items-center gap-1\">\r\n <span className=\"w-8 border-t border-dashed border-[var(--border-color)]\" />\r\n {t('developer.database.schemaLegend.fkRelation')}\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n// ===========================================\r\n// MAIN DATABASE PAGE COMPONENT\r\n// ===========================================\r\nexport function DatabasePage(): ReactElement {\r\n const [selectedTable, setSelectedTable] = useState<{ table: TableInfo; schema: SchemaInfo } | null>(null);\r\n const [activeSchema, setActiveSchema] = useState<string | null>(null);\r\n const { t } = useTranslation('docs');\r\n\r\n // Build schemas with translations\r\n const schemas = useMemo(() => getSchemas(t), [t]);\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.database.breadcrumb')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Database className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.database.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.database.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Legend */}\r\n <div className=\"card p-4 flex flex-wrap gap-4 text-sm\">\r\n <div className=\"flex items-center gap-2\">\r\n <Key className=\"w-4 h-4 text-[var(--warning-text)]\" />\r\n <span>{t('developer.database.legend.primaryKey')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <Link2 className=\"w-4 h-4 text-[var(--info-text)]\" />\r\n <span>{t('developer.database.legend.foreignKey')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"text-[var(--error-text)]\">*</span>\r\n <span>{t('developer.database.legend.required')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-2 ml-auto text-[var(--text-tertiary)]\">\r\n <span>{t('developer.database.legend.clickTable')}</span>\r\n </div>\r\n </div>\r\n\r\n {/* Schemas Quick Nav */}\r\n <div className=\"flex flex-wrap gap-2\">\r\n {schemas.map((schema) => (\r\n <button\r\n key={schema.name}\r\n onClick={() => {\r\n setActiveSchema(activeSchema === schema.name ? null : schema.name);\r\n document.getElementById(`schema-${schema.name}`)?.scrollIntoView({ behavior: 'smooth' });\r\n }}\r\n className={`px-3 py-2 rounded-lg border transition-all flex items-center gap-2 ${\r\n activeSchema === schema.name\r\n ? 'border-[var(--color-primary-600)] bg-[var(--color-primary-600)]/10 text-[var(--color-primary-600)]'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-primary-600)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <div className={`w-6 h-6 rounded bg-gradient-to-br ${schema.color} flex items-center justify-center`}>\r\n <schema.icon className=\"w-3.5 h-3.5 text-white\" />\r\n </div>\r\n <span className=\"font-medium text-sm\">{schema.name}</span>\r\n <span className=\"text-xs text-[var(--text-tertiary)]\">{schema.tables.length}</span>\r\n </button>\r\n ))}\r\n </div>\r\n\r\n {/* Schema ERD Diagrams */}\r\n {schemas.map((schema) => (\r\n <section key={schema.name} id={`schema-${schema.name}`} className=\"space-y-4\">\r\n <div className=\"flex items-center gap-4 pt-6 border-t border-[var(--border-color)]\">\r\n <div className={`w-12 h-12 rounded-xl bg-gradient-to-br ${schema.color} flex items-center justify-center`}>\r\n <schema.icon className=\"w-6 h-6 text-white\" />\r\n </div>\r\n <div className=\"flex-1\">\r\n <h2 className=\"text-xl font-semibold\">Schema: {schema.name}</h2>\r\n <p className=\"text-[var(--text-secondary)]\">{schema.description}</p>\r\n </div>\r\n <div className=\"text-right\">\r\n <span className=\"text-2xl font-bold text-[var(--color-primary-600)]\">{schema.tables.length}</span>\r\n <span className=\"text-sm text-[var(--text-secondary)] ml-1\">tables</span>\r\n </div>\r\n </div>\r\n\r\n {/* ERD Diagram */}\r\n <SchemaERD\r\n schema={schema}\r\n onTableClick={(table) => setSelectedTable({ table, schema })}\r\n t={t}\r\n />\r\n </section>\r\n ))}\r\n\r\n {/* Database Schemas Info */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.database.schemas.title')}</h2>\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n {t('developer.database.schemas.description')}\r\n </p>\r\n <div className=\"grid md:grid-cols-2 gap-4 mb-4\">\r\n <div className=\"p-4 rounded-lg bg-[var(--info-bg)] border border-[var(--info-border)]\">\r\n <h4 className=\"font-semibold text-[var(--info-text)] mb-2\">{t('developer.database.schemas.core.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">\r\n {t('developer.database.schemas.core.description')}\r\n <br /><strong>{t('common:route')}:</strong> <code>{t('developer.database.schemas.core.convention')}</code>\r\n </p>\r\n </div>\r\n <div className=\"p-4 rounded-lg bg-[var(--success-bg)] border border-[var(--success-border)]\">\r\n <h4 className=\"font-semibold text-[var(--success-text)] mb-2\">{t('developer.database.schemas.extensions.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">\r\n {t('developer.database.schemas.extensions.description')}\r\n <br /><strong>{t('common:route')}:</strong> <code>{t('developer.database.schemas.extensions.convention')}</code>\r\n </p>\r\n </div>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-tertiary)]\">\r\n {t('developer.database.schemas.link')} <Link to=\"/system/docs/developer/dual-dbcontext\" className=\"text-[var(--color-primary-600)] hover:underline\">Dual-DbContext</Link> {t('developer.database.schemas.link')}.\r\n </p>\r\n </section>\r\n\r\n {/* EF Core Configuration */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.database.efcore.title')}</h2>\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n {t('developer.database.efcore.description')}\r\n </p>\r\n <pre className=\"bg-[var(--bg-secondary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n {t('developer.database.efcore.path')}\r\n </pre>\r\n </section>\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/developer/commands\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n {t('developer.database.nav.prev')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/user/architecture\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.database.nav.next')}\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n\r\n {/* Table Detail Modal */}\r\n {selectedTable && (\r\n <TableDetailModal\r\n table={selectedTable.table}\r\n schemaName={selectedTable.schema.name}\r\n schemaColor={selectedTable.schema.color}\r\n onClose={() => setSelectedTable(null)}\r\n t={t}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"names":["parseRelation","relation","match","getSchemas","t","Layers","Shield","Users","Headphones","Building2","Bot","Mail","Settings","CloudCog","Briefcase","Globe","KeyRound","TableDetailModal","table","schemaName","schemaColor","onClose","useEffect","handleEscape","e","pkColumns","c","fkColumns","dataColumns","enumColumns","jsxs","jsx","Table","X","Key","col","Link2","ChevronRight","rel","parsed","Fragment","ev","ERDTableBox","position","isHighlighted","onClick","keyColumns","hasMoreColumns","idx","SchemaERD","schema","onTableClick","svgRef","useRef","containerRef","zoom","setZoom","useState","pan","setPan","isPanning","setIsPanning","startPan","setStartPan","hoveredTable","setHoveredTable","tablePositions","useMemo","positions","cols","colWidth","rowHeight","row","addForeignKeyConnection","conns","buildConnections","connections","svgWidth","maxX","p","svgHeight","maxY","handleMouseDown","handleMouseMove","handleMouseUp","handleZoomIn","z","handleZoomOut","handleReset","drawConnection","from","to","fromPos","toPos","fromCenter","toCenter","dx","dy","midX","midY","ZoomOut","ZoomIn","Maximize2","conn","DatabasePage","selectedTable","setSelectedTable","activeSchema","setActiveSchema","useTranslation","schemas","Link","Database","ArrowRight"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeveloperIndexPage-CtBfD2JI.cjs","sources":["../src/pages/system/docs/developer/DeveloperIndexPage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Code, Database, Download, ArrowRight, Server, Folder, GitBranch, Layers, Link2, Building2, Monitor, Shield } from 'lucide-react';\r\n\r\nexport function DeveloperIndexPage() {\r\n const { t } = useTranslation('docs');\r\n\r\n const topics = [\r\n {\r\n titleKey: 'developer.topics.infrastructure.title',\r\n descriptionKey: 'developer.topics.infrastructure.description',\r\n icon: Server,\r\n href: '/system/docs/developer/infrastructure',\r\n tags: ['.NET 10', 'React 19', 'EF Core', 'SQL Server'],\r\n },\r\n {\r\n titleKey: 'developer.topics.installation.title',\r\n descriptionKey: 'developer.topics.installation.description',\r\n icon: Download,\r\n href: '/system/docs/developer/installation',\r\n tags: ['Prerequisites', 'Setup', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.database.title',\r\n descriptionKey: 'developer.topics.database.description',\r\n icon: Database,\r\n href: '/system/docs/developer/database',\r\n tags: ['MCD', 'Schemas', 'Relations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.dualDbContext.title',\r\n descriptionKey: 'developer.topics.dualDbContext.description',\r\n icon: Layers,\r\n href: '/system/docs/developer/dual-dbcontext',\r\n tags: ['CoreDbContext', 'ExtensionsDbContext', 'NuGet', 'Migrations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.crossSchemaFk.title',\r\n descriptionKey: 'developer.topics.crossSchemaFk.description',\r\n icon: Link2,\r\n href: '/system/docs/developer/cross-schema-fk',\r\n tags: ['ICoreDataService', 'GUID FK', 'No Navigation'],\r\n },\r\n {\r\n titleKey: 'developer.topics.tenants.title',\r\n descriptionKey: 'developer.topics.tenants.description',\r\n icon: Building2,\r\n href: '/system/docs/developer/tenants',\r\n tags: ['B2C', 'B2B', 'Multi-Tenant', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.teamsIntegration.title',\r\n descriptionKey: 'developer.topics.teamsIntegration.description',\r\n icon: Monitor,\r\n href: '/system/docs/developer/teams-integration',\r\n tags: ['Microsoft Teams', 'Website Tab', 'Iframe', 'SSO'],\r\n },\r\n {\r\n titleKey: 'developer.topics.securityTesting.title',\r\n descriptionKey: 'developer.topics.securityTesting.description',\r\n icon: Shield,\r\n href: '/system/docs/developer/testing/security',\r\n tags: ['SonarCloud', 'OWASP ZAP', 'SAST', 'DAST'],\r\n },\r\n ];\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)] mb-2\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.developer')}</span>\r\n </div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Code className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Topics Grid */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {topics.map((topic) => (\r\n <Link\r\n key={topic.href}\r\n to={topic.href}\r\n className=\"card p-6 hover:shadow-lg transition-all group\"\r\n >\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10\">\r\n <topic.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1\">\r\n <h3 className=\"text-lg font-semibold group-hover:text-[var(--color-primary-600)] transition-colors flex items-center gap-2\">\r\n {t(topic.titleKey)}\r\n <ArrowRight className=\"w-4 h-4 opacity-0 group-hover:opacity-100 transition-opacity\" />\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] text-sm mt-1\">{t(topic.descriptionKey)}</p>\r\n <div className=\"flex flex-wrap gap-2 mt-3\">\r\n {topic.tags.map((tag) => (\r\n <span\r\n key={tag}\r\n className=\"px-2 py-0.5 text-xs rounded bg-[var(--bg-secondary)] text-[var(--text-tertiary)]\"\r\n >\r\n {tag}\r\n </span>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </Link>\r\n ))}\r\n </div>\r\n\r\n {/* Structure Overview */}\r\n <div className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Folder className=\"w-5 h-5\" />\r\n {t('developer.projectStructure.title')}\r\n </h2>\r\n <pre className=\"bg-[var(--bg-secondary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n{`SmartStack.sln\r\n├── src/\r\n│ ├── SmartStack.Domain → ${t('developer.projectStructure.domain')}\r\n│ ├── SmartStack.Application → ${t('developer.projectStructure.application')}\r\n│ ├── SmartStack.Infrastructure → ${t('developer.projectStructure.infrastructure')}\r\n│ └── SmartStack.Api → ${t('developer.projectStructure.api')}\r\n└── web/\r\n └── smartstack-web → ${t('developer.projectStructure.web')}`}\r\n </pre>\r\n </div>\r\n\r\n {/* GitFlow Info */}\r\n <div className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <GitBranch className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">{t('developer.gitflow.title')}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.gitflow.description')}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandStart')}</code>\r\n {t('common.and', { defaultValue: 'et' })}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandFinish')}</code>\r\n {t('developer.gitflow.descriptionEnd')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["DeveloperIndexPage","useTranslation","topics","Server","Download","Database","Layers","Link2","Building2","Monitor","Shield","jsxs","jsx","Link","Code","topic","ArrowRight","tag","Folder","GitBranch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeveloperIndexPage-CtBfD2JI.cjs","sources":["../src/pages/system/docs/developer/DeveloperIndexPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Code, Database, Download, ArrowRight, Server, Folder, GitBranch, Layers, Link2, Building2, Monitor, Shield } from 'lucide-react';\r\n\r\nexport function DeveloperIndexPage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n\r\n const topics = [\r\n {\r\n titleKey: 'developer.topics.infrastructure.title',\r\n descriptionKey: 'developer.topics.infrastructure.description',\r\n icon: Server,\r\n href: '/system/docs/developer/infrastructure',\r\n tags: ['.NET 10', 'React 19', 'EF Core', 'SQL Server'],\r\n },\r\n {\r\n titleKey: 'developer.topics.installation.title',\r\n descriptionKey: 'developer.topics.installation.description',\r\n icon: Download,\r\n href: '/system/docs/developer/installation',\r\n tags: ['Prerequisites', 'Setup', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.database.title',\r\n descriptionKey: 'developer.topics.database.description',\r\n icon: Database,\r\n href: '/system/docs/developer/database',\r\n tags: ['MCD', 'Schemas', 'Relations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.dualDbContext.title',\r\n descriptionKey: 'developer.topics.dualDbContext.description',\r\n icon: Layers,\r\n href: '/system/docs/developer/dual-dbcontext',\r\n tags: ['CoreDbContext', 'ExtensionsDbContext', 'NuGet', 'Migrations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.crossSchemaFk.title',\r\n descriptionKey: 'developer.topics.crossSchemaFk.description',\r\n icon: Link2,\r\n href: '/system/docs/developer/cross-schema-fk',\r\n tags: ['ICoreDataService', 'GUID FK', 'No Navigation'],\r\n },\r\n {\r\n titleKey: 'developer.topics.tenants.title',\r\n descriptionKey: 'developer.topics.tenants.description',\r\n icon: Building2,\r\n href: '/system/docs/developer/tenants',\r\n tags: ['B2C', 'B2B', 'Multi-Tenant', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.teamsIntegration.title',\r\n descriptionKey: 'developer.topics.teamsIntegration.description',\r\n icon: Monitor,\r\n href: '/system/docs/developer/teams-integration',\r\n tags: ['Microsoft Teams', 'Website Tab', 'Iframe', 'SSO'],\r\n },\r\n {\r\n titleKey: 'developer.topics.securityTesting.title',\r\n descriptionKey: 'developer.topics.securityTesting.description',\r\n icon: Shield,\r\n href: '/system/docs/developer/testing/security',\r\n tags: ['SonarCloud', 'OWASP ZAP', 'SAST', 'DAST'],\r\n },\r\n ];\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)] mb-2\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.developer')}</span>\r\n </div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Code className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Topics Grid */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {topics.map((topic) => (\r\n <Link\r\n key={topic.href}\r\n to={topic.href}\r\n className=\"card p-6 hover:shadow-lg transition-all group\"\r\n >\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10\">\r\n <topic.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1\">\r\n <h3 className=\"text-lg font-semibold group-hover:text-[var(--color-primary-600)] transition-colors flex items-center gap-2\">\r\n {t(topic.titleKey)}\r\n <ArrowRight className=\"w-4 h-4 opacity-0 group-hover:opacity-100 transition-opacity\" />\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] text-sm mt-1\">{t(topic.descriptionKey)}</p>\r\n <div className=\"flex flex-wrap gap-2 mt-3\">\r\n {topic.tags.map((tag) => (\r\n <span\r\n key={tag}\r\n className=\"px-2 py-0.5 text-xs rounded bg-[var(--bg-secondary)] text-[var(--text-tertiary)]\"\r\n >\r\n {tag}\r\n </span>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </Link>\r\n ))}\r\n </div>\r\n\r\n {/* Structure Overview */}\r\n <div className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Folder className=\"w-5 h-5\" />\r\n {t('developer.projectStructure.title')}\r\n </h2>\r\n <pre className=\"bg-[var(--bg-secondary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n{`SmartStack.sln\r\n├── src/\r\n│ ├── SmartStack.Domain → ${t('developer.projectStructure.domain')}\r\n│ ├── SmartStack.Application → ${t('developer.projectStructure.application')}\r\n│ ├── SmartStack.Infrastructure → ${t('developer.projectStructure.infrastructure')}\r\n│ └── SmartStack.Api → ${t('developer.projectStructure.api')}\r\n└── web/\r\n └── smartstack-web → ${t('developer.projectStructure.web')}`}\r\n </pre>\r\n </div>\r\n\r\n {/* GitFlow Info */}\r\n <div className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <GitBranch className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">{t('developer.gitflow.title')}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.gitflow.description')}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandStart')}</code>\r\n {t('common.and', { defaultValue: 'et' })}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandFinish')}</code>\r\n {t('developer.gitflow.descriptionEnd')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["DeveloperIndexPage","useTranslation","topics","Server","Download","Database","Layers","Link2","Building2","Monitor","Shield","jsxs","jsx","Link","Code","topic","ArrowRight","tag","Folder","GitBranch"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeveloperIndexPage-D4zD_pop.js","sources":["../src/pages/system/docs/developer/DeveloperIndexPage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Code, Database, Download, ArrowRight, Server, Folder, GitBranch, Layers, Link2, Building2, Monitor, Shield } from 'lucide-react';\r\n\r\nexport function DeveloperIndexPage() {\r\n const { t } = useTranslation('docs');\r\n\r\n const topics = [\r\n {\r\n titleKey: 'developer.topics.infrastructure.title',\r\n descriptionKey: 'developer.topics.infrastructure.description',\r\n icon: Server,\r\n href: '/system/docs/developer/infrastructure',\r\n tags: ['.NET 10', 'React 19', 'EF Core', 'SQL Server'],\r\n },\r\n {\r\n titleKey: 'developer.topics.installation.title',\r\n descriptionKey: 'developer.topics.installation.description',\r\n icon: Download,\r\n href: '/system/docs/developer/installation',\r\n tags: ['Prerequisites', 'Setup', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.database.title',\r\n descriptionKey: 'developer.topics.database.description',\r\n icon: Database,\r\n href: '/system/docs/developer/database',\r\n tags: ['MCD', 'Schemas', 'Relations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.dualDbContext.title',\r\n descriptionKey: 'developer.topics.dualDbContext.description',\r\n icon: Layers,\r\n href: '/system/docs/developer/dual-dbcontext',\r\n tags: ['CoreDbContext', 'ExtensionsDbContext', 'NuGet', 'Migrations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.crossSchemaFk.title',\r\n descriptionKey: 'developer.topics.crossSchemaFk.description',\r\n icon: Link2,\r\n href: '/system/docs/developer/cross-schema-fk',\r\n tags: ['ICoreDataService', 'GUID FK', 'No Navigation'],\r\n },\r\n {\r\n titleKey: 'developer.topics.tenants.title',\r\n descriptionKey: 'developer.topics.tenants.description',\r\n icon: Building2,\r\n href: '/system/docs/developer/tenants',\r\n tags: ['B2C', 'B2B', 'Multi-Tenant', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.teamsIntegration.title',\r\n descriptionKey: 'developer.topics.teamsIntegration.description',\r\n icon: Monitor,\r\n href: '/system/docs/developer/teams-integration',\r\n tags: ['Microsoft Teams', 'Website Tab', 'Iframe', 'SSO'],\r\n },\r\n {\r\n titleKey: 'developer.topics.securityTesting.title',\r\n descriptionKey: 'developer.topics.securityTesting.description',\r\n icon: Shield,\r\n href: '/system/docs/developer/testing/security',\r\n tags: ['SonarCloud', 'OWASP ZAP', 'SAST', 'DAST'],\r\n },\r\n ];\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)] mb-2\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.developer')}</span>\r\n </div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Code className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Topics Grid */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {topics.map((topic) => (\r\n <Link\r\n key={topic.href}\r\n to={topic.href}\r\n className=\"card p-6 hover:shadow-lg transition-all group\"\r\n >\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10\">\r\n <topic.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1\">\r\n <h3 className=\"text-lg font-semibold group-hover:text-[var(--color-primary-600)] transition-colors flex items-center gap-2\">\r\n {t(topic.titleKey)}\r\n <ArrowRight className=\"w-4 h-4 opacity-0 group-hover:opacity-100 transition-opacity\" />\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] text-sm mt-1\">{t(topic.descriptionKey)}</p>\r\n <div className=\"flex flex-wrap gap-2 mt-3\">\r\n {topic.tags.map((tag) => (\r\n <span\r\n key={tag}\r\n className=\"px-2 py-0.5 text-xs rounded bg-[var(--bg-secondary)] text-[var(--text-tertiary)]\"\r\n >\r\n {tag}\r\n </span>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </Link>\r\n ))}\r\n </div>\r\n\r\n {/* Structure Overview */}\r\n <div className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Folder className=\"w-5 h-5\" />\r\n {t('developer.projectStructure.title')}\r\n </h2>\r\n <pre className=\"bg-[var(--bg-secondary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n{`SmartStack.sln\r\n├── src/\r\n│ ├── SmartStack.Domain → ${t('developer.projectStructure.domain')}\r\n│ ├── SmartStack.Application → ${t('developer.projectStructure.application')}\r\n│ ├── SmartStack.Infrastructure → ${t('developer.projectStructure.infrastructure')}\r\n│ └── SmartStack.Api → ${t('developer.projectStructure.api')}\r\n└── web/\r\n └── smartstack-web → ${t('developer.projectStructure.web')}`}\r\n </pre>\r\n </div>\r\n\r\n {/* GitFlow Info */}\r\n <div className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <GitBranch className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">{t('developer.gitflow.title')}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.gitflow.description')}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandStart')}</code>\r\n {t('common.and', { defaultValue: 'et' })}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandFinish')}</code>\r\n {t('developer.gitflow.descriptionEnd')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["DeveloperIndexPage","useTranslation","topics","Server","Download","Database","Layers","Link2","Building2","Monitor","Shield","jsxs","jsx","Link","Code","topic","ArrowRight","tag","Folder","GitBranch"],"mappings":";;;;AAIO,SAASA,IAAqB;AACnC,QAAM,EAAE,EAAA,IAAMC,EAAe,MAAM,GAE7BC,IAAS;AAAA,IACb;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,WAAW,YAAY,WAAW,YAAY;AAAA,IAAA;AAAA,IAEvD;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB,SAAS,eAAe;AAAA,IAAA;AAAA,IAElD;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,OAAO,WAAW,WAAW;AAAA,IAAA;AAAA,IAEtC;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB,uBAAuB,SAAS,YAAY;AAAA,IAAA;AAAA,IAEtE;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,oBAAoB,WAAW,eAAe;AAAA,IAAA;AAAA,IAEvD;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,OAAO,OAAO,gBAAgB,eAAe;AAAA,IAAA;AAAA,IAEtD;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,mBAAmB,eAAe,UAAU,KAAK;AAAA,IAAA;AAAA,IAE1D;AAAA,MACE,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,MAAMC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,cAAc,aAAa,QAAQ,MAAM;AAAA,IAAA;AAAA,EAClD;AAGF,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,aAEb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qEACb,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAK,IAAG,gBAAe,WAAU,yCAAyC,UAAA,EAAE,0BAA0B,GAAE;AAAA,QACzG,gBAAAD,EAAC,UAAK,UAAA,IAAA,CAAC;AAAA,QACP,gBAAAA,EAAC,QAAA,EAAM,UAAA,EAAE,sBAAsB,EAAA,CAAE;AAAA,MAAA,GACnC;AAAA,MACA,gBAAAD,EAAC,MAAA,EAAG,WAAU,mDACZ,UAAA;AAAA,QAAA,gBAAAC,EAACE,GAAA,EAAK,WAAU,0CAAA,CAA0C;AAAA,QACzD,EAAE,iBAAiB;AAAA,MAAA,GACtB;AAAA,wBACC,KAAA,EAAE,WAAU,wCACV,UAAA,EAAE,oBAAoB,EAAA,CACzB;AAAA,IAAA,GACF;AAAA,sBAGC,OAAA,EAAI,WAAU,yCACZ,UAAAZ,EAAO,IAAI,CAACa,MACX,gBAAAH;AAAA,MAACC;AAAA,MAAA;AAAA,QAEC,IAAIE,EAAM;AAAA,QACV,WAAU;AAAA,QAEV,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,mDACb,UAAA,gBAAAA,EAACG,EAAM,MAAN,EAAW,WAAU,0CAAA,CAA0C,EAAA,CAClE;AAAA,UACA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,UACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,+GACX,UAAA;AAAA,cAAA,EAAEI,EAAM,QAAQ;AAAA,cACjB,gBAAAH,EAACI,GAAA,EAAW,WAAU,+DAAA,CAA+D;AAAA,YAAA,GACvF;AAAA,8BACC,KAAA,EAAE,WAAU,6CAA6C,UAAA,EAAED,EAAM,cAAc,GAAE;AAAA,YAClF,gBAAAH,EAAC,SAAI,WAAU,6BACZ,YAAM,KAAK,IAAI,CAACK,MACf,gBAAAL;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAU;AAAA,gBAET,UAAAK;AAAA,cAAA;AAAA,cAHIA;AAAA,YAAA,CAKR,EAAA,CACH;AAAA,UAAA,EAAA,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,MAzBKF,EAAM;AAAA,IAAA,CA2Bd,GACH;AAAA,IAGA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,QAAA,gBAAAC,EAACM,GAAA,EAAO,WAAU,UAAA,CAAU;AAAA,QAC3B,EAAE,kCAAkC;AAAA,MAAA,GACvC;AAAA,MACA,gBAAAN,EAAC,OAAA,EAAI,WAAU,mEACtB,UAAA;AAAA;AAAA,sCAEqC,EAAE,mCAAmC,CAAC;AAAA,sCACtC,EAAE,wCAAwC,CAAC;AAAA,sCAC3C,EAAE,2CAA2C,CAAC;AAAA,sCAC9C,EAAE,gCAAgC,CAAC;AAAA;AAAA,sCAEnC,EAAE,gCAAgC,CAAC,GAAA,CACjE;AAAA,IAAA,GACF;AAAA,sBAGC,OAAA,EAAI,WAAU,8FACb,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,MAAA,gBAAAC,EAACO,GAAA,EAAU,WAAU,kCAAA,CAAkC;AAAA,wBACtD,OAAA,EACC,UAAA;AAAA,QAAA,gBAAAP,EAAC,MAAA,EAAG,WAAU,yCAAyC,UAAA,EAAE,yBAAyB,GAAE;AAAA,QACpF,gBAAAD,EAAC,KAAA,EAAE,WAAU,6CACV,UAAA;AAAA,UAAA,EAAE,+BAA+B;AAAA,4BACjC,QAAA,EAAK,WAAU,8CAA8C,UAAA,EAAE,gCAAgC,GAAE;AAAA,UACjG,EAAE,cAAc,EAAE,cAAc,MAAM;AAAA,4BACtC,QAAA,EAAK,WAAU,8CAA8C,UAAA,EAAE,iCAAiC,GAAE;AAAA,UAClG,EAAE,kCAAkC;AAAA,QAAA,EAAA,CACvC;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"DeveloperIndexPage-D4zD_pop.js","sources":["../src/pages/system/docs/developer/DeveloperIndexPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Code, Database, Download, ArrowRight, Server, Folder, GitBranch, Layers, Link2, Building2, Monitor, Shield } from 'lucide-react';\r\n\r\nexport function DeveloperIndexPage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n\r\n const topics = [\r\n {\r\n titleKey: 'developer.topics.infrastructure.title',\r\n descriptionKey: 'developer.topics.infrastructure.description',\r\n icon: Server,\r\n href: '/system/docs/developer/infrastructure',\r\n tags: ['.NET 10', 'React 19', 'EF Core', 'SQL Server'],\r\n },\r\n {\r\n titleKey: 'developer.topics.installation.title',\r\n descriptionKey: 'developer.topics.installation.description',\r\n icon: Download,\r\n href: '/system/docs/developer/installation',\r\n tags: ['Prerequisites', 'Setup', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.database.title',\r\n descriptionKey: 'developer.topics.database.description',\r\n icon: Database,\r\n href: '/system/docs/developer/database',\r\n tags: ['MCD', 'Schemas', 'Relations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.dualDbContext.title',\r\n descriptionKey: 'developer.topics.dualDbContext.description',\r\n icon: Layers,\r\n href: '/system/docs/developer/dual-dbcontext',\r\n tags: ['CoreDbContext', 'ExtensionsDbContext', 'NuGet', 'Migrations'],\r\n },\r\n {\r\n titleKey: 'developer.topics.crossSchemaFk.title',\r\n descriptionKey: 'developer.topics.crossSchemaFk.description',\r\n icon: Link2,\r\n href: '/system/docs/developer/cross-schema-fk',\r\n tags: ['ICoreDataService', 'GUID FK', 'No Navigation'],\r\n },\r\n {\r\n titleKey: 'developer.topics.tenants.title',\r\n descriptionKey: 'developer.topics.tenants.description',\r\n icon: Building2,\r\n href: '/system/docs/developer/tenants',\r\n tags: ['B2C', 'B2B', 'Multi-Tenant', 'Configuration'],\r\n },\r\n {\r\n titleKey: 'developer.topics.teamsIntegration.title',\r\n descriptionKey: 'developer.topics.teamsIntegration.description',\r\n icon: Monitor,\r\n href: '/system/docs/developer/teams-integration',\r\n tags: ['Microsoft Teams', 'Website Tab', 'Iframe', 'SSO'],\r\n },\r\n {\r\n titleKey: 'developer.topics.securityTesting.title',\r\n descriptionKey: 'developer.topics.securityTesting.description',\r\n icon: Shield,\r\n href: '/system/docs/developer/testing/security',\r\n tags: ['SonarCloud', 'OWASP ZAP', 'SAST', 'DAST'],\r\n },\r\n ];\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)] mb-2\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.developer')}</span>\r\n </div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Code className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Topics Grid */}\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {topics.map((topic) => (\r\n <Link\r\n key={topic.href}\r\n to={topic.href}\r\n className=\"card p-6 hover:shadow-lg transition-all group\"\r\n >\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10\">\r\n <topic.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1\">\r\n <h3 className=\"text-lg font-semibold group-hover:text-[var(--color-primary-600)] transition-colors flex items-center gap-2\">\r\n {t(topic.titleKey)}\r\n <ArrowRight className=\"w-4 h-4 opacity-0 group-hover:opacity-100 transition-opacity\" />\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] text-sm mt-1\">{t(topic.descriptionKey)}</p>\r\n <div className=\"flex flex-wrap gap-2 mt-3\">\r\n {topic.tags.map((tag) => (\r\n <span\r\n key={tag}\r\n className=\"px-2 py-0.5 text-xs rounded bg-[var(--bg-secondary)] text-[var(--text-tertiary)]\"\r\n >\r\n {tag}\r\n </span>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </Link>\r\n ))}\r\n </div>\r\n\r\n {/* Structure Overview */}\r\n <div className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Folder className=\"w-5 h-5\" />\r\n {t('developer.projectStructure.title')}\r\n </h2>\r\n <pre className=\"bg-[var(--bg-secondary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n{`SmartStack.sln\r\n├── src/\r\n│ ├── SmartStack.Domain → ${t('developer.projectStructure.domain')}\r\n│ ├── SmartStack.Application → ${t('developer.projectStructure.application')}\r\n│ ├── SmartStack.Infrastructure → ${t('developer.projectStructure.infrastructure')}\r\n│ └── SmartStack.Api → ${t('developer.projectStructure.api')}\r\n└── web/\r\n └── smartstack-web → ${t('developer.projectStructure.web')}`}\r\n </pre>\r\n </div>\r\n\r\n {/* GitFlow Info */}\r\n <div className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <GitBranch className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">{t('developer.gitflow.title')}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.gitflow.description')}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandStart')}</code>\r\n {t('common.and', { defaultValue: 'et' })}\r\n <code className=\"mx-1 px-1 bg-[var(--bg-secondary)] rounded\">{t('developer.gitflow.commandFinish')}</code>\r\n {t('developer.gitflow.descriptionEnd')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["DeveloperIndexPage","useTranslation","topics","Server","Download","Database","Layers","Link2","Building2","Monitor","Shield","jsxs","jsx","Link","Code","topic","ArrowRight","tag","Folder","GitBranch"],"mappings":"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"}
|