@atlashub/smartstack 3.28.0 → 3.30.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/chunks/{AgentSkillsPage-ChykpPZx.js → AgentSkillsPage-CVq3qZoe.js} +2 -2
- package/dist/chunks/{AgentSkillsPage-ChykpPZx.js.map → AgentSkillsPage-CVq3qZoe.js.map} +1 -1
- package/dist/chunks/{AgentSkillsPage-ABpqnnyK.js → AgentSkillsPage-DJb49NMA.js} +2 -2
- package/dist/chunks/{AgentSkillsPage-ABpqnnyK.js.map → AgentSkillsPage-DJb49NMA.js.map} +1 -1
- package/dist/chunks/{AgentWorkloadPage-BltzNlXI.js → AgentWorkloadPage-D_nk3gKj.js} +2 -2
- package/dist/chunks/{AgentWorkloadPage-BltzNlXI.js.map → AgentWorkloadPage-D_nk3gKj.js.map} +1 -1
- package/dist/chunks/{AgentWorkloadPage-BI5QWJyQ.js → AgentWorkloadPage-oHEi-sFh.js} +2 -2
- package/dist/chunks/{AgentWorkloadPage-BI5QWJyQ.js.map → AgentWorkloadPage-oHEi-sFh.js.map} +1 -1
- package/dist/chunks/{ApiCatalogDetailPage-BaheZKBq.js → ApiCatalogDetailPage-Cr0q2HnB.js} +3 -3
- package/dist/chunks/{ApiCatalogDetailPage-BaheZKBq.js.map → ApiCatalogDetailPage-Cr0q2HnB.js.map} +1 -1
- package/dist/chunks/{ApiCatalogDetailPage-CsRxlHwO.js → ApiCatalogDetailPage-DX8buBkV.js} +2 -2
- package/dist/chunks/{ApiCatalogDetailPage-CsRxlHwO.js.map → ApiCatalogDetailPage-DX8buBkV.js.map} +1 -1
- package/dist/chunks/{ApiCatalogPage-CqmmHpQ4.js → ApiCatalogPage-DN7sazvI.js} +2 -2
- package/dist/chunks/{ApiCatalogPage-CqmmHpQ4.js.map → ApiCatalogPage-DN7sazvI.js.map} +1 -1
- package/dist/chunks/{ApiCatalogPage-B0yIz8-U.js → ApiCatalogPage-DqboIzZE.js} +2 -2
- package/dist/chunks/{ApiCatalogPage-B0yIz8-U.js.map → ApiCatalogPage-DqboIzZE.js.map} +1 -1
- package/dist/chunks/{ApplicationDetailPage-CngD5JSN.js → ApplicationDetailPage--9YwwS5A.js} +2 -2
- package/dist/chunks/{ApplicationDetailPage-CngD5JSN.js.map → ApplicationDetailPage--9YwwS5A.js.map} +1 -1
- package/dist/chunks/{ApplicationDetailPage-CdT6KNd7.js → ApplicationDetailPage-CCNjr64K.js} +4 -4
- package/dist/chunks/{ApplicationDetailPage-CdT6KNd7.js.map → ApplicationDetailPage-CCNjr64K.js.map} +1 -1
- package/dist/chunks/{ApplicationsDashboardPage-DHmnjk2O.js → ApplicationsDashboardPage-BSsHN3Yj.js} +2 -2
- package/dist/chunks/{ApplicationsDashboardPage-DHmnjk2O.js.map → ApplicationsDashboardPage-BSsHN3Yj.js.map} +1 -1
- package/dist/chunks/{ApplicationsDashboardPage-1V4iQ6eY.js → ApplicationsDashboardPage-Bs-Xgca4.js} +3 -3
- package/dist/chunks/{ApplicationsDashboardPage-1V4iQ6eY.js.map → ApplicationsDashboardPage-Bs-Xgca4.js.map} +1 -1
- package/dist/chunks/{ApplicationsGridPage-Bo3NDnBF.js → ApplicationsGridPage-DDysNWJ5.js} +2 -2
- package/dist/chunks/{ApplicationsGridPage-Bo3NDnBF.js.map → ApplicationsGridPage-DDysNWJ5.js.map} +1 -1
- package/dist/chunks/{ApplicationsGridPage-CiMJFlB_.js → ApplicationsGridPage-s1WEzOXS.js} +2 -2
- package/dist/chunks/{ApplicationsGridPage-CiMJFlB_.js.map → ApplicationsGridPage-s1WEzOXS.js.map} +1 -1
- package/dist/chunks/{ApplicationsListPage-L2_S23aN.js → ApplicationsListPage-B3CSMiV0.js} +2 -2
- package/dist/chunks/{ApplicationsListPage-L2_S23aN.js.map → ApplicationsListPage-B3CSMiV0.js.map} +1 -1
- package/dist/chunks/{ApplicationsListPage-De8jQ1Cm.js → ApplicationsListPage-B6ZCecIl.js} +2 -2
- package/dist/chunks/{ApplicationsListPage-De8jQ1Cm.js.map → ApplicationsListPage-B6ZCecIl.js.map} +1 -1
- package/dist/chunks/{ApplicationsPage-DBq7_Sm8.js → ApplicationsPage-BBaiBM--.js} +2 -2
- package/dist/chunks/{ApplicationsPage-DBq7_Sm8.js.map → ApplicationsPage-BBaiBM--.js.map} +1 -1
- package/dist/chunks/{ApplicationsPage-CiNI-b0R.js → ApplicationsPage-ztPwoAGt.js} +4 -4
- package/dist/chunks/{ApplicationsPage-CiNI-b0R.js.map → ApplicationsPage-ztPwoAGt.js.map} +1 -1
- package/dist/chunks/{AssignmentRulesPage-DFsO4ZES.js → AssignmentRulesPage-CK4L4rBO.js} +2 -2
- package/dist/chunks/{AssignmentRulesPage-DFsO4ZES.js.map → AssignmentRulesPage-CK4L4rBO.js.map} +1 -1
- package/dist/chunks/{AssignmentRulesPage-C8rfUsMB.js → AssignmentRulesPage-DFSVFFXr.js} +2 -2
- package/dist/chunks/{AssignmentRulesPage-C8rfUsMB.js.map → AssignmentRulesPage-DFSVFFXr.js.map} +1 -1
- package/dist/chunks/{AssignmentsPage-78C_EBsw.js → AssignmentsPage-Bp7oQD7Q.js} +2 -2
- package/dist/chunks/{AssignmentsPage-78C_EBsw.js.map → AssignmentsPage-Bp7oQD7Q.js.map} +1 -1
- package/dist/chunks/{AssignmentsPage-COCikISI.js → AssignmentsPage-JCLpyg94.js} +2 -2
- package/dist/chunks/{AssignmentsPage-COCikISI.js.map → AssignmentsPage-JCLpyg94.js.map} +1 -1
- package/dist/chunks/{AuthCallbackPage-DqT6ueVi.js → AuthCallbackPage-Bl9xlJ3h.js} +2 -2
- package/dist/chunks/{AuthCallbackPage-DqT6ueVi.js.map → AuthCallbackPage-Bl9xlJ3h.js.map} +1 -1
- package/dist/chunks/{AuthCallbackPage-BF4bkTnR.js → AuthCallbackPage-CzMHz4jy.js} +2 -2
- package/dist/chunks/{AuthCallbackPage-BF4bkTnR.js.map → AuthCallbackPage-CzMHz4jy.js.map} +1 -1
- package/dist/chunks/{ConfirmEmailPage-Bh_K5qJn.js → ConfirmEmailPage-D_8T1vqV.js} +2 -2
- package/dist/chunks/{ConfirmEmailPage-Bh_K5qJn.js.map → ConfirmEmailPage-D_8T1vqV.js.map} +1 -1
- package/dist/chunks/{ConfirmEmailPage-DJy4idrf.js → ConfirmEmailPage-M7mJgXvn.js} +2 -2
- package/dist/chunks/{ConfirmEmailPage-DJy4idrf.js.map → ConfirmEmailPage-M7mJgXvn.js.map} +1 -1
- package/dist/chunks/{CreateSupportTicketPage-pL7jbG9o.js → CreateSupportTicketPage-BNEGavlu.js} +2 -2
- package/dist/chunks/{CreateSupportTicketPage-pL7jbG9o.js.map → CreateSupportTicketPage-BNEGavlu.js.map} +1 -1
- package/dist/chunks/{CreateSupportTicketPage-AVTwXbJd.js → CreateSupportTicketPage-C2X2mfds.js} +2 -2
- package/dist/chunks/{CreateSupportTicketPage-AVTwXbJd.js.map → CreateSupportTicketPage-C2X2mfds.js.map} +1 -1
- package/dist/chunks/{DashboardPage-DdQlTLw0.js → DashboardPage-4oy2YqvT.js} +2 -2
- package/dist/chunks/{DashboardPage-DdQlTLw0.js.map → DashboardPage-4oy2YqvT.js.map} +1 -1
- package/dist/chunks/{DashboardPage-C55mIiB6.js → DashboardPage-CO-8B8EI.js} +3 -3
- package/dist/chunks/{DashboardPage-C55mIiB6.js.map → DashboardPage-CO-8B8EI.js.map} +1 -1
- package/dist/chunks/{DashboardPage-CcCnUl7s.js → DashboardPage-CPArUG-S.js} +2 -2
- package/dist/chunks/{DashboardPage-CcCnUl7s.js.map → DashboardPage-CPArUG-S.js.map} +1 -1
- package/dist/chunks/{DashboardPage-DOitDfGV.js → DashboardPage-D5MRMxEV.js} +3 -3
- package/dist/chunks/{DashboardPage-DOitDfGV.js.map → DashboardPage-D5MRMxEV.js.map} +1 -1
- package/dist/chunks/{EscalationConfigPage-DNnZftCH.js → EscalationConfigPage-CwdnfJbJ.js} +2 -2
- package/dist/chunks/{EscalationConfigPage-DNnZftCH.js.map → EscalationConfigPage-CwdnfJbJ.js.map} +1 -1
- package/dist/chunks/{EscalationConfigPage-DRr55328.js → EscalationConfigPage-DnjLFXnL.js} +2 -2
- package/dist/chunks/{EscalationConfigPage-DRr55328.js.map → EscalationConfigPage-DnjLFXnL.js.map} +1 -1
- package/dist/chunks/{ForceChangePasswordPage-1SCOPIqK.js → ForceChangePasswordPage-ZEIfyqwE.js} +2 -2
- package/dist/chunks/{ForceChangePasswordPage-1SCOPIqK.js.map → ForceChangePasswordPage-ZEIfyqwE.js.map} +1 -1
- package/dist/chunks/{ForceChangePasswordPage-DBeG_HRO.js → ForceChangePasswordPage-sh-3h_H9.js} +2 -2
- package/dist/chunks/{ForceChangePasswordPage-DBeG_HRO.js.map → ForceChangePasswordPage-sh-3h_H9.js.map} +1 -1
- package/dist/chunks/{ForgotPasswordPage-Dlb6wKfC.js → ForgotPasswordPage-B4M6-xeM.js} +2 -2
- package/dist/chunks/{ForgotPasswordPage-Dlb6wKfC.js.map → ForgotPasswordPage-B4M6-xeM.js.map} +1 -1
- package/dist/chunks/{ForgotPasswordPage-DffYfXva.js → ForgotPasswordPage-MIu-U7p0.js} +2 -2
- package/dist/chunks/{ForgotPasswordPage-DffYfXva.js.map → ForgotPasswordPage-MIu-U7p0.js.map} +1 -1
- package/dist/chunks/{GroupDetailPage-C9nRbeHI.js → GroupDetailPage-4XK3Bs_r.js} +5 -5
- package/dist/chunks/{GroupDetailPage-C9nRbeHI.js.map → GroupDetailPage-4XK3Bs_r.js.map} +1 -1
- package/dist/chunks/{GroupDetailPage-CPPUWzXf.js → GroupDetailPage-C-kvtd2T.js} +2 -2
- package/dist/chunks/{GroupDetailPage-CPPUWzXf.js.map → GroupDetailPage-C-kvtd2T.js.map} +1 -1
- package/dist/chunks/{MyAccessRequestsPage-BAX0xwJX.js → MyAccessRequestsPage-CP41FzHi.js} +2 -2
- package/dist/chunks/{MyAccessRequestsPage-BAX0xwJX.js.map → MyAccessRequestsPage-CP41FzHi.js.map} +1 -1
- package/dist/chunks/{MyAccessRequestsPage-BMY1V631.js → MyAccessRequestsPage-DzrXTrVi.js} +2 -2
- package/dist/chunks/{MyAccessRequestsPage-BMY1V631.js.map → MyAccessRequestsPage-DzrXTrVi.js.map} +1 -1
- package/dist/chunks/{MyTenantsPage-Bbn4HxN2.js → MyTenantsPage-CZRkMbh8.js} +2 -2
- package/dist/chunks/{MyTenantsPage-Bbn4HxN2.js.map → MyTenantsPage-CZRkMbh8.js.map} +1 -1
- package/dist/chunks/{MyTenantsPage-BHtp67SD.js → MyTenantsPage-V_SwYio2.js} +3 -3
- package/dist/chunks/{MyTenantsPage-BHtp67SD.js.map → MyTenantsPage-V_SwYio2.js.map} +1 -1
- package/dist/chunks/{MyTicketsPage-BvZeiTXu.js → MyTicketsPage-DOUhaLal.js} +2 -2
- package/dist/chunks/{MyTicketsPage-BvZeiTXu.js.map → MyTicketsPage-DOUhaLal.js.map} +1 -1
- package/dist/chunks/{MyTicketsPage-D9IGVofj.js → MyTicketsPage-DnvAIeyr.js} +2 -2
- package/dist/chunks/{MyTicketsPage-D9IGVofj.js.map → MyTicketsPage-DnvAIeyr.js.map} +1 -1
- package/dist/chunks/{NavigationAppsPage-DiPBCsAF.js → NavigationAppsPage-DXvpLsbt.js} +2 -2
- package/dist/chunks/{NavigationAppsPage-DiPBCsAF.js.map → NavigationAppsPage-DXvpLsbt.js.map} +1 -1
- package/dist/chunks/{NavigationAppsPage-ChtMK1yt.js → NavigationAppsPage-DfTa4jCG.js} +2 -2
- package/dist/chunks/{NavigationAppsPage-ChtMK1yt.js.map → NavigationAppsPage-DfTa4jCG.js.map} +1 -1
- package/dist/chunks/{NotificationsPage-BxCiGzHk.js → NotificationsPage-D76MdAs-.js} +2 -2
- package/dist/chunks/{NotificationsPage-BxCiGzHk.js.map → NotificationsPage-D76MdAs-.js.map} +1 -1
- package/dist/chunks/{NotificationsPage-BCnL9oPb.js → NotificationsPage-I1yCk7tk.js} +2 -2
- package/dist/chunks/{NotificationsPage-BCnL9oPb.js.map → NotificationsPage-I1yCk7tk.js.map} +1 -1
- package/dist/chunks/{OnboardingWizardPage-CV_cxq7k.js → OnboardingWizardPage-BRUzcl1A.js} +2 -2
- package/dist/chunks/{OnboardingWizardPage-CV_cxq7k.js.map → OnboardingWizardPage-BRUzcl1A.js.map} +1 -1
- package/dist/chunks/{OnboardingWizardPage-Du-tQ2ag.js → OnboardingWizardPage-DtWUPCh3.js} +2 -2
- package/dist/chunks/{OnboardingWizardPage-Du-tQ2ag.js.map → OnboardingWizardPage-DtWUPCh3.js.map} +1 -1
- package/dist/chunks/{PermissionDetailPage-C1iuWv0G.js → PermissionDetailPage-CUNKbl7t.js} +2 -2
- package/dist/chunks/{PermissionDetailPage-C1iuWv0G.js.map → PermissionDetailPage-CUNKbl7t.js.map} +1 -1
- package/dist/chunks/{PermissionDetailPage-Ds4Jt1os.js → PermissionDetailPage-DJJGbXoX.js} +2 -2
- package/dist/chunks/{PermissionDetailPage-Ds4Jt1os.js.map → PermissionDetailPage-DJJGbXoX.js.map} +1 -1
- package/dist/chunks/{PermissionsPage-BGI2nxCn.js → PermissionsPage-B8wmawPV.js} +2 -2
- package/dist/chunks/{PermissionsPage-BGI2nxCn.js.map → PermissionsPage-B8wmawPV.js.map} +1 -1
- package/dist/chunks/{PermissionsPage-sauv7ct1.js → PermissionsPage-Dbjcctuh.js} +2 -2
- package/dist/chunks/{PermissionsPage-sauv7ct1.js.map → PermissionsPage-Dbjcctuh.js.map} +1 -1
- package/dist/chunks/{PortalDashboardPage-CQWEcghD.js → PortalDashboardPage-BeNfBZmb.js} +2 -2
- package/dist/chunks/{PortalDashboardPage-CQWEcghD.js.map → PortalDashboardPage-BeNfBZmb.js.map} +1 -1
- package/dist/chunks/{PortalDashboardPage-2kCbJw9w.js → PortalDashboardPage-zii0ll57.js} +2 -2
- package/dist/chunks/{PortalDashboardPage-2kCbJw9w.js.map → PortalDashboardPage-zii0ll57.js.map} +1 -1
- package/dist/chunks/{PreferencesPage-Bu4gaDRb.js → PreferencesPage-BCpuIGzv.js} +2 -2
- package/dist/chunks/{PreferencesPage-Bu4gaDRb.js.map → PreferencesPage-BCpuIGzv.js.map} +1 -1
- package/dist/chunks/{PreferencesPage-Dbg0bEYD.js → PreferencesPage-BmvrBaAD.js} +2 -2
- package/dist/chunks/{PreferencesPage-Dbg0bEYD.js.map → PreferencesPage-BmvrBaAD.js.map} +1 -1
- package/dist/chunks/{ProfilePage-C5QS7tsh.js → ProfilePage-eowQd59_.js} +2 -2
- package/dist/chunks/{ProfilePage-C5QS7tsh.js.map → ProfilePage-eowQd59_.js.map} +1 -1
- package/dist/chunks/{ProfilePage-DfiBhOUt.js → ProfilePage-mf5wI0-n.js} +2 -2
- package/dist/chunks/{ProfilePage-DfiBhOUt.js.map → ProfilePage-mf5wI0-n.js.map} +1 -1
- package/dist/chunks/{ReferencesManagementPage-Bs0mapj8.js → ReferencesManagementPage-8UPgkVE8.js} +3 -3
- package/dist/chunks/{ReferencesManagementPage-Bs0mapj8.js.map → ReferencesManagementPage-8UPgkVE8.js.map} +1 -1
- package/dist/chunks/{ReferencesManagementPage-C0RgHbJb.js → ReferencesManagementPage-CLsaUNqA.js} +2 -2
- package/dist/chunks/{ReferencesManagementPage-C0RgHbJb.js.map → ReferencesManagementPage-CLsaUNqA.js.map} +1 -1
- package/dist/chunks/{RegisterPage-DS1chV_A.js → RegisterPage-57X-ILDb.js} +2 -2
- package/dist/chunks/{RegisterPage-DS1chV_A.js.map → RegisterPage-57X-ILDb.js.map} +1 -1
- package/dist/chunks/{RegisterPage-DoeIiJt0.js → RegisterPage-CNyHSbqs.js} +2 -2
- package/dist/chunks/{RegisterPage-DoeIiJt0.js.map → RegisterPage-CNyHSbqs.js.map} +1 -1
- package/dist/chunks/{ResetPasswordPage-3KEk3zj5.js → ResetPasswordPage-CyV8l-Zo.js} +2 -2
- package/dist/chunks/{ResetPasswordPage-3KEk3zj5.js.map → ResetPasswordPage-CyV8l-Zo.js.map} +1 -1
- package/dist/chunks/{ResetPasswordPage-C_VQSFB5.js → ResetPasswordPage-JW8-mh_k.js} +2 -2
- package/dist/chunks/{ResetPasswordPage-C_VQSFB5.js.map → ResetPasswordPage-JW8-mh_k.js.map} +1 -1
- package/dist/chunks/{ResolutionModal-S6URD--N.js → ResolutionModal-CjwE73NX.js} +2 -2
- package/dist/chunks/{ResolutionModal-S6URD--N.js.map → ResolutionModal-CjwE73NX.js.map} +1 -1
- package/dist/chunks/{ResolutionModal-BzI1x79r.js → ResolutionModal-wddG59kg.js} +2 -2
- package/dist/chunks/{ResolutionModal-BzI1x79r.js.map → ResolutionModal-wddG59kg.js.map} +1 -1
- package/dist/chunks/{RoleDetailPage-SXK9cq_3.js → RoleDetailPage-CrioVHFI.js} +3 -3
- package/dist/chunks/{RoleDetailPage-SXK9cq_3.js.map → RoleDetailPage-CrioVHFI.js.map} +1 -1
- package/dist/chunks/{RoleDetailPage-DvEEWPKr.js → RoleDetailPage-TUOGR1ow.js} +2 -2
- package/dist/chunks/{RoleDetailPage-DvEEWPKr.js.map → RoleDetailPage-TUOGR1ow.js.map} +1 -1
- package/dist/chunks/{RolesPage-B75lCugt.js → RolesPage-CAcols3D.js} +2 -2
- package/dist/chunks/{RolesPage-B75lCugt.js.map → RolesPage-CAcols3D.js.map} +1 -1
- package/dist/chunks/{RolesPage-C5gYJxAl.js → RolesPage-sJBWaNff.js} +2 -2
- package/dist/chunks/{RolesPage-C5gYJxAl.js.map → RolesPage-sJBWaNff.js.map} +1 -1
- package/dist/chunks/{SlaConfigPage-BqXHATb6.js → SlaConfigPage-BPGRloOS.js} +2 -2
- package/dist/chunks/{SlaConfigPage-BqXHATb6.js.map → SlaConfigPage-BPGRloOS.js.map} +1 -1
- package/dist/chunks/{SlaConfigPage-DZ4P1FFW.js → SlaConfigPage-D5TRn7Ir.js} +2 -2
- package/dist/chunks/{SlaConfigPage-DZ4P1FFW.js.map → SlaConfigPage-D5TRn7Ir.js.map} +1 -1
- package/dist/chunks/{SupportPermissionsPage-B4xy_pCQ.js → SupportPermissionsPage-Dc2bWTzG.js} +2 -2
- package/dist/chunks/{SupportPermissionsPage-B4xy_pCQ.js.map → SupportPermissionsPage-Dc2bWTzG.js.map} +1 -1
- package/dist/chunks/{SupportPermissionsPage-DW7KJjYK.js → SupportPermissionsPage-UXmYLrIq.js} +2 -2
- package/dist/chunks/{SupportPermissionsPage-DW7KJjYK.js.map → SupportPermissionsPage-UXmYLrIq.js.map} +1 -1
- package/dist/chunks/{TemplatesPage-DZa0PQTE.js → TemplatesPage-dmPlqqiD.js} +2 -2
- package/dist/chunks/{TemplatesPage-DZa0PQTE.js.map → TemplatesPage-dmPlqqiD.js.map} +1 -1
- package/dist/chunks/{TemplatesPage-m5-sLJ7F.js → TemplatesPage-nTY85sNA.js} +2 -2
- package/dist/chunks/{TemplatesPage-m5-sLJ7F.js.map → TemplatesPage-nTY85sNA.js.map} +1 -1
- package/dist/chunks/{TenantCard-BJQi7Oew.js → TenantCard-BUXfstRZ.js} +2 -2
- package/dist/chunks/{TenantCard-BJQi7Oew.js.map → TenantCard-BUXfstRZ.js.map} +1 -1
- package/dist/chunks/{TenantCard-CqfifMrM.js → TenantCard-BhT-31ls.js} +2 -2
- package/dist/chunks/{TenantCard-CqfifMrM.js.map → TenantCard-BhT-31ls.js.map} +1 -1
- package/dist/chunks/{TenantScopeSelector-CdiYJvuH.js → TenantScopeSelector-3_mzBLNI.js} +2 -2
- package/dist/chunks/{TenantScopeSelector-CdiYJvuH.js.map → TenantScopeSelector-3_mzBLNI.js.map} +1 -1
- package/dist/chunks/{TenantScopeSelector-Cl5DD318.js → TenantScopeSelector-B-SRDR2R.js} +2 -2
- package/dist/chunks/{TenantScopeSelector-Cl5DD318.js.map → TenantScopeSelector-B-SRDR2R.js.map} +1 -1
- package/dist/chunks/{TicketDetailPage-BOC9rHu3.js → TicketDetailPage-B4cR3rOC.js} +2 -2
- package/dist/chunks/{TicketDetailPage-BOC9rHu3.js.map → TicketDetailPage-B4cR3rOC.js.map} +1 -1
- package/dist/chunks/{TicketDetailPage-C1UuMxD8.js → TicketDetailPage-xN3wPnFL.js} +2 -2
- package/dist/chunks/{TicketDetailPage-C1UuMxD8.js.map → TicketDetailPage-xN3wPnFL.js.map} +1 -1
- package/dist/chunks/{TicketsPage-BCgHZA-m.js → TicketsPage-CkHgXSxU.js} +2 -2
- package/dist/chunks/{TicketsPage-BCgHZA-m.js.map → TicketsPage-CkHgXSxU.js.map} +1 -1
- package/dist/chunks/{TicketsPage-BjaN4Baq.js → TicketsPage-Dwi2xpMI.js} +2 -2
- package/dist/chunks/{TicketsPage-BjaN4Baq.js.map → TicketsPage-Dwi2xpMI.js.map} +1 -1
- package/dist/chunks/{UserCreateTicketPage-ChQL1mVY.js → UserCreateTicketPage-D2a3EOey.js} +3 -3
- package/dist/chunks/UserCreateTicketPage-D2a3EOey.js.map +1 -0
- package/dist/chunks/{UserCreateTicketPage-DkjsHeV7.js → UserCreateTicketPage-bcbSLglE.js} +48 -48
- package/dist/chunks/UserCreateTicketPage-bcbSLglE.js.map +1 -0
- package/dist/chunks/{UserDashboardPage-BMYrtF3o.js → UserDashboardPage-DwnDRNoW.js} +2 -2
- package/dist/chunks/{UserDashboardPage-BMYrtF3o.js.map → UserDashboardPage-DwnDRNoW.js.map} +1 -1
- package/dist/chunks/{UserDashboardPage-81-3GJAQ.js → UserDashboardPage-ZMsx8LWw.js} +2 -2
- package/dist/chunks/{UserDashboardPage-81-3GJAQ.js.map → UserDashboardPage-ZMsx8LWw.js.map} +1 -1
- package/dist/chunks/{UserDetailPage-BMW8jAWG.js → UserDetailPage-BRFowOFL.js} +2 -2
- package/dist/chunks/{UserDetailPage-BMW8jAWG.js.map → UserDetailPage-BRFowOFL.js.map} +1 -1
- package/dist/chunks/{UserDetailPage-D6oCH2eS.js → UserDetailPage-CZyV-zsg.js} +5 -5
- package/dist/chunks/{UserDetailPage-D6oCH2eS.js.map → UserDetailPage-CZyV-zsg.js.map} +1 -1
- package/dist/chunks/{UserTicketDetailPage-ZH2BDWBt.js → UserTicketDetailPage-BstGk_BP.js} +2 -2
- package/dist/chunks/{UserTicketDetailPage-ZH2BDWBt.js.map → UserTicketDetailPage-BstGk_BP.js.map} +1 -1
- package/dist/chunks/{UserTicketDetailPage-Z_myXXJ0.js → UserTicketDetailPage-DzB_pELt.js} +2 -2
- package/dist/chunks/{UserTicketDetailPage-Z_myXXJ0.js.map → UserTicketDetailPage-DzB_pELt.js.map} +1 -1
- package/dist/chunks/{UsersGroupsPage-B8Ka6uRa.js → UsersGroupsPage-BygTv_kK.js} +3 -3
- package/dist/chunks/{UsersGroupsPage-B8Ka6uRa.js.map → UsersGroupsPage-BygTv_kK.js.map} +1 -1
- package/dist/chunks/{UsersGroupsPage-xJmGib8b.js → UsersGroupsPage-DTmhzttW.js} +2 -2
- package/dist/chunks/{UsersGroupsPage-xJmGib8b.js.map → UsersGroupsPage-DTmhzttW.js.map} +1 -1
- package/dist/chunks/{UsersPage-CQ38akZ_.js → UsersPage-DcwLyMAX.js} +2 -2
- package/dist/chunks/{UsersPage-CQ38akZ_.js.map → UsersPage-DcwLyMAX.js.map} +1 -1
- package/dist/chunks/{UsersPage-Bd2-vl39.js → UsersPage-TIqSHgHj.js} +2 -2
- package/dist/chunks/{UsersPage-Bd2-vl39.js.map → UsersPage-TIqSHgHj.js.map} +1 -1
- package/dist/chunks/{accessRequestsApi-DguOx0q0.js → accessRequestsApi-3FjMFbpa.js} +2 -2
- package/dist/chunks/{accessRequestsApi-DguOx0q0.js.map → accessRequestsApi-3FjMFbpa.js.map} +1 -1
- package/dist/chunks/{accessRequestsApi-COtWo9kC.js → accessRequestsApi-B6dsJzvH.js} +2 -2
- package/dist/chunks/{accessRequestsApi-COtWo9kC.js.map → accessRequestsApi-B6dsJzvH.js.map} +1 -1
- package/dist/chunks/{aiApi-CITiWGYX.js → aiApi-9G4wG_mT.js} +2 -2
- package/dist/chunks/{aiApi-CITiWGYX.js.map → aiApi-9G4wG_mT.js.map} +1 -1
- package/dist/chunks/{aiApi-BmZsud6O.js → aiApi-DXOdsoxr.js} +2 -2
- package/dist/chunks/{aiApi-BmZsud6O.js.map → aiApi-DXOdsoxr.js.map} +1 -1
- package/dist/chunks/{applicationAnalyticsApi-BYoEJzSN.js → applicationAnalyticsApi-D0DEp9Y-.js} +2 -2
- package/dist/chunks/{applicationAnalyticsApi-BYoEJzSN.js.map → applicationAnalyticsApi-D0DEp9Y-.js.map} +1 -1
- package/dist/chunks/{applicationAnalyticsApi-D62lc6z4.js → applicationAnalyticsApi-DhOd6idI.js} +2 -2
- package/dist/chunks/{applicationAnalyticsApi-D62lc6z4.js.map → applicationAnalyticsApi-DhOd6idI.js.map} +1 -1
- package/dist/chunks/auth-Ca2Rn6on.js +2 -0
- package/dist/chunks/auth-Ca2Rn6on.js.map +1 -0
- package/dist/chunks/auth-ClNTDOqm.js +18 -0
- package/dist/chunks/auth-ClNTDOqm.js.map +1 -0
- package/dist/chunks/auth-DECnMZjF.js +18 -0
- package/dist/chunks/auth-DECnMZjF.js.map +1 -0
- package/dist/chunks/auth-DPvxdqy4.js +18 -0
- package/dist/chunks/auth-DPvxdqy4.js.map +1 -0
- package/dist/chunks/auth-HzvnTaOm.js +2 -0
- package/dist/chunks/auth-HzvnTaOm.js.map +1 -0
- package/dist/chunks/auth-M6aNTKCH.js +2 -0
- package/dist/chunks/auth-M6aNTKCH.js.map +1 -0
- package/dist/chunks/auth-UHnAu6_e.js +2 -0
- package/dist/chunks/auth-UHnAu6_e.js.map +1 -0
- package/dist/chunks/auth-YrujJY7m.js +18 -0
- package/dist/chunks/auth-YrujJY7m.js.map +1 -0
- package/dist/chunks/{groupsApi-3CR-_g5b.js → groupsApi-Db8G2lLs.js} +2 -2
- package/dist/chunks/{groupsApi-3CR-_g5b.js.map → groupsApi-Db8G2lLs.js.map} +1 -1
- package/dist/chunks/{groupsApi-BUyBgf_N.js → groupsApi-lbxNsHFv.js} +2 -2
- package/dist/chunks/{groupsApi-BUyBgf_N.js.map → groupsApi-lbxNsHFv.js.map} +1 -1
- package/dist/chunks/{index-IJR_91Yt.js → index-BI2dc1FS.js} +2 -2
- package/dist/chunks/{index-IJR_91Yt.js.map → index-BI2dc1FS.js.map} +1 -1
- package/dist/chunks/{index-DIQ6Jmmq.js → index-Bn8HzILk.js} +4 -4
- package/dist/chunks/{index-DIQ6Jmmq.js.map → index-Bn8HzILk.js.map} +1 -1
- package/dist/chunks/{index-DA5VyW0k.js → index-CN2WRyg1.js} +2249 -2264
- package/dist/chunks/index-CN2WRyg1.js.map +1 -0
- package/dist/chunks/{index-Br2wsGE8.js → index-CTGSmYvs.js} +2 -2
- package/dist/chunks/{index-Br2wsGE8.js.map → index-CTGSmYvs.js.map} +1 -1
- package/dist/chunks/index-CUICSveU.js +2 -0
- package/dist/chunks/index-CUICSveU.js.map +1 -0
- package/dist/chunks/{index-S-X8qFYW.js → index-CgtbaFf5.js} +2 -2
- package/dist/chunks/{index-S-X8qFYW.js.map → index-CgtbaFf5.js.map} +1 -1
- package/dist/chunks/{index-_g82N2nb.js → index-D0HS542b.js} +2 -2
- package/dist/chunks/{index-_g82N2nb.js.map → index-D0HS542b.js.map} +1 -1
- package/dist/chunks/{index-BIqcvvbh.js → index-DEtq-xUL.js} +9 -8
- package/dist/chunks/index-DEtq-xUL.js.map +1 -0
- package/dist/chunks/{index-BOKR3bw6.js → index-DF93KQFR.js} +2 -2
- package/dist/chunks/{index-BOKR3bw6.js.map → index-DF93KQFR.js.map} +1 -1
- package/dist/chunks/{index-CxgEV-rT.js → index-DLekpNSE.js} +2 -2
- package/dist/chunks/{index-CxgEV-rT.js.map → index-DLekpNSE.js.map} +1 -1
- package/dist/chunks/{index-DEOBhXS_.js → index-DUS-tunb.js} +2 -2
- package/dist/chunks/{index-DEOBhXS_.js.map → index-DUS-tunb.js.map} +1 -1
- package/dist/chunks/{index-BMsjMCv9.js → index-DjC1u2hI.js} +3 -3
- package/dist/chunks/{index-BMsjMCv9.js.map → index-DjC1u2hI.js.map} +1 -1
- package/dist/chunks/{index-BxHVPJ-j.js → index-DqbVFB1H.js} +2 -2
- package/dist/chunks/{index-BxHVPJ-j.js.map → index-DqbVFB1H.js.map} +1 -1
- package/dist/chunks/{index-Djy4eIbB.js → index-DwqLhQ8S.js} +2 -2
- package/dist/chunks/{index-Djy4eIbB.js.map → index-DwqLhQ8S.js.map} +1 -1
- package/dist/chunks/{index-C1w97Ejz.js → index-HsAOBno4.js} +2 -2
- package/dist/chunks/{index-C1w97Ejz.js.map → index-HsAOBno4.js.map} +1 -1
- package/dist/chunks/{index-Czk12A3G.js → index-TiWOcC0g.js} +2 -2
- package/dist/chunks/{index-Czk12A3G.js.map → index-TiWOcC0g.js.map} +1 -1
- package/dist/chunks/{index-vXiLh35n.js → index-cAikSVW0.js} +13 -13
- package/dist/chunks/index-cAikSVW0.js.map +1 -0
- package/dist/chunks/{index-CNxx56kE.js → index-xhRXN1Jq.js} +2 -2
- package/dist/chunks/{index-CNxx56kE.js.map → index-xhRXN1Jq.js.map} +1 -1
- package/dist/chunks/{tenantIconMap-COKA97Ug.js → tenantIconMap-CHeS7oLt.js} +2 -2
- package/dist/chunks/{tenantIconMap-COKA97Ug.js.map → tenantIconMap-CHeS7oLt.js.map} +1 -1
- package/dist/chunks/{tenantIconMap-BuSQUUyZ.js → tenantIconMap-__FKj6CN.js} +2 -2
- package/dist/chunks/{tenantIconMap-BuSQUUyZ.js.map → tenantIconMap-__FKj6CN.js.map} +1 -1
- package/dist/chunks/{ticketingApi-DbREwHez.js → ticketingApi-Cj239hYB.js} +2 -2
- package/dist/chunks/{ticketingApi-DbREwHez.js.map → ticketingApi-Cj239hYB.js.map} +1 -1
- package/dist/chunks/{ticketingApi-C6EbupqP.js → ticketingApi-DF4RwD_6.js} +2 -2
- package/dist/chunks/{ticketingApi-C6EbupqP.js.map → ticketingApi-DF4RwD_6.js.map} +1 -1
- package/dist/chunks/{useAccessRequests-vucIb3_w.js → useAccessRequests-CFam8zFR.js} +3 -3
- package/dist/chunks/{useAccessRequests-vucIb3_w.js.map → useAccessRequests-CFam8zFR.js.map} +1 -1
- package/dist/chunks/{useAccessRequests-C0dY6y-4.js → useAccessRequests-CViOUwyF.js} +2 -2
- package/dist/chunks/{useAccessRequests-C0dY6y-4.js.map → useAccessRequests-CViOUwyF.js.map} +1 -1
- package/dist/chunks/{useUserAccessRequests-BBcw1Rk9.js → useUserAccessRequests-B-Cs6NX1.js} +2 -2
- package/dist/chunks/{useUserAccessRequests-BBcw1Rk9.js.map → useUserAccessRequests-B-Cs6NX1.js.map} +1 -1
- package/dist/chunks/{useUserAccessRequests-Cj0nkesW.js → useUserAccessRequests-CslSQeBJ.js} +2 -2
- package/dist/chunks/{useUserAccessRequests-Cj0nkesW.js.map → useUserAccessRequests-CslSQeBJ.js.map} +1 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/pages/LoginPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts.map +1 -1
- package/dist/services/api/apiClient.d.ts.map +1 -1
- package/dist/services/support/ticketDraftService.d.ts.map +1 -1
- package/dist/smartstack.cjs +1 -1
- package/dist/smartstack.js +6 -6
- package/dist/utils/permissions.generated.d.ts +288 -0
- package/dist/utils/permissions.generated.d.ts.map +1 -0
- package/dist/utils/uuid.d.ts +6 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/chunks/UserCreateTicketPage-ChQL1mVY.js.map +0 -1
- package/dist/chunks/UserCreateTicketPage-DkjsHeV7.js.map +0 -1
- package/dist/chunks/auth-B-hELPDB.js +0 -2
- package/dist/chunks/auth-B-hELPDB.js.map +0 -1
- package/dist/chunks/auth-BYaMuq7D.js +0 -16
- package/dist/chunks/auth-BYaMuq7D.js.map +0 -1
- package/dist/chunks/auth-C5zpZ9k7.js +0 -2
- package/dist/chunks/auth-C5zpZ9k7.js.map +0 -1
- package/dist/chunks/auth-CDpRMVv1.js +0 -16
- package/dist/chunks/auth-CDpRMVv1.js.map +0 -1
- package/dist/chunks/auth-CyPkCta2.js +0 -2
- package/dist/chunks/auth-CyPkCta2.js.map +0 -1
- package/dist/chunks/auth-DL47kvnl.js +0 -2
- package/dist/chunks/auth-DL47kvnl.js.map +0 -1
- package/dist/chunks/auth-Diiv90i1.js +0 -16
- package/dist/chunks/auth-Diiv90i1.js.map +0 -1
- package/dist/chunks/auth-rog9MvUr.js +0 -16
- package/dist/chunks/auth-rog9MvUr.js.map +0 -1
- package/dist/chunks/index-BIqcvvbh.js.map +0 -1
- package/dist/chunks/index-DA5VyW0k.js.map +0 -1
- package/dist/chunks/index-Dht6EQW1.js +0 -2
- package/dist/chunks/index-Dht6EQW1.js.map +0 -1
- package/dist/chunks/index-vXiLh35n.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-DPvxdqy4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={title:"Connexion",subtitle:"Accédez à votre compte SmartStack",welcome:"Bienvenue",welcomeSubtitle:"Connectez-vous à votre compte pour continuer",email:"Adresse email",emailPlaceholder:"vous@exemple.com",password:"Mot de passe",rememberMe:"Se souvenir de moi",forgotPassword:"Mot de passe oublié ?",submit:"Se connecter",loading:"Connexion en cours...",loadingPreferences:"Chargement des préférences...",noAccount:"Nouveau sur SmartStack ?",createAccount:"Créer un compte",or:"Ou continuer avec",backToHome:"Retour à l'accueil",contactSupport:"Contactez le support si vous pensez qu'il s'agit d'une erreur.",useExternalAuth:"Utilisez les boutons Microsoft ou Google ci-dessous.",copyright:"© {{year}} SmartStack. Tous droits réservés.",tagline:"Plateforme de gestion unifiée",heroTitle:"Votre plateforme de gestion unifiée",heroSubtitle:"Simplifiez vos processus, centralisez vos données et boostez la productivité de votre équipe."},t={security:"Sécurité avancée",securityDesc:"Authentification multi-facteurs et contrôle d'accès granulaire",performance:"Performance optimale",performanceDesc:"Interface rapide et réactive pour une productivité maximale",collaboration:"Collaboration",collaborationDesc:"Gestion des équipes et permissions centralisée",analytics:"Analytics",analyticsDesc:"Tableaux de bord et rapports en temps réel"},o={title:"Créer un compte",subtitle:"Rejoignez SmartStack aujourd'hui",firstName:"Prénom",lastName:"Nom",email:"Adresse email",password:"Mot de passe",confirmPassword:"Confirmer le mot de passe",submit:"Créer le compte",hasAccount:"Déjà un compte ?",signIn:"Se connecter"},r={title:"Déconnexion...",success:"Vous avez été déconnecté"},s={invalidCredentials:"Email ou mot de passe incorrect",sessionExpired:"Votre session a expiré"},i={title:"Bienvenue sur SmartStack !",subtitle:"Personnalisez votre expérience en quelques étapes",stepLanguage:"Choisissez votre langue",stepTheme:"Choisissez votre thème",stepComplete:"C'est parti !",languageLabel:"Langue préférée",themeLabel:"Thème de l'interface",themeLight:"Clair",themeDark:"Sombre",themeSystem:"Système",accentColorLabel:"Couleur d'accentuation",timezoneLabel:"Fuseau horaire",continue:"Continuer",back:"Retour",complete:"Terminer",completing:"Finalisation...",successTitle:"Configuration terminée !",successMessage:"Votre compte est prêt. Vous allez être redirigé vers votre espace personnel.",errorTitle:"Erreur",errorMessage:"Une erreur est survenue lors de la configuration. Veuillez réessayer."},n={login:e,features:t,register:o,logout:r,errors:s,onboarding:i};exports.default=n;exports.errors=s;exports.features=t;exports.login=e;exports.logout=r;exports.onboarding=i;exports.register=o;
|
|
2
|
+
//# sourceMappingURL=auth-HzvnTaOm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-HzvnTaOm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={title:"Accedi",subtitle:"Accedi al tuo account SmartStack",welcome:"Benvenuto",welcomeSubtitle:"Accedi al tuo account per continuare",email:"Indirizzo email",emailPlaceholder:"tu@esempio.com",password:"Password",rememberMe:"Ricordami",forgotPassword:"Password dimenticata?",submit:"Accedi",loading:"Accesso in corso...",loadingPreferences:"Caricamento preferenze...",noAccount:"Nuovo su SmartStack?",createAccount:"Crea un account",or:"Oppure continua con",backToHome:"Torna alla home",contactSupport:"Contatta il supporto se pensi che sia un errore.",useExternalAuth:"Usa i pulsanti Microsoft o Google qui sotto.",copyright:"© {{year}} SmartStack. Tutti i diritti riservati.",tagline:"Piattaforma di gestione unificata",heroTitle:"La tua piattaforma di gestione unificata",heroSubtitle:"Semplifica i tuoi processi, centralizza i tuoi dati e aumenta la produttività del tuo team."},a={security:"Sicurezza avanzata",securityDesc:"Autenticazione multi-fattore e controllo accessi granulare",performance:"Prestazioni ottimali",performanceDesc:"Interfaccia veloce e reattiva per la massima produttività",collaboration:"Collaborazione",collaborationDesc:"Gestione centralizzata di team e permessi",analytics:"Analytics",analyticsDesc:"Dashboard e report in tempo reale"},t={title:"Crea account",subtitle:"Unisciti a SmartStack oggi",firstName:"Nome",lastName:"Cognome",email:"Indirizzo email",password:"Password",confirmPassword:"Conferma password",submit:"Crea account",hasAccount:"Hai già un account?",signIn:"Accedi"},o={title:"Disconnessione...",success:"Sei stato disconnesso"},i={invalidCredentials:"Email o password non validi",sessionExpired:"La tua sessione è scaduta"},r={title:"Benvenuto su SmartStack!",subtitle:"Personalizza la tua esperienza in pochi passaggi",stepLanguage:"Scegli la tua lingua",stepTheme:"Scegli il tuo tema",stepComplete:"Iniziamo!",languageLabel:"Lingua preferita",themeLabel:"Tema dell'interfaccia",themeLight:"Chiaro",themeDark:"Scuro",themeSystem:"Sistema",accentColorLabel:"Colore di accentuazione",timezoneLabel:"Fuso orario",continue:"Continua",back:"Indietro",complete:"Completa",completing:"Completamento...",successTitle:"Configurazione completata!",successMessage:"Il tuo account è pronto. Sarai reindirizzato al tuo spazio personale.",errorTitle:"Errore",errorMessage:"Si è verificato un errore durante la configurazione. Riprova."},n={login:e,features:a,register:t,logout:o,errors:i,onboarding:r};exports.default=n;exports.errors=i;exports.features=a;exports.login=e;exports.logout=o;exports.onboarding=r;exports.register=t;
|
|
2
|
+
//# sourceMappingURL=auth-M6aNTKCH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-M6aNTKCH.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={title:"Anmelden",subtitle:"Zugriff auf Ihr SmartStack-Konto",welcome:"Willkommen",welcomeSubtitle:"Melden Sie sich an, um fortzufahren",email:"E-Mail-Adresse",emailPlaceholder:"sie@beispiel.com",password:"Passwort",rememberMe:"Angemeldet bleiben",forgotPassword:"Passwort vergessen?",submit:"Anmelden",loading:"Anmeldung läuft...",loadingPreferences:"Einstellungen laden...",noAccount:"Neu bei SmartStack?",createAccount:"Konto erstellen",or:"Oder fortfahren mit",backToHome:"Zurück zur Startseite",contactSupport:"Kontaktieren Sie den Support, wenn Sie glauben, dass es sich um einen Fehler handelt.",useExternalAuth:"Verwenden Sie die Microsoft- oder Google-Schaltflächen unten.",copyright:"© {{year}} SmartStack. Alle Rechte vorbehalten.",tagline:"Einheitliche Verwaltungsplattform",heroTitle:"Ihre einheitliche Verwaltungsplattform",heroSubtitle:"Vereinfachen Sie Ihre Prozesse, zentralisieren Sie Ihre Daten und steigern Sie die Produktivität Ihres Teams."},t={security:"Erweiterte Sicherheit",securityDesc:"Multi-Faktor-Authentifizierung und granulare Zugriffskontrolle",performance:"Optimale Leistung",performanceDesc:"Schnelle und reaktionsfähige Oberfläche für maximale Produktivität",collaboration:"Zusammenarbeit",collaborationDesc:"Zentralisiertes Team- und Berechtigungsmanagement",analytics:"Analytics",analyticsDesc:"Echtzeit-Dashboards und -Berichte"},r={title:"Konto erstellen",subtitle:"Heute bei SmartStack registrieren",firstName:"Vorname",lastName:"Nachname",email:"E-Mail-Adresse",password:"Passwort",confirmPassword:"Passwort bestätigen",submit:"Konto erstellen",hasAccount:"Bereits ein Konto?",signIn:"Anmelden"},n={title:"Abmeldung...",success:"Sie wurden abgemeldet"},i={invalidCredentials:"Ungültige E-Mail oder Passwort",sessionExpired:"Ihre Sitzung ist abgelaufen"},s={title:"Willkommen bei SmartStack!",subtitle:"Personalisieren Sie Ihre Erfahrung in wenigen Schritten",stepLanguage:"Sprache auswählen",stepTheme:"Theme auswählen",stepComplete:"Los geht's!",languageLabel:"Bevorzugte Sprache",themeLabel:"Oberflächenthema",themeLight:"Hell",themeDark:"Dunkel",themeSystem:"System",accentColorLabel:"Akzentfarbe",timezoneLabel:"Zeitzone",continue:"Weiter",back:"Zurück",complete:"Fertig",completing:"Abschluss...",successTitle:"Einrichtung abgeschlossen!",successMessage:"Ihr Konto ist bereit. Sie werden zu Ihrem persönlichen Bereich weitergeleitet.",errorTitle:"Fehler",errorMessage:"Bei der Einrichtung ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut."},a={login:e,features:t,register:r,logout:n,errors:i,onboarding:s};exports.default=a;exports.errors=i;exports.features=t;exports.login=e;exports.logout=n;exports.onboarding=s;exports.register=r;
|
|
2
|
+
//# sourceMappingURL=auth-UHnAu6_e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-UHnAu6_e.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const e = { title: "Sign in", subtitle: "Access your SmartStack account", welcome: "Welcome", welcomeSubtitle: "Sign in to your account to continue", email: "Email address", emailPlaceholder: "you@example.com", password: "Password", rememberMe: "Remember me", forgotPassword: "Forgot password?", submit: "Sign in", loading: "Signing in...", loadingPreferences: "Loading preferences...", noAccount: "New to SmartStack?", createAccount: "Create an account", or: "Or continue with", backToHome: "Back to home", contactSupport: "Contact support if you think this is an error.", useExternalAuth: "Use the Microsoft or Google buttons below.", copyright: "© {{year}} SmartStack. All rights reserved.", tagline: "Unified management platform", heroTitle: "Your unified management platform", heroSubtitle: "Simplify your processes, centralize your data and boost your team's productivity." }, t = { security: "Advanced Security", securityDesc: "Multi-factor authentication and granular access control", performance: "Optimal Performance", performanceDesc: "Fast and responsive interface for maximum productivity", collaboration: "Collaboration", collaborationDesc: "Centralized team and permission management", analytics: "Analytics", analyticsDesc: "Real-time dashboards and reports" }, o = { title: "Create account", subtitle: "Join SmartStack today", firstName: "First name", lastName: "Last name", email: "Email address", password: "Password", confirmPassword: "Confirm password", submit: "Create account", hasAccount: "Already have an account?", signIn: "Sign in" }, a = { title: "Signing out...", success: "You have been signed out" }, r = { invalidCredentials: "Invalid email or password", sessionExpired: "Your session has expired" }, n = { title: "Welcome to SmartStack!", subtitle: "Personalize your experience in a few steps", stepLanguage: "Choose your language", stepTheme: "Choose your theme", stepComplete: "Let's go!", languageLabel: "Preferred language", themeLabel: "Interface theme", themeLight: "Light", themeDark: "Dark", themeSystem: "System", accentColorLabel: "Accent color", timezoneLabel: "Timezone", continue: "Continue", back: "Back", complete: "Finish", completing: "Completing...", successTitle: "Setup complete!", successMessage: "Your account is ready. You will be redirected to your personal space.", errorTitle: "Error", errorMessage: "An error occurred during setup. Please try again." }, s = {
|
|
2
|
+
login: e,
|
|
3
|
+
features: t,
|
|
4
|
+
register: o,
|
|
5
|
+
logout: a,
|
|
6
|
+
errors: r,
|
|
7
|
+
onboarding: n
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
s as default,
|
|
11
|
+
r as errors,
|
|
12
|
+
t as features,
|
|
13
|
+
e as login,
|
|
14
|
+
a as logout,
|
|
15
|
+
n as onboarding,
|
|
16
|
+
o as register
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=auth-YrujJY7m.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-YrujJY7m.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as p, i as $ } from "./index-
|
|
1
|
+
import { j as p, i as $ } from "./index-CN2WRyg1.js";
|
|
2
2
|
const d = (r) => ({
|
|
3
3
|
get: (t, e) => p.get(t, {
|
|
4
4
|
...e,
|
|
@@ -102,4 +102,4 @@ export {
|
|
|
102
102
|
l as c,
|
|
103
103
|
y as g
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=groupsApi-
|
|
105
|
+
//# sourceMappingURL=groupsApi-Db8G2lLs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupsApi-3CR-_g5b.js","sources":["../../src/services/api/groupsApi.ts"],"sourcesContent":["import { api, apiClient } from './apiClient';\r\nimport type { UserApplicationAccessDto } from './adminApi';\r\n\r\n/**\r\n * Creates API methods with a specific tenant context.\r\n * Used when Super Admins view tenant-specific pages without \"switching\" to that tenant.\r\n */\r\nconst withTenantContext = (tenantSlug?: string) => ({\r\n get: <T>(url: string, config?: Parameters<typeof apiClient.get>[1]) =>\r\n apiClient.get<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n post: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.post>[2]) =>\r\n apiClient.post<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n put: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.put>[2]) =>\r\n apiClient.put<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n patch: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.patch>[2]) =>\r\n apiClient.patch<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n delete: <T>(url: string, config?: Parameters<typeof apiClient.delete>[1]) =>\r\n apiClient.delete<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n});\r\n\r\n// Types\r\nexport interface GroupListDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n memberCount: number;\r\n roles: string[];\r\n createdAt: string;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n childCount: number;\r\n}\r\n\r\nexport interface GroupDetailDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n mail: string | null;\r\n mailNickname: string | null;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n members: GroupMemberDto[];\r\n roles: GroupRoleDto[];\r\n childGroups: GroupChildDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n createdBy: string | null;\r\n updatedBy: string | null;\r\n}\r\n\r\nexport interface GroupMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface GroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n assignedAt: string;\r\n assignedBy: string;\r\n isInheritable: boolean;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n}\r\n\r\nexport interface GroupChildDto {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface CreateGroupRequest {\r\n name: string;\r\n description?: string;\r\n isSecurityGroup?: boolean;\r\n parentGroupId?: string;\r\n}\r\n\r\nexport interface UpdateGroupRequest {\r\n name: string;\r\n description?: string;\r\n}\r\n\r\nexport interface LinkEntraRequest {\r\n entraObjectId: string;\r\n}\r\n\r\nexport interface AddMemberRequest {\r\n userId: string;\r\n}\r\n\r\nexport interface AssignRoleRequest {\r\n roleId: string;\r\n isInheritable?: boolean;\r\n tenantId?: string | null;\r\n}\r\n\r\nexport interface SetInheritableRequest {\r\n isInheritable: boolean;\r\n}\r\n\r\nexport interface SetParentGroupRequest {\r\n parentGroupId: string | null;\r\n}\r\n\r\nexport interface InheritedTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n}\r\n\r\nexport interface InheritedMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface InheritedGroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface GroupTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface AddToTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface CustomRoleDetailDto {\r\n id: string;\r\n name: string;\r\n shortName: string;\r\n category: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n permissions: CustomRolePermissionDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CustomRolePermissionDto {\r\n id: string;\r\n path: string;\r\n description: string | null;\r\n}\r\n\r\nconst BASE_URL = '/api/administration/users/groups';\r\n\r\n/**\r\n * Factory function to create groups API with explicit tenant context.\r\n * @param tenantSlug - Optional tenant slug to use for all requests\r\n */\r\nconst _createGroupsApi = (tenantSlug?: string) => {\r\n const apiContext = tenantSlug ? withTenantContext(tenantSlug) : api;\r\n\r\n return {\r\n // === CRUD OPERATIONS ===\r\n\r\n getAll: async (\r\n search?: string,\r\n isActive?: boolean,\r\n syncedFromEntra?: boolean\r\n ): Promise<GroupListDto[]> => {\r\n const params = new URLSearchParams();\r\n if (search) params.append('search', search);\r\n if (isActive !== undefined) params.append('isActive', String(isActive));\r\n if (syncedFromEntra !== undefined) params.append('syncedFromEntra', String(syncedFromEntra));\r\n\r\n const queryString = params.toString();\r\n const url = queryString ? `${BASE_URL}?${queryString}` : BASE_URL;\r\n const response = await apiContext.get<GroupListDto[]>(url);\r\n return response;\r\n },\r\n\r\n getById: async (id: string): Promise<GroupDetailDto> => {\r\n const response = await apiContext.get<GroupDetailDto>(`${BASE_URL}/${id}`);\r\n return response;\r\n },\r\n\r\n create: async (data: CreateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.post<GroupDetailDto>(BASE_URL, data);\r\n return response;\r\n },\r\n\r\n update: async (id: string, data: UpdateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.put<GroupDetailDto>(`${BASE_URL}/${id}`, data);\r\n return response;\r\n },\r\n\r\n delete: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}`);\r\n },\r\n\r\n activate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/activate`);\r\n },\r\n\r\n deactivate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/deactivate`);\r\n },\r\n\r\n // === ENTRA LINKING ===\r\n\r\n linkToEntra: async (id: string, data: LinkEntraRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/link-entra`, data);\r\n },\r\n\r\n unlinkFromEntra: async (id: string): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/unlink-entra`);\r\n },\r\n\r\n // === MEMBER MANAGEMENT ===\r\n\r\n getMembers: async (id: string): Promise<GroupMemberDto[]> => {\r\n const response = await apiContext.get<GroupMemberDto[]>(`${BASE_URL}/${id}/members`);\r\n return response;\r\n },\r\n\r\n addMember: async (id: string, data: AddMemberRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/members`, data);\r\n },\r\n\r\n removeMember: async (groupId: string, userId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/members/${userId}`);\r\n },\r\n\r\n // === ROLE MANAGEMENT ===\r\n\r\n getRoles: async (id: string): Promise<GroupRoleDto[]> => {\r\n const response = await apiContext.get<GroupRoleDto[]>(`${BASE_URL}/${id}/roles`);\r\n return response;\r\n },\r\n\r\n assignRole: async (id: string, data: AssignRoleRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/roles`, data);\r\n },\r\n\r\n removeRole: async (groupId: string, roleId: string, tenantId?: string | null): Promise<void> => {\r\n const params = tenantId ? `?tenantId=${tenantId}` : '';\r\n await apiContext.delete(`${BASE_URL}/${groupId}/roles/${roleId}${params}`);\r\n },\r\n\r\n setRoleInheritable: async (\r\n groupId: string,\r\n roleId: string,\r\n data: SetInheritableRequest\r\n ): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${groupId}/roles/${roleId}/inheritable`, data);\r\n },\r\n\r\n // === HIERARCHY ===\r\n\r\n getChildGroups: async (id: string): Promise<GroupChildDto[]> => {\r\n const response = await apiContext.get<GroupChildDto[]>(`${BASE_URL}/${id}/children`);\r\n return response;\r\n },\r\n\r\n setParentGroup: async (id: string, data: SetParentGroupRequest): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/parent`, data);\r\n },\r\n\r\n // === TENANT MANAGEMENT ===\r\n\r\n getTenants: async (id: string): Promise<GroupTenantDto[]> => {\r\n const response = await apiContext.get<GroupTenantDto[]>(`${BASE_URL}/${id}/tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedTenants: async (id: string): Promise<InheritedTenantDto[]> => {\r\n const response = await apiContext.get<InheritedTenantDto[]>(`${BASE_URL}/${id}/inherited-tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedMembers: async (id: string): Promise<InheritedMemberDto[]> => {\r\n const response = await apiContext.get<InheritedMemberDto[]>(`${BASE_URL}/${id}/inherited-members`);\r\n return response;\r\n },\r\n\r\n getInheritedRoles: async (id: string): Promise<InheritedGroupRoleDto[]> => {\r\n const response = await apiContext.get<InheritedGroupRoleDto[]>(`${BASE_URL}/${id}/inherited-roles`);\r\n return response;\r\n },\r\n\r\n addToTenant: async (id: string, data: AddToTenantRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/tenants`, data);\r\n },\r\n\r\n removeFromTenant: async (groupId: string, tenantId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/tenants/${tenantId}`);\r\n },\r\n\r\n // === APPLICATION ACCESS ===\r\n\r\n getApplicationAccess: async (id: string, tenantId?: string): Promise<UserApplicationAccessDto[]> => {\r\n const url = tenantId\r\n ? `${BASE_URL}/${id}/application-access?tenantId=${tenantId}`\r\n : `${BASE_URL}/${id}/application-access`;\r\n const response = await apiContext.get<UserApplicationAccessDto[]>(url);\r\n return response;\r\n },\r\n\r\n // === CUSTOM ROLE ===\r\n\r\n getCustomRole: async (id: string): Promise<CustomRoleDetailDto | null> => {\r\n const response = await apiContext.get<CustomRoleDetailDto | null>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n createCustomRole: async (id: string): Promise<CustomRoleDetailDto> => {\r\n const response = await apiContext.post<CustomRoleDetailDto>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n deleteCustomRole: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}/custom-role`);\r\n },\r\n };\r\n};\r\nexport type GroupsApi = ReturnType<typeof _createGroupsApi>;\r\nexport const createGroupsApi: (tenantSlug?: string) => GroupsApi = _createGroupsApi;\r\n\r\n// Default export uses localStorage tenant slug (backward compatible)\r\nexport const groupsApi = createGroupsApi();\r\n"],"names":["withTenantContext","tenantSlug","url","config","apiClient","res","data","BASE_URL","_createGroupsApi","apiContext","api","search","isActive","syncedFromEntra","params","queryString","id","groupId","userId","roleId","tenantId","createGroupsApi","groupsApi"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"groupsApi-Db8G2lLs.js","sources":["../../src/services/api/groupsApi.ts"],"sourcesContent":["import { api, apiClient } from './apiClient';\r\nimport type { UserApplicationAccessDto } from './adminApi';\r\n\r\n/**\r\n * Creates API methods with a specific tenant context.\r\n * Used when Super Admins view tenant-specific pages without \"switching\" to that tenant.\r\n */\r\nconst withTenantContext = (tenantSlug?: string) => ({\r\n get: <T>(url: string, config?: Parameters<typeof apiClient.get>[1]) =>\r\n apiClient.get<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n post: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.post>[2]) =>\r\n apiClient.post<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n put: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.put>[2]) =>\r\n apiClient.put<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n patch: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.patch>[2]) =>\r\n apiClient.patch<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n delete: <T>(url: string, config?: Parameters<typeof apiClient.delete>[1]) =>\r\n apiClient.delete<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n});\r\n\r\n// Types\r\nexport interface GroupListDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n memberCount: number;\r\n roles: string[];\r\n createdAt: string;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n childCount: number;\r\n}\r\n\r\nexport interface GroupDetailDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n mail: string | null;\r\n mailNickname: string | null;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n members: GroupMemberDto[];\r\n roles: GroupRoleDto[];\r\n childGroups: GroupChildDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n createdBy: string | null;\r\n updatedBy: string | null;\r\n}\r\n\r\nexport interface GroupMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface GroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n assignedAt: string;\r\n assignedBy: string;\r\n isInheritable: boolean;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n}\r\n\r\nexport interface GroupChildDto {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface CreateGroupRequest {\r\n name: string;\r\n description?: string;\r\n isSecurityGroup?: boolean;\r\n parentGroupId?: string;\r\n}\r\n\r\nexport interface UpdateGroupRequest {\r\n name: string;\r\n description?: string;\r\n}\r\n\r\nexport interface LinkEntraRequest {\r\n entraObjectId: string;\r\n}\r\n\r\nexport interface AddMemberRequest {\r\n userId: string;\r\n}\r\n\r\nexport interface AssignRoleRequest {\r\n roleId: string;\r\n isInheritable?: boolean;\r\n tenantId?: string | null;\r\n}\r\n\r\nexport interface SetInheritableRequest {\r\n isInheritable: boolean;\r\n}\r\n\r\nexport interface SetParentGroupRequest {\r\n parentGroupId: string | null;\r\n}\r\n\r\nexport interface InheritedTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n}\r\n\r\nexport interface InheritedMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface InheritedGroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface GroupTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface AddToTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface CustomRoleDetailDto {\r\n id: string;\r\n name: string;\r\n shortName: string;\r\n category: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n permissions: CustomRolePermissionDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CustomRolePermissionDto {\r\n id: string;\r\n path: string;\r\n description: string | null;\r\n}\r\n\r\nconst BASE_URL = '/api/administration/users/groups';\r\n\r\n/**\r\n * Factory function to create groups API with explicit tenant context.\r\n * @param tenantSlug - Optional tenant slug to use for all requests\r\n */\r\nconst _createGroupsApi = (tenantSlug?: string) => {\r\n const apiContext = tenantSlug ? withTenantContext(tenantSlug) : api;\r\n\r\n return {\r\n // === CRUD OPERATIONS ===\r\n\r\n getAll: async (\r\n search?: string,\r\n isActive?: boolean,\r\n syncedFromEntra?: boolean\r\n ): Promise<GroupListDto[]> => {\r\n const params = new URLSearchParams();\r\n if (search) params.append('search', search);\r\n if (isActive !== undefined) params.append('isActive', String(isActive));\r\n if (syncedFromEntra !== undefined) params.append('syncedFromEntra', String(syncedFromEntra));\r\n\r\n const queryString = params.toString();\r\n const url = queryString ? `${BASE_URL}?${queryString}` : BASE_URL;\r\n const response = await apiContext.get<GroupListDto[]>(url);\r\n return response;\r\n },\r\n\r\n getById: async (id: string): Promise<GroupDetailDto> => {\r\n const response = await apiContext.get<GroupDetailDto>(`${BASE_URL}/${id}`);\r\n return response;\r\n },\r\n\r\n create: async (data: CreateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.post<GroupDetailDto>(BASE_URL, data);\r\n return response;\r\n },\r\n\r\n update: async (id: string, data: UpdateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.put<GroupDetailDto>(`${BASE_URL}/${id}`, data);\r\n return response;\r\n },\r\n\r\n delete: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}`);\r\n },\r\n\r\n activate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/activate`);\r\n },\r\n\r\n deactivate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/deactivate`);\r\n },\r\n\r\n // === ENTRA LINKING ===\r\n\r\n linkToEntra: async (id: string, data: LinkEntraRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/link-entra`, data);\r\n },\r\n\r\n unlinkFromEntra: async (id: string): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/unlink-entra`);\r\n },\r\n\r\n // === MEMBER MANAGEMENT ===\r\n\r\n getMembers: async (id: string): Promise<GroupMemberDto[]> => {\r\n const response = await apiContext.get<GroupMemberDto[]>(`${BASE_URL}/${id}/members`);\r\n return response;\r\n },\r\n\r\n addMember: async (id: string, data: AddMemberRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/members`, data);\r\n },\r\n\r\n removeMember: async (groupId: string, userId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/members/${userId}`);\r\n },\r\n\r\n // === ROLE MANAGEMENT ===\r\n\r\n getRoles: async (id: string): Promise<GroupRoleDto[]> => {\r\n const response = await apiContext.get<GroupRoleDto[]>(`${BASE_URL}/${id}/roles`);\r\n return response;\r\n },\r\n\r\n assignRole: async (id: string, data: AssignRoleRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/roles`, data);\r\n },\r\n\r\n removeRole: async (groupId: string, roleId: string, tenantId?: string | null): Promise<void> => {\r\n const params = tenantId ? `?tenantId=${tenantId}` : '';\r\n await apiContext.delete(`${BASE_URL}/${groupId}/roles/${roleId}${params}`);\r\n },\r\n\r\n setRoleInheritable: async (\r\n groupId: string,\r\n roleId: string,\r\n data: SetInheritableRequest\r\n ): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${groupId}/roles/${roleId}/inheritable`, data);\r\n },\r\n\r\n // === HIERARCHY ===\r\n\r\n getChildGroups: async (id: string): Promise<GroupChildDto[]> => {\r\n const response = await apiContext.get<GroupChildDto[]>(`${BASE_URL}/${id}/children`);\r\n return response;\r\n },\r\n\r\n setParentGroup: async (id: string, data: SetParentGroupRequest): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/parent`, data);\r\n },\r\n\r\n // === TENANT MANAGEMENT ===\r\n\r\n getTenants: async (id: string): Promise<GroupTenantDto[]> => {\r\n const response = await apiContext.get<GroupTenantDto[]>(`${BASE_URL}/${id}/tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedTenants: async (id: string): Promise<InheritedTenantDto[]> => {\r\n const response = await apiContext.get<InheritedTenantDto[]>(`${BASE_URL}/${id}/inherited-tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedMembers: async (id: string): Promise<InheritedMemberDto[]> => {\r\n const response = await apiContext.get<InheritedMemberDto[]>(`${BASE_URL}/${id}/inherited-members`);\r\n return response;\r\n },\r\n\r\n getInheritedRoles: async (id: string): Promise<InheritedGroupRoleDto[]> => {\r\n const response = await apiContext.get<InheritedGroupRoleDto[]>(`${BASE_URL}/${id}/inherited-roles`);\r\n return response;\r\n },\r\n\r\n addToTenant: async (id: string, data: AddToTenantRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/tenants`, data);\r\n },\r\n\r\n removeFromTenant: async (groupId: string, tenantId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/tenants/${tenantId}`);\r\n },\r\n\r\n // === APPLICATION ACCESS ===\r\n\r\n getApplicationAccess: async (id: string, tenantId?: string): Promise<UserApplicationAccessDto[]> => {\r\n const url = tenantId\r\n ? `${BASE_URL}/${id}/application-access?tenantId=${tenantId}`\r\n : `${BASE_URL}/${id}/application-access`;\r\n const response = await apiContext.get<UserApplicationAccessDto[]>(url);\r\n return response;\r\n },\r\n\r\n // === CUSTOM ROLE ===\r\n\r\n getCustomRole: async (id: string): Promise<CustomRoleDetailDto | null> => {\r\n const response = await apiContext.get<CustomRoleDetailDto | null>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n createCustomRole: async (id: string): Promise<CustomRoleDetailDto> => {\r\n const response = await apiContext.post<CustomRoleDetailDto>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n deleteCustomRole: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}/custom-role`);\r\n },\r\n };\r\n};\r\nexport type GroupsApi = ReturnType<typeof _createGroupsApi>;\r\nexport const createGroupsApi: (tenantSlug?: string) => GroupsApi = _createGroupsApi;\r\n\r\n// Default export uses localStorage tenant slug (backward compatible)\r\nexport const groupsApi = createGroupsApi();\r\n"],"names":["withTenantContext","tenantSlug","url","config","apiClient","res","data","BASE_URL","_createGroupsApi","apiContext","api","search","isActive","syncedFromEntra","params","queryString","id","groupId","userId","roleId","tenantId","createGroupsApi","groupsApi"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const p=require("./index-
|
|
2
|
-
//# sourceMappingURL=groupsApi-
|
|
1
|
+
"use strict";const p=require("./index-cAikSVW0.js"),d=r=>({get:(s,e)=>p.apiClient.get(s,{...e,headers:r?{...e?.headers,"X-Tenant-Slug":r}:e?.headers}).then(t=>t.data),post:(s,e,t)=>p.apiClient.post(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),put:(s,e,t)=>p.apiClient.put(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),patch:(s,e,t)=>p.apiClient.patch(s,e,{...t,headers:r?{...t?.headers,"X-Tenant-Slug":r}:t?.headers}).then(n=>n.data),delete:(s,e)=>p.apiClient.delete(s,{...e,headers:r?{...e?.headers,"X-Tenant-Slug":r}:e?.headers}).then(t=>t.data)}),a="/api/administration/users/groups",l=r=>{const s=r?d(r):p.api;return{getAll:async(e,t,n)=>{const o=new URLSearchParams;e&&o.append("search",e),t!==void 0&&o.append("isActive",String(t)),n!==void 0&&o.append("syncedFromEntra",String(n));const i=o.toString(),$=i?`${a}?${i}`:a;return await s.get($)},getById:async e=>await s.get(`${a}/${e}`),create:async e=>await s.post(a,e),update:async(e,t)=>await s.put(`${a}/${e}`,t),delete:async e=>{await s.delete(`${a}/${e}`)},activate:async e=>{await s.patch(`${a}/${e}/activate`)},deactivate:async e=>{await s.patch(`${a}/${e}/deactivate`)},linkToEntra:async(e,t)=>{await s.post(`${a}/${e}/link-entra`,t)},unlinkFromEntra:async e=>{await s.post(`${a}/${e}/unlink-entra`)},getMembers:async e=>await s.get(`${a}/${e}/members`),addMember:async(e,t)=>{await s.post(`${a}/${e}/members`,t)},removeMember:async(e,t)=>{await s.delete(`${a}/${e}/members/${t}`)},getRoles:async e=>await s.get(`${a}/${e}/roles`),assignRole:async(e,t)=>{await s.post(`${a}/${e}/roles`,t)},removeRole:async(e,t,n)=>{const o=n?`?tenantId=${n}`:"";await s.delete(`${a}/${e}/roles/${t}${o}`)},setRoleInheritable:async(e,t,n)=>{await s.patch(`${a}/${e}/roles/${t}/inheritable`,n)},getChildGroups:async e=>await s.get(`${a}/${e}/children`),setParentGroup:async(e,t)=>{await s.patch(`${a}/${e}/parent`,t)},getTenants:async e=>await s.get(`${a}/${e}/tenants`),getInheritedTenants:async e=>await s.get(`${a}/${e}/inherited-tenants`),getInheritedMembers:async e=>await s.get(`${a}/${e}/inherited-members`),getInheritedRoles:async e=>await s.get(`${a}/${e}/inherited-roles`),addToTenant:async(e,t)=>{await s.post(`${a}/${e}/tenants`,t)},removeFromTenant:async(e,t)=>{await s.delete(`${a}/${e}/tenants/${t}`)},getApplicationAccess:async(e,t)=>{const n=t?`${a}/${e}/application-access?tenantId=${t}`:`${a}/${e}/application-access`;return await s.get(n)},getCustomRole:async e=>await s.get(`${a}/${e}/custom-role`),createCustomRole:async e=>await s.post(`${a}/${e}/custom-role`),deleteCustomRole:async e=>{await s.delete(`${a}/${e}/custom-role`)}}},c=l,h=c();exports.createGroupsApi=c;exports.groupsApi=h;
|
|
2
|
+
//# sourceMappingURL=groupsApi-lbxNsHFv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupsApi-BUyBgf_N.js","sources":["../../src/services/api/groupsApi.ts"],"sourcesContent":["import { api, apiClient } from './apiClient';\r\nimport type { UserApplicationAccessDto } from './adminApi';\r\n\r\n/**\r\n * Creates API methods with a specific tenant context.\r\n * Used when Super Admins view tenant-specific pages without \"switching\" to that tenant.\r\n */\r\nconst withTenantContext = (tenantSlug?: string) => ({\r\n get: <T>(url: string, config?: Parameters<typeof apiClient.get>[1]) =>\r\n apiClient.get<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n post: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.post>[2]) =>\r\n apiClient.post<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n put: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.put>[2]) =>\r\n apiClient.put<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n patch: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.patch>[2]) =>\r\n apiClient.patch<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n delete: <T>(url: string, config?: Parameters<typeof apiClient.delete>[1]) =>\r\n apiClient.delete<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n});\r\n\r\n// Types\r\nexport interface GroupListDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n memberCount: number;\r\n roles: string[];\r\n createdAt: string;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n childCount: number;\r\n}\r\n\r\nexport interface GroupDetailDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n mail: string | null;\r\n mailNickname: string | null;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n members: GroupMemberDto[];\r\n roles: GroupRoleDto[];\r\n childGroups: GroupChildDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n createdBy: string | null;\r\n updatedBy: string | null;\r\n}\r\n\r\nexport interface GroupMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface GroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n assignedAt: string;\r\n assignedBy: string;\r\n isInheritable: boolean;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n}\r\n\r\nexport interface GroupChildDto {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface CreateGroupRequest {\r\n name: string;\r\n description?: string;\r\n isSecurityGroup?: boolean;\r\n parentGroupId?: string;\r\n}\r\n\r\nexport interface UpdateGroupRequest {\r\n name: string;\r\n description?: string;\r\n}\r\n\r\nexport interface LinkEntraRequest {\r\n entraObjectId: string;\r\n}\r\n\r\nexport interface AddMemberRequest {\r\n userId: string;\r\n}\r\n\r\nexport interface AssignRoleRequest {\r\n roleId: string;\r\n isInheritable?: boolean;\r\n tenantId?: string | null;\r\n}\r\n\r\nexport interface SetInheritableRequest {\r\n isInheritable: boolean;\r\n}\r\n\r\nexport interface SetParentGroupRequest {\r\n parentGroupId: string | null;\r\n}\r\n\r\nexport interface InheritedTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n}\r\n\r\nexport interface InheritedMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface InheritedGroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface GroupTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface AddToTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface CustomRoleDetailDto {\r\n id: string;\r\n name: string;\r\n shortName: string;\r\n category: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n permissions: CustomRolePermissionDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CustomRolePermissionDto {\r\n id: string;\r\n path: string;\r\n description: string | null;\r\n}\r\n\r\nconst BASE_URL = '/api/administration/users/groups';\r\n\r\n/**\r\n * Factory function to create groups API with explicit tenant context.\r\n * @param tenantSlug - Optional tenant slug to use for all requests\r\n */\r\nconst _createGroupsApi = (tenantSlug?: string) => {\r\n const apiContext = tenantSlug ? withTenantContext(tenantSlug) : api;\r\n\r\n return {\r\n // === CRUD OPERATIONS ===\r\n\r\n getAll: async (\r\n search?: string,\r\n isActive?: boolean,\r\n syncedFromEntra?: boolean\r\n ): Promise<GroupListDto[]> => {\r\n const params = new URLSearchParams();\r\n if (search) params.append('search', search);\r\n if (isActive !== undefined) params.append('isActive', String(isActive));\r\n if (syncedFromEntra !== undefined) params.append('syncedFromEntra', String(syncedFromEntra));\r\n\r\n const queryString = params.toString();\r\n const url = queryString ? `${BASE_URL}?${queryString}` : BASE_URL;\r\n const response = await apiContext.get<GroupListDto[]>(url);\r\n return response;\r\n },\r\n\r\n getById: async (id: string): Promise<GroupDetailDto> => {\r\n const response = await apiContext.get<GroupDetailDto>(`${BASE_URL}/${id}`);\r\n return response;\r\n },\r\n\r\n create: async (data: CreateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.post<GroupDetailDto>(BASE_URL, data);\r\n return response;\r\n },\r\n\r\n update: async (id: string, data: UpdateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.put<GroupDetailDto>(`${BASE_URL}/${id}`, data);\r\n return response;\r\n },\r\n\r\n delete: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}`);\r\n },\r\n\r\n activate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/activate`);\r\n },\r\n\r\n deactivate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/deactivate`);\r\n },\r\n\r\n // === ENTRA LINKING ===\r\n\r\n linkToEntra: async (id: string, data: LinkEntraRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/link-entra`, data);\r\n },\r\n\r\n unlinkFromEntra: async (id: string): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/unlink-entra`);\r\n },\r\n\r\n // === MEMBER MANAGEMENT ===\r\n\r\n getMembers: async (id: string): Promise<GroupMemberDto[]> => {\r\n const response = await apiContext.get<GroupMemberDto[]>(`${BASE_URL}/${id}/members`);\r\n return response;\r\n },\r\n\r\n addMember: async (id: string, data: AddMemberRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/members`, data);\r\n },\r\n\r\n removeMember: async (groupId: string, userId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/members/${userId}`);\r\n },\r\n\r\n // === ROLE MANAGEMENT ===\r\n\r\n getRoles: async (id: string): Promise<GroupRoleDto[]> => {\r\n const response = await apiContext.get<GroupRoleDto[]>(`${BASE_URL}/${id}/roles`);\r\n return response;\r\n },\r\n\r\n assignRole: async (id: string, data: AssignRoleRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/roles`, data);\r\n },\r\n\r\n removeRole: async (groupId: string, roleId: string, tenantId?: string | null): Promise<void> => {\r\n const params = tenantId ? `?tenantId=${tenantId}` : '';\r\n await apiContext.delete(`${BASE_URL}/${groupId}/roles/${roleId}${params}`);\r\n },\r\n\r\n setRoleInheritable: async (\r\n groupId: string,\r\n roleId: string,\r\n data: SetInheritableRequest\r\n ): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${groupId}/roles/${roleId}/inheritable`, data);\r\n },\r\n\r\n // === HIERARCHY ===\r\n\r\n getChildGroups: async (id: string): Promise<GroupChildDto[]> => {\r\n const response = await apiContext.get<GroupChildDto[]>(`${BASE_URL}/${id}/children`);\r\n return response;\r\n },\r\n\r\n setParentGroup: async (id: string, data: SetParentGroupRequest): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/parent`, data);\r\n },\r\n\r\n // === TENANT MANAGEMENT ===\r\n\r\n getTenants: async (id: string): Promise<GroupTenantDto[]> => {\r\n const response = await apiContext.get<GroupTenantDto[]>(`${BASE_URL}/${id}/tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedTenants: async (id: string): Promise<InheritedTenantDto[]> => {\r\n const response = await apiContext.get<InheritedTenantDto[]>(`${BASE_URL}/${id}/inherited-tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedMembers: async (id: string): Promise<InheritedMemberDto[]> => {\r\n const response = await apiContext.get<InheritedMemberDto[]>(`${BASE_URL}/${id}/inherited-members`);\r\n return response;\r\n },\r\n\r\n getInheritedRoles: async (id: string): Promise<InheritedGroupRoleDto[]> => {\r\n const response = await apiContext.get<InheritedGroupRoleDto[]>(`${BASE_URL}/${id}/inherited-roles`);\r\n return response;\r\n },\r\n\r\n addToTenant: async (id: string, data: AddToTenantRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/tenants`, data);\r\n },\r\n\r\n removeFromTenant: async (groupId: string, tenantId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/tenants/${tenantId}`);\r\n },\r\n\r\n // === APPLICATION ACCESS ===\r\n\r\n getApplicationAccess: async (id: string, tenantId?: string): Promise<UserApplicationAccessDto[]> => {\r\n const url = tenantId\r\n ? `${BASE_URL}/${id}/application-access?tenantId=${tenantId}`\r\n : `${BASE_URL}/${id}/application-access`;\r\n const response = await apiContext.get<UserApplicationAccessDto[]>(url);\r\n return response;\r\n },\r\n\r\n // === CUSTOM ROLE ===\r\n\r\n getCustomRole: async (id: string): Promise<CustomRoleDetailDto | null> => {\r\n const response = await apiContext.get<CustomRoleDetailDto | null>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n createCustomRole: async (id: string): Promise<CustomRoleDetailDto> => {\r\n const response = await apiContext.post<CustomRoleDetailDto>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n deleteCustomRole: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}/custom-role`);\r\n },\r\n };\r\n};\r\nexport type GroupsApi = ReturnType<typeof _createGroupsApi>;\r\nexport const createGroupsApi: (tenantSlug?: string) => GroupsApi = _createGroupsApi;\r\n\r\n// Default export uses localStorage tenant slug (backward compatible)\r\nexport const groupsApi = createGroupsApi();\r\n"],"names":["withTenantContext","tenantSlug","url","config","apiClient","res","data","BASE_URL","_createGroupsApi","apiContext","api","search","isActive","syncedFromEntra","params","queryString","id","groupId","userId","roleId","tenantId","createGroupsApi","groupsApi"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"groupsApi-lbxNsHFv.js","sources":["../../src/services/api/groupsApi.ts"],"sourcesContent":["import { api, apiClient } from './apiClient';\r\nimport type { UserApplicationAccessDto } from './adminApi';\r\n\r\n/**\r\n * Creates API methods with a specific tenant context.\r\n * Used when Super Admins view tenant-specific pages without \"switching\" to that tenant.\r\n */\r\nconst withTenantContext = (tenantSlug?: string) => ({\r\n get: <T>(url: string, config?: Parameters<typeof apiClient.get>[1]) =>\r\n apiClient.get<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n post: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.post>[2]) =>\r\n apiClient.post<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n put: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.put>[2]) =>\r\n apiClient.put<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n patch: <T>(url: string, data?: unknown, config?: Parameters<typeof apiClient.patch>[2]) =>\r\n apiClient.patch<T>(url, data, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n\r\n delete: <T>(url: string, config?: Parameters<typeof apiClient.delete>[1]) =>\r\n apiClient.delete<T>(url, {\r\n ...config,\r\n headers: tenantSlug ? { ...config?.headers, 'X-Tenant-Slug': tenantSlug } : config?.headers,\r\n }).then(res => res.data),\r\n});\r\n\r\n// Types\r\nexport interface GroupListDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n memberCount: number;\r\n roles: string[];\r\n createdAt: string;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n childCount: number;\r\n}\r\n\r\nexport interface GroupDetailDto {\r\n id: string;\r\n name: string;\r\n description: string | null;\r\n isActive: boolean;\r\n isSecurityGroup: boolean;\r\n isMailEnabled: boolean;\r\n mail: string | null;\r\n mailNickname: string | null;\r\n entraObjectId: string | null;\r\n lastEntraSyncAt: string | null;\r\n isSyncedFromEntra: boolean;\r\n parentGroupId: string | null;\r\n parentGroupName: string | null;\r\n members: GroupMemberDto[];\r\n roles: GroupRoleDto[];\r\n childGroups: GroupChildDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n createdBy: string | null;\r\n updatedBy: string | null;\r\n}\r\n\r\nexport interface GroupMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface GroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n assignedAt: string;\r\n assignedBy: string;\r\n isInheritable: boolean;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n}\r\n\r\nexport interface GroupChildDto {\r\n id: string;\r\n name: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface CreateGroupRequest {\r\n name: string;\r\n description?: string;\r\n isSecurityGroup?: boolean;\r\n parentGroupId?: string;\r\n}\r\n\r\nexport interface UpdateGroupRequest {\r\n name: string;\r\n description?: string;\r\n}\r\n\r\nexport interface LinkEntraRequest {\r\n entraObjectId: string;\r\n}\r\n\r\nexport interface AddMemberRequest {\r\n userId: string;\r\n}\r\n\r\nexport interface AssignRoleRequest {\r\n roleId: string;\r\n isInheritable?: boolean;\r\n tenantId?: string | null;\r\n}\r\n\r\nexport interface SetInheritableRequest {\r\n isInheritable: boolean;\r\n}\r\n\r\nexport interface SetParentGroupRequest {\r\n parentGroupId: string | null;\r\n}\r\n\r\nexport interface InheritedTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n}\r\n\r\nexport interface InheritedMemberDto {\r\n userId: string;\r\n email: string;\r\n fullName: string;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface InheritedGroupRoleDto {\r\n roleId: string;\r\n roleName: string;\r\n roleDescription: string | null;\r\n tenantId: string | null;\r\n tenantName: string | null;\r\n isGlobal: boolean;\r\n inheritedFromGroupId: string;\r\n inheritedFromGroupName: string;\r\n level: number;\r\n}\r\n\r\nexport interface GroupTenantDto {\r\n tenantId: string;\r\n tenantName: string;\r\n tenantSlug: string;\r\n tenantType: string;\r\n addedAt: string;\r\n addedBy: string | null;\r\n}\r\n\r\nexport interface AddToTenantRequest {\r\n tenantId: string;\r\n}\r\n\r\nexport interface CustomRoleDetailDto {\r\n id: string;\r\n name: string;\r\n shortName: string;\r\n category: string;\r\n description: string | null;\r\n isSystem: boolean;\r\n permissions: CustomRolePermissionDto[];\r\n createdAt: string;\r\n updatedAt: string | null;\r\n}\r\n\r\nexport interface CustomRolePermissionDto {\r\n id: string;\r\n path: string;\r\n description: string | null;\r\n}\r\n\r\nconst BASE_URL = '/api/administration/users/groups';\r\n\r\n/**\r\n * Factory function to create groups API with explicit tenant context.\r\n * @param tenantSlug - Optional tenant slug to use for all requests\r\n */\r\nconst _createGroupsApi = (tenantSlug?: string) => {\r\n const apiContext = tenantSlug ? withTenantContext(tenantSlug) : api;\r\n\r\n return {\r\n // === CRUD OPERATIONS ===\r\n\r\n getAll: async (\r\n search?: string,\r\n isActive?: boolean,\r\n syncedFromEntra?: boolean\r\n ): Promise<GroupListDto[]> => {\r\n const params = new URLSearchParams();\r\n if (search) params.append('search', search);\r\n if (isActive !== undefined) params.append('isActive', String(isActive));\r\n if (syncedFromEntra !== undefined) params.append('syncedFromEntra', String(syncedFromEntra));\r\n\r\n const queryString = params.toString();\r\n const url = queryString ? `${BASE_URL}?${queryString}` : BASE_URL;\r\n const response = await apiContext.get<GroupListDto[]>(url);\r\n return response;\r\n },\r\n\r\n getById: async (id: string): Promise<GroupDetailDto> => {\r\n const response = await apiContext.get<GroupDetailDto>(`${BASE_URL}/${id}`);\r\n return response;\r\n },\r\n\r\n create: async (data: CreateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.post<GroupDetailDto>(BASE_URL, data);\r\n return response;\r\n },\r\n\r\n update: async (id: string, data: UpdateGroupRequest): Promise<GroupDetailDto> => {\r\n const response = await apiContext.put<GroupDetailDto>(`${BASE_URL}/${id}`, data);\r\n return response;\r\n },\r\n\r\n delete: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}`);\r\n },\r\n\r\n activate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/activate`);\r\n },\r\n\r\n deactivate: async (id: string): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/deactivate`);\r\n },\r\n\r\n // === ENTRA LINKING ===\r\n\r\n linkToEntra: async (id: string, data: LinkEntraRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/link-entra`, data);\r\n },\r\n\r\n unlinkFromEntra: async (id: string): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/unlink-entra`);\r\n },\r\n\r\n // === MEMBER MANAGEMENT ===\r\n\r\n getMembers: async (id: string): Promise<GroupMemberDto[]> => {\r\n const response = await apiContext.get<GroupMemberDto[]>(`${BASE_URL}/${id}/members`);\r\n return response;\r\n },\r\n\r\n addMember: async (id: string, data: AddMemberRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/members`, data);\r\n },\r\n\r\n removeMember: async (groupId: string, userId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/members/${userId}`);\r\n },\r\n\r\n // === ROLE MANAGEMENT ===\r\n\r\n getRoles: async (id: string): Promise<GroupRoleDto[]> => {\r\n const response = await apiContext.get<GroupRoleDto[]>(`${BASE_URL}/${id}/roles`);\r\n return response;\r\n },\r\n\r\n assignRole: async (id: string, data: AssignRoleRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/roles`, data);\r\n },\r\n\r\n removeRole: async (groupId: string, roleId: string, tenantId?: string | null): Promise<void> => {\r\n const params = tenantId ? `?tenantId=${tenantId}` : '';\r\n await apiContext.delete(`${BASE_URL}/${groupId}/roles/${roleId}${params}`);\r\n },\r\n\r\n setRoleInheritable: async (\r\n groupId: string,\r\n roleId: string,\r\n data: SetInheritableRequest\r\n ): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${groupId}/roles/${roleId}/inheritable`, data);\r\n },\r\n\r\n // === HIERARCHY ===\r\n\r\n getChildGroups: async (id: string): Promise<GroupChildDto[]> => {\r\n const response = await apiContext.get<GroupChildDto[]>(`${BASE_URL}/${id}/children`);\r\n return response;\r\n },\r\n\r\n setParentGroup: async (id: string, data: SetParentGroupRequest): Promise<void> => {\r\n await apiContext.patch(`${BASE_URL}/${id}/parent`, data);\r\n },\r\n\r\n // === TENANT MANAGEMENT ===\r\n\r\n getTenants: async (id: string): Promise<GroupTenantDto[]> => {\r\n const response = await apiContext.get<GroupTenantDto[]>(`${BASE_URL}/${id}/tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedTenants: async (id: string): Promise<InheritedTenantDto[]> => {\r\n const response = await apiContext.get<InheritedTenantDto[]>(`${BASE_URL}/${id}/inherited-tenants`);\r\n return response;\r\n },\r\n\r\n getInheritedMembers: async (id: string): Promise<InheritedMemberDto[]> => {\r\n const response = await apiContext.get<InheritedMemberDto[]>(`${BASE_URL}/${id}/inherited-members`);\r\n return response;\r\n },\r\n\r\n getInheritedRoles: async (id: string): Promise<InheritedGroupRoleDto[]> => {\r\n const response = await apiContext.get<InheritedGroupRoleDto[]>(`${BASE_URL}/${id}/inherited-roles`);\r\n return response;\r\n },\r\n\r\n addToTenant: async (id: string, data: AddToTenantRequest): Promise<void> => {\r\n await apiContext.post(`${BASE_URL}/${id}/tenants`, data);\r\n },\r\n\r\n removeFromTenant: async (groupId: string, tenantId: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${groupId}/tenants/${tenantId}`);\r\n },\r\n\r\n // === APPLICATION ACCESS ===\r\n\r\n getApplicationAccess: async (id: string, tenantId?: string): Promise<UserApplicationAccessDto[]> => {\r\n const url = tenantId\r\n ? `${BASE_URL}/${id}/application-access?tenantId=${tenantId}`\r\n : `${BASE_URL}/${id}/application-access`;\r\n const response = await apiContext.get<UserApplicationAccessDto[]>(url);\r\n return response;\r\n },\r\n\r\n // === CUSTOM ROLE ===\r\n\r\n getCustomRole: async (id: string): Promise<CustomRoleDetailDto | null> => {\r\n const response = await apiContext.get<CustomRoleDetailDto | null>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n createCustomRole: async (id: string): Promise<CustomRoleDetailDto> => {\r\n const response = await apiContext.post<CustomRoleDetailDto>(`${BASE_URL}/${id}/custom-role`);\r\n return response;\r\n },\r\n\r\n deleteCustomRole: async (id: string): Promise<void> => {\r\n await apiContext.delete(`${BASE_URL}/${id}/custom-role`);\r\n },\r\n };\r\n};\r\nexport type GroupsApi = ReturnType<typeof _createGroupsApi>;\r\nexport const createGroupsApi: (tenantSlug?: string) => GroupsApi = _createGroupsApi;\r\n\r\n// Default export uses localStorage tenant slug (backward compatible)\r\nexport const groupsApi = createGroupsApi();\r\n"],"names":["withTenantContext","tenantSlug","url","config","apiClient","res","data","BASE_URL","_createGroupsApi","apiContext","api","search","isActive","syncedFromEntra","params","queryString","id","groupId","userId","roleId","tenantId","createGroupsApi","groupsApi"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { useState as u, useCallback as W, useEffect as z, useMemo as Se } from "
|
|
|
3
3
|
import { useNavigate as ee, useParams as we, useSearchParams as Fe, Link as me } from "react-router-dom";
|
|
4
4
|
import { useTranslation as R } from "react-i18next";
|
|
5
5
|
import { Plus as Z, Mail as H, Search as _e, Filter as Ve, Loader2 as U, Languages as ce, Eye as X, Edit2 as Ae, Trash2 as K, ArrowLeft as ie, Save as de, Settings as le, Edit as ve, Pause as pe, Play as ue, AlertTriangle as be, CheckCircle as ge, FileText as $e, Code as je, ChevronUp as Ne, ChevronDown as ke, Check as ye, Copy as Ke, Undo as Ye, Redo as Ge, Heading1 as Qe, Heading2 as Ze, Heading3 as Xe, Bold as et, Italic as tt, Underline as at, Strikethrough as rt, AlignLeft as st, AlignCenter as it, AlignRight as lt, List as nt, ListOrdered as he, Quote as ot, Minus as ct, Link as dt, X as Le, Image as mt, Palette as pt, Highlighter as ut, Columns as vt, Maximize2 as ht, Minimize2 as xt, MessageSquare as De, Workflow as re, Zap as se, Info as Ee, Lock as Pe, Webhook as Be, GitBranch as Ue, Clock as Je, History as bt } from "lucide-react";
|
|
6
|
-
import { i as V, a as Oe, B as q, C as ze, V as We, P as He, p as Re, E as gt, F as qe } from "./index-
|
|
6
|
+
import { i as V, a as Oe, B as q, C as ze, V as We, P as He, p as Re, E as gt, F as qe } from "./index-CN2WRyg1.js";
|
|
7
7
|
import { useEditor as ft, EditorContent as yt } from "@tiptap/react";
|
|
8
8
|
import wt from "@tiptap/starter-kit";
|
|
9
9
|
import Nt from "@tiptap/extension-link";
|
|
@@ -4263,4 +4263,4 @@ export {
|
|
|
4263
4263
|
ba as WorkflowsListPage,
|
|
4264
4264
|
ga as WorkflowsTriggersPage
|
|
4265
4265
|
};
|
|
4266
|
-
//# sourceMappingURL=index-
|
|
4266
|
+
//# sourceMappingURL=index-BI2dc1FS.js.map
|