From 8e9c4a2228d9d173a4c2c81812c19a294968a1fe Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 23 Apr 2026 09:40:14 +0800 Subject: [PATCH] =?UTF-8?q?debug:=20=E6=B7=BB=E5=8A=A0=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=8F=B0=E6=97=A5=E5=BF=97=E8=B0=83=E8=AF=95=E7=BD=91=E5=85=B3?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{AccessLogPage-rqId-oaG.js => AccessLogPage-BMkEOqMJ.js} | 2 +- ...gStatsPage-BdoEC7iY.js => AccessLogStatsPage-CXrZAL2E.js} | 2 +- ...tGatewayPage-CkGwNps2.js => AgentGatewayPage-DEPMQmCG.js} | 2 +- ...setFacadePage-Cidq4AsP.js => AssetFacadePage-CCyTP6F2.js} | 2 +- ...ewayChoose-DPYRzxwL.js => AssetGatewayChoose-4vUjpk3C.js} | 2 +- server/resource/build/assets/AssetPage-BJD5muIt.js | 1 + server/resource/build/assets/AssetPage-CInWNumO.js | 1 - ...AssetPage-Bnh0QZ4Y.js => AuthorisedAssetPage-BX2rNWSk.js} | 2 +- ...AssetPost-BFbI-Qae.js => AuthorisedAssetPost-vCyEAP3r.js} | 2 +- ...e-D8lUCC84.js => AuthorisedDatabaseAssetPage-CQMQnnFB.js} | 2 +- ...t-DCLaLxbv.js => AuthorisedDatabaseAssetPost-BrzKzr0W.js} | 2 +- ...itePage-O4HuiOP6.js => AuthorisedWebsitePage-C91itGU-.js} | 2 +- ...itePost-CkpOhlat.js => AuthorisedWebsitePost-COc7i5eT.js} | 2 +- .../{BrowserPage-xofuPwAx.js => BrowserPage-B9fb62o-.js} | 2 +- ...rtificatePage-S9M5FoJH.js => CertificatePage-B2tj9A2w.js} | 2 +- ...terDetail-DF5yiZYa.js => CommandFilterDetail-BeaIU-md.js} | 2 +- ...dFilterPage-b_7r890m.js => CommandFilterPage-DaXaMByx.js} | 2 +- ...CredentialPage-C35A_WzA.js => CredentialPage-Die5iQYX.js} | 2 +- .../{DashboardPage-CPKeLQvq.js => DashboardPage-Im-9FWfr.js} | 2 +- ...ePage-Dn2DFVr8.js => DatabaseAssetFacadePage-a0QWLTVr.js} | 2 +- ...seAssetPage-BerFFisj.js => DatabaseAssetPage-C5z0KjFF.js} | 2 +- ...SQLLogPage-C0VvLLEG.js => DatabaseSQLLogPage-D3ObzhHj.js} | 2 +- ...derPage-B_VFfBxr.js => DatabaseWorkOrderPage-Caoq0Mdz.js} | 2 +- ...age-DFD-a3Te.js => DatabaseWorkOrderUserPage-B2ycCPZM.js} | 2 +- ...rtmentDetail-Be35ReAG.js => DepartmentDetail-ByJ-vndZ.js} | 2 +- ...DepartmentPage-SejOk8c8.js => DepartmentPage-CRl-pRy6.js} | 2 +- .../assets/{ErrorPage-WplkeDbT.js => ErrorPage-BYi3namZ.js} | 2 +- ...rdSkeleton-DuF-8KBE.js => FacadeCardSkeleton-N6rktkuw.js} | 2 +- ...cadeSearchBar-sDOAHksR.js => FacadeSearchBar-DPZw3dye.js} | 2 +- ...stemLogPage-By5AW-Bn.js => FileSystemLogPage-q2mkisVQ.js} | 2 +- ...wayGroupPage-lhyUsn9i.js => GatewayGroupPage-Bz3t4FqF.js} | 2 +- .../{GuacdMonitor-BFjzb-EC.js => GuacdMonitor-BuR0ODFT.js} | 2 +- .../{GuacdPlayback-CXTxl9WE.js => GuacdPlayback-CFtamDo9.js} | 2 +- .../assets/{InfoPage-C1KU0N5z.js => InfoPage--AJ8mxff.js} | 2 +- ...ginLockedPage-BfP3eKHk.js => LoginLockedPage-DZnpSndD.js} | 2 +- .../{LoginLogPage-BLK1mfnq.js => LoginLogPage-wdWF965f.js} | 2 +- .../assets/{LoginPage-EZSuVsun.js => LoginPage-aub4Iv9y.js} | 2 +- ...ailPage-C-1zj9bm.js => LoginPolicyDetailPage-C0FoOMds.js} | 2 +- ...ginPolicyPage-CQKYlGgn.js => LoginPolicyPage-D8II9jNz.js} | 2 +- ...yPostPage-Ds4eWRMf.js => LoginPolicyPostPage--Tauq4PS.js} | 2 +- ...Terminal-DTIA7YRO.js => MobileAccessTerminal-DNKK6b04.js} | 2 +- .../build/assets/{NLink-BW2w3qR4.js => NLink-Dl2yFaN4.js} | 2 +- ...essionPage-BQbWlNuQ.js => OfflineSessionPage-D1UBBI15.js} | 2 +- .../{OidcCallback-Ceurjycx.js => OidcCallback-qbNXTZur.js} | 2 +- ...OidcClientPage-DILLx2b5.js => OidcClientPage-DeSDpT3L.js} | 2 +- ...rverConsent-Cp7AAUPq.js => OidcServerConsent-zcgmhrgY.js} | 2 +- ...SessionPage-C4HtKXE7.js => OnlineSessionPage-zbyIKEoo.js} | 2 +- ...ationLogPage-7stIEQaB.js => OperationLogPage-BlAhFenm.js} | 2 +- .../{QuerySelects-DHrAMegb.js => QuerySelects-HiP3pg4d.js} | 2 +- .../{RedirectPage-xjIE-7In.js => RedirectPage-BghypuSI.js} | 2 +- .../{RoleDetail-BVoN2R-V.js => RoleDetail-B5ZhMtSV.js} | 2 +- .../assets/{RolePage-C6MaXYBm.js => RolePage-DqozdEe0.js} | 2 +- ...ledTaskPage-CpGHrjAP.js => ScheduledTaskPage-CQSqn-EP.js} | 2 +- .../{SettingPage-naIEfwq6.js => SettingPage-DxlkP9BT.js} | 2 +- .../assets/{SetupPage-CTGu1LkD.js => SetupPage-DriicTxX.js} | 2 +- .../{SnippetPage-DmR5nBrh.js => SnippetPage-Bp2O5-JS.js} | 2 +- ...ippetUserPage-DYKwTzpZ.js => SnippetUserPage-DbddvRmb.js} | 2 +- ...SshGatewayPage-hPMUXSQN.js => SshGatewayPage-C_iCWAPs.js} | 2 +- .../{StoragePage-JPUhNoV1.js => StoragePage-DS0_Tdim.js} | 2 +- .../{StrategyPage-DFdP-6KB.js => StrategyPage-58Xo8e61.js} | 2 +- ...MonitorPage-DWtzWPw3.js => SystemMonitorPage-Lnutq0Ew.js} | 2 +- ...rminalMonitor-BuiLfLXh.js => TerminalMonitor-BGHFY2w9.js} | 2 +- ...inalPlayback-CslH5VTi.js => TerminalPlayback-CwU1DI7U.js} | 2 +- .../assets/{ToolsPage-l87ZTNOl.js => ToolsPage-DPPxYsiI.js} | 2 +- ...UserDetailPage-COUllrPm.js => UserDetailPage-CxWs4t4Q.js} | 2 +- .../{UserInfoPage-C5YwCFfO.js => UserInfoPage-DrNAhF9r.js} | 2 +- .../{UserLayout-C7K-gfNi.js => UserLayout-M9_Sh7Dn.js} | 2 +- .../assets/{UserPage-_qXT4zeH.js => UserPage-hpsga5IM.js} | 2 +- ...eFacadePage-Bpy51VlF.js => WebsiteFacadePage-CqAliO-B.js} | 2 +- .../{WebsitePage-BQsgC7sM.js => WebsitePage-BFwEoyOi.js} | 2 +- ...rkCallback-uR2Gy8LY.js => WechatWorkCallback-BTjIgIlC.js} | 2 +- ...access-log-api-lMBeavFW.js => access-log-api-C2jjjGpZ.js} | 2 +- ...gateway-api-C1FfOeZ1.js => agent-gateway-api-C9ZaxlKW.js} | 2 +- .../assets/{asset-api-CdGgZMNY.js => asset-api-1abjsV5s.js} | 2 +- ...sset-api-CAfIRme-.js => authorised-asset-api-DxGTPNvM.js} | 2 +- ...CrMo0xb4.js => authorised-database-asset-api-u0MMVZQN.js} | 2 +- ...te-api-BRQ745lC.js => authorised-website-api-DLMeAD6d.js} | 2 +- ...rtificate-api-Dxdo9Mos.js => certificate-api-CCI2Z4Qf.js} | 2 +- ...filter-api-DlKwuBlA.js => command-filter-api-BxXGNaHY.js} | 2 +- ...credential-api-Byw61SQu.js => credential-api-DP_sN2cX.js} | 2 +- ...-asset-api-CCmdFIKr.js => database-asset-api-BQeUyDt2.js} | 2 +- ...k-order-api-KPFccs1w.js => db-work-order-api-Bt-h8Gzk.js} | 2 +- ...department-api-BBDEkNE1.js => department-api-fa0GHZbt.js} | 2 +- ...y-group-api-Ckni5YAK.js => gateway-group-api-nxpckHkj.js} | 2 +- .../build/assets/{index-BdfI9ZEv.js => index-DQXwuKC5.js} | 4 ++-- ...n-policy-api-FsKg9lSA.js => login-policy-api-BlI40YsB.js} | 2 +- .../assets/{network-B7NfTit9.js => network-Bw9HyUcr.js} | 2 +- .../assets/{oidc-api-BsaBtN-M.js => oidc-api-DdlmoOii.js} | 2 +- .../assets/{role-api-BtBYGwtw.js => role-api-RbYCFKw-.js} | 2 +- .../build/assets/{server-BXUeOkFL.js => server-DnjIV_zW.js} | 2 +- .../{session-api-CdVNYxgO.js => session-api-mmDQqQeA.js} | 2 +- ...h-gateway-api-CfWrAhC0.js => ssh-gateway-api-D4569Eil.js} | 2 +- .../{storage-api-BOyaRg9s.js => storage-api-CDrFMJhC.js} | 2 +- .../{strategy-api-D3jzAEr4.js => strategy-api-z9cMxeja.js} | 2 +- .../build/assets/{sun-B74I0IGS.js => sun-7WZ3UW9g.js} | 2 +- .../build/assets/{times-BW3mBaPj.js => times-CQ9ir0Jv.js} | 2 +- .../build/assets/{upload-D2Oc5RCX.js => upload-D4kD-YfJ.js} | 2 +- .../assets/{user-api-LAxz6xgj.js => user-api-BJxKseSg.js} | 2 +- .../build/assets/{users-C-UbsH1o.js => users-Bfyvg_N3.js} | 2 +- .../{website-api-rU4LiJu6.js => website-api-CiGWjL7L.js} | 2 +- ...chat-work-api-D6pynTWy.js => wechat-work-api-DdwWCsjx.js} | 2 +- server/resource/build/index.html | 2 +- server/resource/build/sw.js | 2 +- web/src/pages/assets/AssetPost.tsx | 5 +++++ 104 files changed, 108 insertions(+), 103 deletions(-) rename server/resource/build/assets/{AccessLogPage-rqId-oaG.js => AccessLogPage-BMkEOqMJ.js} (96%) rename server/resource/build/assets/{AccessLogStatsPage-BdoEC7iY.js => AccessLogStatsPage-CXrZAL2E.js} (97%) rename server/resource/build/assets/{AgentGatewayPage-CkGwNps2.js => AgentGatewayPage-DEPMQmCG.js} (99%) rename server/resource/build/assets/{AssetFacadePage-Cidq4AsP.js => AssetFacadePage-CCyTP6F2.js} (94%) rename server/resource/build/assets/{AssetGatewayChoose-DPYRzxwL.js => AssetGatewayChoose-4vUjpk3C.js} (91%) create mode 100644 server/resource/build/assets/AssetPage-BJD5muIt.js delete mode 100644 server/resource/build/assets/AssetPage-CInWNumO.js rename server/resource/build/assets/{AuthorisedAssetPage-Bnh0QZ4Y.js => AuthorisedAssetPage-BX2rNWSk.js} (88%) rename server/resource/build/assets/{AuthorisedAssetPost-BFbI-Qae.js => AuthorisedAssetPost-vCyEAP3r.js} (86%) rename server/resource/build/assets/{AuthorisedDatabaseAssetPage-D8lUCC84.js => AuthorisedDatabaseAssetPage-CQMQnnFB.js} (87%) rename server/resource/build/assets/{AuthorisedDatabaseAssetPost-DCLaLxbv.js => AuthorisedDatabaseAssetPost-BrzKzr0W.js} (86%) rename server/resource/build/assets/{AuthorisedWebsitePage-O4HuiOP6.js => AuthorisedWebsitePage-C91itGU-.js} (89%) rename server/resource/build/assets/{AuthorisedWebsitePost-CkpOhlat.js => AuthorisedWebsitePost-COc7i5eT.js} (89%) rename server/resource/build/assets/{BrowserPage-xofuPwAx.js => BrowserPage-B9fb62o-.js} (98%) rename server/resource/build/assets/{CertificatePage-S9M5FoJH.js => CertificatePage-B2tj9A2w.js} (98%) rename server/resource/build/assets/{CommandFilterDetail-DF5yiZYa.js => CommandFilterDetail-BeaIU-md.js} (97%) rename server/resource/build/assets/{CommandFilterPage-b_7r890m.js => CommandFilterPage-DaXaMByx.js} (95%) rename server/resource/build/assets/{CredentialPage-C35A_WzA.js => CredentialPage-Die5iQYX.js} (98%) rename server/resource/build/assets/{DashboardPage-CPKeLQvq.js => DashboardPage-Im-9FWfr.js} (99%) rename server/resource/build/assets/{DatabaseAssetFacadePage-Dn2DFVr8.js => DatabaseAssetFacadePage-a0QWLTVr.js} (88%) rename server/resource/build/assets/{DatabaseAssetPage-BerFFisj.js => DatabaseAssetPage-C5z0KjFF.js} (95%) rename server/resource/build/assets/{DatabaseSQLLogPage-C0VvLLEG.js => DatabaseSQLLogPage-D3ObzhHj.js} (92%) rename server/resource/build/assets/{DatabaseWorkOrderPage-B_VFfBxr.js => DatabaseWorkOrderPage-Caoq0Mdz.js} (92%) rename server/resource/build/assets/{DatabaseWorkOrderUserPage-DFD-a3Te.js => DatabaseWorkOrderUserPage-B2ycCPZM.js} (96%) rename server/resource/build/assets/{DepartmentDetail-Be35ReAG.js => DepartmentDetail-ByJ-vndZ.js} (89%) rename server/resource/build/assets/{DepartmentPage-SejOk8c8.js => DepartmentPage-CRl-pRy6.js} (97%) rename server/resource/build/assets/{ErrorPage-WplkeDbT.js => ErrorPage-BYi3namZ.js} (80%) rename server/resource/build/assets/{FacadeCardSkeleton-DuF-8KBE.js => FacadeCardSkeleton-N6rktkuw.js} (99%) rename server/resource/build/assets/{FacadeSearchBar-sDOAHksR.js => FacadeSearchBar-DPZw3dye.js} (95%) rename server/resource/build/assets/{FileSystemLogPage-By5AW-Bn.js => FileSystemLogPage-q2mkisVQ.js} (97%) rename server/resource/build/assets/{GatewayGroupPage-lhyUsn9i.js => GatewayGroupPage-Bz3t4FqF.js} (96%) rename server/resource/build/assets/{GuacdMonitor-BFjzb-EC.js => GuacdMonitor-BuR0ODFT.js} (90%) rename server/resource/build/assets/{GuacdPlayback-CXTxl9WE.js => GuacdPlayback-CFtamDo9.js} (98%) rename server/resource/build/assets/{InfoPage-C1KU0N5z.js => InfoPage--AJ8mxff.js} (99%) rename server/resource/build/assets/{LoginLockedPage-BfP3eKHk.js => LoginLockedPage-DZnpSndD.js} (96%) rename server/resource/build/assets/{LoginLogPage-BLK1mfnq.js => LoginLogPage-wdWF965f.js} (97%) rename server/resource/build/assets/{LoginPage-EZSuVsun.js => LoginPage-aub4Iv9y.js} (96%) rename server/resource/build/assets/{LoginPolicyDetailPage-C-1zj9bm.js => LoginPolicyDetailPage-C0FoOMds.js} (95%) rename server/resource/build/assets/{LoginPolicyPage-CQKYlGgn.js => LoginPolicyPage-D8II9jNz.js} (93%) rename server/resource/build/assets/{LoginPolicyPostPage-Ds4eWRMf.js => LoginPolicyPostPage--Tauq4PS.js} (98%) rename server/resource/build/assets/{MobileAccessTerminal-DTIA7YRO.js => MobileAccessTerminal-DNKK6b04.js} (81%) rename server/resource/build/assets/{NLink-BW2w3qR4.js => NLink-Dl2yFaN4.js} (66%) rename server/resource/build/assets/{OfflineSessionPage-BQbWlNuQ.js => OfflineSessionPage-D1UBBI15.js} (98%) rename server/resource/build/assets/{OidcCallback-Ceurjycx.js => OidcCallback-qbNXTZur.js} (91%) rename server/resource/build/assets/{OidcClientPage-DILLx2b5.js => OidcClientPage-DeSDpT3L.js} (98%) rename server/resource/build/assets/{OidcServerConsent-Cp7AAUPq.js => OidcServerConsent-zcgmhrgY.js} (98%) rename server/resource/build/assets/{OnlineSessionPage-C4HtKXE7.js => OnlineSessionPage-zbyIKEoo.js} (95%) rename server/resource/build/assets/{OperationLogPage-7stIEQaB.js => OperationLogPage-BlAhFenm.js} (97%) rename server/resource/build/assets/{QuerySelects-DHrAMegb.js => QuerySelects-HiP3pg4d.js} (92%) rename server/resource/build/assets/{RedirectPage-xjIE-7In.js => RedirectPage-BghypuSI.js} (86%) rename server/resource/build/assets/{RoleDetail-BVoN2R-V.js => RoleDetail-B5ZhMtSV.js} (93%) rename server/resource/build/assets/{RolePage-C6MaXYBm.js => RolePage-DqozdEe0.js} (96%) rename server/resource/build/assets/{ScheduledTaskPage-CpGHrjAP.js => ScheduledTaskPage-CQSqn-EP.js} (98%) rename server/resource/build/assets/{SettingPage-naIEfwq6.js => SettingPage-DxlkP9BT.js} (99%) rename server/resource/build/assets/{SetupPage-CTGu1LkD.js => SetupPage-DriicTxX.js} (94%) rename server/resource/build/assets/{SnippetPage-DmR5nBrh.js => SnippetPage-Bp2O5-JS.js} (98%) rename server/resource/build/assets/{SnippetUserPage-DYKwTzpZ.js => SnippetUserPage-DbddvRmb.js} (95%) rename server/resource/build/assets/{SshGatewayPage-hPMUXSQN.js => SshGatewayPage-C_iCWAPs.js} (98%) rename server/resource/build/assets/{StoragePage-JPUhNoV1.js => StoragePage-DS0_Tdim.js} (96%) rename server/resource/build/assets/{StrategyPage-DFdP-6KB.js => StrategyPage-58Xo8e61.js} (97%) rename server/resource/build/assets/{SystemMonitorPage-DWtzWPw3.js => SystemMonitorPage-Lnutq0Ew.js} (80%) rename server/resource/build/assets/{TerminalMonitor-BuiLfLXh.js => TerminalMonitor-BGHFY2w9.js} (95%) rename server/resource/build/assets/{TerminalPlayback-CslH5VTi.js => TerminalPlayback-CwU1DI7U.js} (99%) rename server/resource/build/assets/{ToolsPage-l87ZTNOl.js => ToolsPage-DPPxYsiI.js} (97%) rename server/resource/build/assets/{UserDetailPage-COUllrPm.js => UserDetailPage-CxWs4t4Q.js} (94%) rename server/resource/build/assets/{UserInfoPage-C5YwCFfO.js => UserInfoPage-DrNAhF9r.js} (76%) rename server/resource/build/assets/{UserLayout-C7K-gfNi.js => UserLayout-M9_Sh7Dn.js} (98%) rename server/resource/build/assets/{UserPage-_qXT4zeH.js => UserPage-hpsga5IM.js} (97%) rename server/resource/build/assets/{WebsiteFacadePage-Bpy51VlF.js => WebsiteFacadePage-CqAliO-B.js} (93%) rename server/resource/build/assets/{WebsitePage-BQsgC7sM.js => WebsitePage-BFwEoyOi.js} (98%) rename server/resource/build/assets/{WechatWorkCallback-uR2Gy8LY.js => WechatWorkCallback-BTjIgIlC.js} (90%) rename server/resource/build/assets/{access-log-api-lMBeavFW.js => access-log-api-C2jjjGpZ.js} (96%) rename server/resource/build/assets/{agent-gateway-api-C1FfOeZ1.js => agent-gateway-api-C9ZaxlKW.js} (91%) rename server/resource/build/assets/{asset-api-CdGgZMNY.js => asset-api-1abjsV5s.js} (95%) rename server/resource/build/assets/{authorised-asset-api-CAfIRme-.js => authorised-asset-api-DxGTPNvM.js} (93%) rename server/resource/build/assets/{authorised-database-asset-api-CrMo0xb4.js => authorised-database-asset-api-u0MMVZQN.js} (92%) rename server/resource/build/assets/{authorised-website-api-BRQ745lC.js => authorised-website-api-DLMeAD6d.js} (87%) rename server/resource/build/assets/{certificate-api-Dxdo9Mos.js => certificate-api-CCI2Z4Qf.js} (88%) rename server/resource/build/assets/{command-filter-api-DlKwuBlA.js => command-filter-api-BxXGNaHY.js} (85%) rename server/resource/build/assets/{credential-api-Byw61SQu.js => credential-api-DP_sN2cX.js} (88%) rename server/resource/build/assets/{database-asset-api-CCmdFIKr.js => database-asset-api-BQeUyDt2.js} (88%) rename server/resource/build/assets/{db-work-order-api-KPFccs1w.js => db-work-order-api-Bt-h8Gzk.js} (93%) rename server/resource/build/assets/{department-api-BBDEkNE1.js => department-api-fa0GHZbt.js} (89%) rename server/resource/build/assets/{gateway-group-api-Ckni5YAK.js => gateway-group-api-nxpckHkj.js} (51%) rename server/resource/build/assets/{index-BdfI9ZEv.js => index-DQXwuKC5.js} (99%) rename server/resource/build/assets/{login-policy-api-FsKg9lSA.js => login-policy-api-BlI40YsB.js} (92%) rename server/resource/build/assets/{network-B7NfTit9.js => network-Bw9HyUcr.js} (83%) rename server/resource/build/assets/{oidc-api-BsaBtN-M.js => oidc-api-DdlmoOii.js} (88%) rename server/resource/build/assets/{role-api-BtBYGwtw.js => role-api-RbYCFKw-.js} (81%) rename server/resource/build/assets/{server-BXUeOkFL.js => server-DnjIV_zW.js} (81%) rename server/resource/build/assets/{session-api-CdVNYxgO.js => session-api-mmDQqQeA.js} (90%) rename server/resource/build/assets/{ssh-gateway-api-CfWrAhC0.js => ssh-gateway-api-D4569Eil.js} (86%) rename server/resource/build/assets/{storage-api-BOyaRg9s.js => storage-api-CDrFMJhC.js} (82%) rename server/resource/build/assets/{strategy-api-D3jzAEr4.js => strategy-api-z9cMxeja.js} (50%) rename server/resource/build/assets/{sun-B74I0IGS.js => sun-7WZ3UW9g.js} (90%) rename server/resource/build/assets/{times-BW3mBaPj.js => times-CQ9ir0Jv.js} (87%) rename server/resource/build/assets/{upload-D2Oc5RCX.js => upload-D4kD-YfJ.js} (72%) rename server/resource/build/assets/{user-api-LAxz6xgj.js => user-api-BJxKseSg.js} (95%) rename server/resource/build/assets/{users-C-UbsH1o.js => users-Bfyvg_N3.js} (87%) rename server/resource/build/assets/{website-api-rU4LiJu6.js => website-api-CiGWjL7L.js} (92%) rename server/resource/build/assets/{wechat-work-api-D6pynTWy.js => wechat-work-api-DdwWCsjx.js} (87%) diff --git a/server/resource/build/assets/AccessLogPage-rqId-oaG.js b/server/resource/build/assets/AccessLogPage-BMkEOqMJ.js similarity index 96% rename from server/resource/build/assets/AccessLogPage-rqId-oaG.js rename to server/resource/build/assets/AccessLogPage-BMkEOqMJ.js index 7d99adf4c..37d1bec8b 100644 --- a/server/resource/build/assets/AccessLogPage-rqId-oaG.js +++ b/server/resource/build/assets/AccessLogPage-BMkEOqMJ.js @@ -1 +1 @@ -import{f,aI as y,S as s,bi as i,a$ as I,bz as S,av as T}from"./antd-Afm2kNt7.js";import{g as w}from"./sort-BOdE-yay.js";import{a as l}from"./access-log-api-lMBeavFW.js";import{u as L,h as j,w as P,y as A,Y as E}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const O=()=>{const{t}=L(),o=f.useRef(null);let{modal:u}=y.useApp(),h=j({mutationFn:l.clear,onSuccess:()=>{o.current?.reload()}}),{isMobile:c}=P();const m=e=>e>=200&&e<300?"green":e>=300&&e<400?"blue":e>=400&&e<500?"orange":e>=500?"red":"default",p=[{title:t("assets.domain"),key:"domain",dataIndex:"domain",width:150,ellipsis:!0,render:e=>s.jsx("code",{children:e}),fixed:c?void 0:"left"},{title:t("menus.identity.submenus.user"),key:"accountName",dataIndex:"accountName",hideInSearch:!0,width:120,ellipsis:!0,render:(e,n)=>{const r=n.accountId;if(!r)return s.jsx(i,{color:"gray",children:t("audit.accessLog.anonymous")});if(r==="anonymous")return s.jsx(i,{color:"blue",children:t("audit.accessLog.anonymous")});if(r.startsWith("whitelist-")){const a=r.replace("whitelist-","");return s.jsx(i,{color:"green",title:a,children:t("audit.accessLog.whitelist")})}if(r.startsWith("temp-pass-")){const a=r.replace("temp-pass-","");return s.jsx(i,{color:"orange",title:a,children:t("audit.accessLog.tempPass")})}return e?s.jsx(A,{to:`/user/${r}`,children:e}):s.jsx(i,{color:"red",title:r,children:t("audit.accessLog.deletedUser")})},fixed:c?void 0:"left"},{title:t("assets.website_response_modify.match_method"),key:"method",dataIndex:"method",valueType:"select",width:100,valueEnum:{GET:{text:"GET",status:"Success"},POST:{text:"POST",status:"Processing"},PUT:{text:"PUT",status:"Warning"},DELETE:{text:"DELETE",status:"Error"},PATCH:{text:"PATCH",status:"Default"},HEAD:{text:"HEAD",status:"Default"},OPTIONS:{text:"OPTIONS",status:"Default"}}},{title:t("audit.accessLog.uri"),key:"uri",dataIndex:"uri",hideInSearch:!0,ellipsis:!0,width:300,render:e=>s.jsx("code",{className:"text-xs",children:e})},{title:t("audit.accessLog.statusCode"),key:"statusCode",dataIndex:"statusCode",width:100,render:e=>s.jsx(i,{color:m(e),children:e})},{title:t("audit.accessLog.responseSize"),key:"responseSize",dataIndex:"responseSize",hideInSearch:!0,width:100,render:e=>E(e)},{title:t("audit.client_ip"),key:"clientIp",dataIndex:"clientIp",width:140,ellipsis:!0,render:(e,n)=>{let r=s.jsx("div",{children:e});const a=n.region;return s.jsxs("div",{className:"flex items-center gap-2",children:[r,s.jsx(I.Text,{type:"secondary",children:a})]})}},{title:t("audit.accessLog.responseTime"),key:"responseTime",dataIndex:"responseTime",hideInSearch:!0,width:100,render:e=>`${e}ms`},{title:t("audit.accessLog.userAgent"),key:"userAgent",dataIndex:"userAgent",hideInSearch:!0,ellipsis:!0,width:250,render:e=>s.jsx("span",{className:"text-xs",title:String(e||""),children:e})},{title:t("audit.accessLog.createdAt"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",width:191}];return s.jsx("div",{children:s.jsx(S,{defaultSize:"small",columns:p,actionRef:o,scroll:{x:"max-content"},request:async(e={},n,r)=>{let[a,g]=w(n),x={pageIndex:e.current,pageSize:e.pageSize,order:a,field:g,domain:e.domain,method:e.method,statusCode:e.statusCode,clientIp:e.clientIp,accountId:e.accountId},d=await l.getPaging(x);return{data:d.items,success:!0,total:d.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.log_audit.submenus.access_log"),toolBarRender:()=>[s.jsx(T,{type:"primary",danger:!0,onClick:()=>{u.confirm({title:t("audit.accessLog.clearConfirmTitle"),content:t("audit.accessLog.clearConfirmContent"),onOk:async()=>h.mutate()})},children:t("actions.clear")},"clear")]})})};export{O as default}; +import{f,aI as y,S as s,bi as i,a$ as I,bz as S,av as T}from"./antd-Afm2kNt7.js";import{g as w}from"./sort-BOdE-yay.js";import{a as l}from"./access-log-api-C2jjjGpZ.js";import{u as L,h as j,w as P,y as A,Y as E}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const O=()=>{const{t}=L(),o=f.useRef(null);let{modal:u}=y.useApp(),h=j({mutationFn:l.clear,onSuccess:()=>{o.current?.reload()}}),{isMobile:c}=P();const m=e=>e>=200&&e<300?"green":e>=300&&e<400?"blue":e>=400&&e<500?"orange":e>=500?"red":"default",p=[{title:t("assets.domain"),key:"domain",dataIndex:"domain",width:150,ellipsis:!0,render:e=>s.jsx("code",{children:e}),fixed:c?void 0:"left"},{title:t("menus.identity.submenus.user"),key:"accountName",dataIndex:"accountName",hideInSearch:!0,width:120,ellipsis:!0,render:(e,n)=>{const r=n.accountId;if(!r)return s.jsx(i,{color:"gray",children:t("audit.accessLog.anonymous")});if(r==="anonymous")return s.jsx(i,{color:"blue",children:t("audit.accessLog.anonymous")});if(r.startsWith("whitelist-")){const a=r.replace("whitelist-","");return s.jsx(i,{color:"green",title:a,children:t("audit.accessLog.whitelist")})}if(r.startsWith("temp-pass-")){const a=r.replace("temp-pass-","");return s.jsx(i,{color:"orange",title:a,children:t("audit.accessLog.tempPass")})}return e?s.jsx(A,{to:`/user/${r}`,children:e}):s.jsx(i,{color:"red",title:r,children:t("audit.accessLog.deletedUser")})},fixed:c?void 0:"left"},{title:t("assets.website_response_modify.match_method"),key:"method",dataIndex:"method",valueType:"select",width:100,valueEnum:{GET:{text:"GET",status:"Success"},POST:{text:"POST",status:"Processing"},PUT:{text:"PUT",status:"Warning"},DELETE:{text:"DELETE",status:"Error"},PATCH:{text:"PATCH",status:"Default"},HEAD:{text:"HEAD",status:"Default"},OPTIONS:{text:"OPTIONS",status:"Default"}}},{title:t("audit.accessLog.uri"),key:"uri",dataIndex:"uri",hideInSearch:!0,ellipsis:!0,width:300,render:e=>s.jsx("code",{className:"text-xs",children:e})},{title:t("audit.accessLog.statusCode"),key:"statusCode",dataIndex:"statusCode",width:100,render:e=>s.jsx(i,{color:m(e),children:e})},{title:t("audit.accessLog.responseSize"),key:"responseSize",dataIndex:"responseSize",hideInSearch:!0,width:100,render:e=>E(e)},{title:t("audit.client_ip"),key:"clientIp",dataIndex:"clientIp",width:140,ellipsis:!0,render:(e,n)=>{let r=s.jsx("div",{children:e});const a=n.region;return s.jsxs("div",{className:"flex items-center gap-2",children:[r,s.jsx(I.Text,{type:"secondary",children:a})]})}},{title:t("audit.accessLog.responseTime"),key:"responseTime",dataIndex:"responseTime",hideInSearch:!0,width:100,render:e=>`${e}ms`},{title:t("audit.accessLog.userAgent"),key:"userAgent",dataIndex:"userAgent",hideInSearch:!0,ellipsis:!0,width:250,render:e=>s.jsx("span",{className:"text-xs",title:String(e||""),children:e})},{title:t("audit.accessLog.createdAt"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",width:191}];return s.jsx("div",{children:s.jsx(S,{defaultSize:"small",columns:p,actionRef:o,scroll:{x:"max-content"},request:async(e={},n,r)=>{let[a,g]=w(n),x={pageIndex:e.current,pageSize:e.pageSize,order:a,field:g,domain:e.domain,method:e.method,statusCode:e.statusCode,clientIp:e.clientIp,accountId:e.accountId},d=await l.getPaging(x);return{data:d.items,success:!0,total:d.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.log_audit.submenus.access_log"),toolBarRender:()=>[s.jsx(T,{type:"primary",danger:!0,onClick:()=>{u.confirm({title:t("audit.accessLog.clearConfirmTitle"),content:t("audit.accessLog.clearConfirmContent"),onOk:async()=>h.mutate()})},children:t("actions.clear")},"clear")]})})};export{O as default}; diff --git a/server/resource/build/assets/AccessLogStatsPage-BdoEC7iY.js b/server/resource/build/assets/AccessLogStatsPage-CXrZAL2E.js similarity index 97% rename from server/resource/build/assets/AccessLogStatsPage-BdoEC7iY.js rename to server/resource/build/assets/AccessLogStatsPage-CXrZAL2E.js index 575baf7c1..acd566e66 100644 --- a/server/resource/build/assets/AccessLogStatsPage-BdoEC7iY.js +++ b/server/resource/build/assets/AccessLogStatsPage-CXrZAL2E.js @@ -1 +1 @@ -import{f as S,S as e,ay as v,aY as d,bh as q,bp as T}from"./antd-Afm2kNt7.js";import{v as y,u as se,e as l,Y as F,a5 as te,a6 as ae,a7 as f,a8 as g,a9 as h,aa as P,ab as re}from"./index-BdfI9ZEv.js";import{a as n}from"./access-log-api-lMBeavFW.js";import{w as oe}from"./website-api-rU4LiJu6.js";import{U as ie,G as le}from"./users-C-UbsH1o.js";import{N as ce}from"./network-B7NfTit9.js";import{A as de,C as K,X as R,Y as $,b as I,B as ne,d as ue,P as xe,a as me,e as fe}from"./charts-DWBuA5Za.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const ge=[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]],A=y("timer",ge);const he=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],M=y("trending-up",he);const pe=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],ve=y("zap",pe),{Option:p}=v,c=t=>t==null?"0":t.toLocaleString(),qe=()=>{const{t}=se(),D=[{value:"today",label:t("audit.accessLog.stats.periods.today")},{value:"yesterday",label:t("audit.accessLog.stats.periods.yesterday")},{value:"7days",label:t("audit.accessLog.stats.periods.7days")},{value:"30days",label:t("audit.accessLog.stats.periods.30days")}],[r,O]=S.useState(""),[o,Q]=S.useState("today"),j=l({queryKey:["websites"],queryFn:()=>oe.getAll()}),W=l({queryKey:["website-stats",r,o],queryFn:()=>n.getWebsiteStats(r,o)}),b=l({queryKey:["website-traffic-trend",r,o],queryFn:()=>n.getWebsiteTrafficTrend(r,o)}),L=l({queryKey:["website-hourly-stats",r,o],queryFn:()=>n.getWebsiteHourlyStats(r,o)}),C=l({queryKey:["website-status-code-stats",r,o],queryFn:()=>n.getWebsiteStatusCodeStats(r,o)}),w=l({queryKey:["top-pages",r,o],queryFn:()=>n.getTopPages(r,o,10)}),N=l({queryKey:["top-referers",r,o],queryFn:()=>n.getTopReferers(r,o,10)}),Y=l({queryKey:["realtime-metrics",r],queryFn:()=>n.getRealtimeMetrics(r),refetchInterval:3e4}),_=j.data||[],u=W.data||{},E=b.data||[],z=L.data||[],G=C.data||[],H=w.data||[],U=N.data||[],x=Y.data||{},B={pv:{label:t("audit.accessLog.stats.metrics.pv"),color:"var(--chart-1)"},uv:{label:t("audit.accessLog.stats.metrics.uv"),color:"var(--chart-2)"},traffic:{label:t("audit.accessLog.stats.metrics.traffic"),color:"var(--chart-3)"}},X={count:{label:t("audit.accessLog.stats.table.visitCount"),color:"var(--chart-1)"}},k={"2xx":{label:t("audit.accessLog.stats.statusCodes.success"),color:"hsl(217, 91%, 60%)"},"3xx":{label:t("audit.accessLog.stats.statusCodes.redirect"),color:"hsl(262, 83%, 58%)"},"4xx":{label:t("audit.accessLog.stats.statusCodes.clientError"),color:"hsl(32, 95%, 44%)"},"5xx":{label:t("audit.accessLog.stats.statusCodes.serverError"),color:"hsl(0, 84%, 60%)"},other:{label:t("audit.accessLog.stats.statusCodes.other")||"Other",color:"hsl(215, 16%, 47%)"}},m=G.map(s=>{let a="other";const i=s.statusCode;return i>=200&&i<300?a="2xx":i>=300&&i<400?a="3xx":i>=400&&i<500?a="4xx":i>=500&&(a="5xx"),{category:a,name:`${i}`,label:`${i}`,value:s.count,fill:k[a].color}});console.log("statusCodeChartData",m);const Z=[{title:t("audit.accessLog.stats.metrics.pv"),value:u.pv,icon:e.jsx(te,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.metrics.uv"),value:u.uv,icon:e.jsx(ie,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.metrics.ip"),value:u.ip,icon:e.jsx(ce,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.metrics.traffic"),value:u.traffic,icon:e.jsx(M,{className:"h-4 w-4"}),formatter:F},{title:t("audit.accessLog.stats.metrics.requests"),value:u.requests,icon:e.jsx(le,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.table.avgResponseTime"),value:u.avgResponseTime,icon:e.jsx(A,{className:"h-4 w-4"}),formatter:s=>`${s?.toFixed(2)||0}ms`}],J=[{title:t("audit.accessLog.stats.realtime.currentOnline"),value:x.currentOnline,icon:e.jsx(ae,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.realtime.requestsPerSecond"),value:x.requestsPerSecond,icon:e.jsx(ve,{className:"h-4 w-4"}),formatter:s=>`${s?.toFixed(1)||0}/s`},{title:t("audit.accessLog.stats.realtime.realtimeTraffic"),value:x.trafficPerSecond,icon:e.jsx(M,{className:"h-4 w-4"}),formatter:s=>`${F(s||0)}/s`},{title:t("audit.accessLog.stats.realtime.errorRate"),value:x.errorRate,icon:e.jsx(A,{className:"h-4 w-4"}),formatter:s=>`${(s*100).toFixed(2)||0}%`}],V=[{title:t("audit.accessLog.stats.table.pagePath"),dataIndex:"uri",key:"uri",render:s=>e.jsx("code",{className:"text-sm",children:s})},{title:t("audit.accessLog.stats.table.pv"),dataIndex:"pv",key:"pv",sorter:(s,a)=>s.pv-a.pv,render:s=>c(s)},{title:t("audit.accessLog.stats.table.uv"),dataIndex:"uv",key:"uv",sorter:(s,a)=>s.uv-a.uv,render:s=>c(s)},{title:t("audit.accessLog.stats.table.avgResponseTime"),dataIndex:"avgResponseTime",key:"avgResponseTime",render:s=>`${s?.toFixed(2)||0}ms`}],ee=[{title:t("audit.accessLog.stats.table.referer"),dataIndex:"referer",key:"referer",render:s=>!s||s==="-"?t("audit.accessLog.stats.table.directAccess"):e.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline",children:s})},{title:t("audit.accessLog.stats.table.visitCount"),dataIndex:"count",key:"count",sorter:(s,a)=>s.count-a.count,render:s=>c(s)}];return e.jsxs("div",{className:"p-4 space-y-4 max-w-full overflow-hidden",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4",children:[e.jsx("h1",{className:"text-xl font-bold",children:t("audit.accessLog.stats.title")}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[e.jsxs(v,{placeholder:t("audit.accessLog.stats.selectWebsite"),value:r,onChange:O,style:{width:200},loading:j.isLoading,children:[e.jsx(p,{value:"",children:t("audit.accessLog.stats.allWebsites")},"all"),_.map(s=>e.jsxs(p,{value:s.id,children:[s.name," (",s.domain,")"]},s.id))]}),e.jsx(v,{value:o,onChange:Q,style:{width:120},children:D.map(s=>e.jsx(p,{value:s.value,children:s.label},s.value))})]})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Z.map((s,a)=>e.jsxs(d,{className:"p-4 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"font-medium text-sm truncate pr-2",children:s.title}),s.icon]}),e.jsx("div",{className:"mt-2 text-lg font-bold truncate",children:s.formatter(s.value||0)})]},a))}),e.jsxs(d,{children:[e.jsx("div",{className:"font-medium mb-4",children:t("audit.accessLog.stats.realtime.title")}),e.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:J.map((s,a)=>e.jsxs("div",{className:"text-center min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-gray-600 mb-1",children:[s.icon,e.jsx("span",{className:"truncate",children:s.title})]}),e.jsx("div",{className:"text-lg font-bold truncate",children:s.formatter(s.value||0)})]},a))})]}),e.jsx(d,{title:t("audit.accessLog.stats.charts.trafficTrend"),loading:b.isLoading,children:e.jsx("div",{className:"rounded-xl p-4 border-0 w-full overflow-hidden",children:e.jsx(f,{config:B,className:"aspect-auto h-[300px] w-full min-w-0",children:e.jsxs(de,{data:E,children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"fillPv",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"var(--color-pv)",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"var(--color-pv)",stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"fillUv",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"var(--color-uv)",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"var(--color-uv)",stopOpacity:.1})]})]}),e.jsx(K,{strokeDasharray:"3 3",vertical:!1}),e.jsx(R,{dataKey:"time",tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:s=>q(s).format("MM-DD HH:mm")}),e.jsx($,{tickLine:!1,axisLine:!1}),e.jsx(g,{cursor:!1,content:e.jsx(h,{labelFormatter:s=>q(s).format("YYYY-MM-DD HH:mm"),indicator:"dot"})}),e.jsx(I,{dataKey:"pv",type:"natural",fill:"url(#fillPv)",stroke:"var(--color-pv)",stackId:"a"}),e.jsx(I,{dataKey:"uv",type:"natural",fill:"url(#fillUv)",stroke:"var(--color-uv)",stackId:"b"}),e.jsx(P,{content:e.jsx(re,{})})]})})})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(d,{title:t("audit.accessLog.stats.charts.hourlyDistribution"),loading:L.isLoading,children:e.jsx("div",{className:"rounded-xl p-4 border-0 w-full overflow-hidden",children:e.jsx(f,{config:X,className:"aspect-auto h-[300px] w-full min-w-0",children:e.jsxs(ne,{data:z,children:[e.jsx(K,{strokeDasharray:"3 3",vertical:!1}),e.jsx(R,{dataKey:"hour",tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:s=>`${s}:00`}),e.jsx($,{tickLine:!1,axisLine:!1}),e.jsx(g,{cursor:!1,content:e.jsx(h,{labelFormatter:s=>`${t("audit.accessLog.stats.tooltip.time")}: ${s}:00`,formatter:s=>[s,t("audit.accessLog.stats.table.visitCount")],indicator:"dot"})}),e.jsx(ue,{dataKey:"count",fill:"var(--color-count)",radius:[4,4,0,0]})]})})})}),e.jsx(d,{title:t("audit.accessLog.stats.charts.statusCodeDistribution"),loading:C.isLoading,children:e.jsx("div",{className:"rounded-xl p-4 border-0 w-full overflow-hidden",children:e.jsx(f,{config:k,className:"mx-auto aspect-square max-h-[300px] min-w-0",children:e.jsxs(xe,{children:[e.jsx(g,{cursor:!1,content:e.jsx(h,{labelFormatter:(s,a)=>`${t("audit.accessLog.statusCode")} ${a[0]?.name}`,formatter:(s,a)=>[s]})}),e.jsx(me,{data:m,dataKey:"value",nameKey:"name",innerRadius:60,outerRadius:100,children:m.map((s,a)=>e.jsx(fe,{fill:s.fill},`cell-${a}`))}),e.jsx(P,{})]})})})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(d,{title:t("audit.accessLog.stats.charts.topPages"),loading:w.isLoading,children:e.jsx("div",{className:"overflow-x-auto",children:e.jsx(T,{dataSource:H,columns:V,pagination:!1,size:"small",rowKey:"uri",scroll:{x:"max-content"}})})}),e.jsx(d,{title:t("audit.accessLog.stats.charts.topReferers"),loading:N.isLoading,children:e.jsx("div",{className:"overflow-x-auto",children:e.jsx(T,{dataSource:U,columns:ee,pagination:!1,size:"small",rowKey:"referer",scroll:{x:"max-content"}})})})]})]})};export{qe as default}; +import{f as S,S as e,ay as v,aY as d,bh as q,bp as T}from"./antd-Afm2kNt7.js";import{v as y,u as se,e as l,Y as F,a5 as te,a6 as ae,a7 as f,a8 as g,a9 as h,aa as P,ab as re}from"./index-DQXwuKC5.js";import{a as n}from"./access-log-api-C2jjjGpZ.js";import{w as oe}from"./website-api-CiGWjL7L.js";import{U as ie,G as le}from"./users-Bfyvg_N3.js";import{N as ce}from"./network-Bw9HyUcr.js";import{A as de,C as K,X as R,Y as $,b as I,B as ne,d as ue,P as xe,a as me,e as fe}from"./charts-DWBuA5Za.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const ge=[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]],A=y("timer",ge);const he=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],M=y("trending-up",he);const pe=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],ve=y("zap",pe),{Option:p}=v,c=t=>t==null?"0":t.toLocaleString(),qe=()=>{const{t}=se(),D=[{value:"today",label:t("audit.accessLog.stats.periods.today")},{value:"yesterday",label:t("audit.accessLog.stats.periods.yesterday")},{value:"7days",label:t("audit.accessLog.stats.periods.7days")},{value:"30days",label:t("audit.accessLog.stats.periods.30days")}],[r,O]=S.useState(""),[o,Q]=S.useState("today"),j=l({queryKey:["websites"],queryFn:()=>oe.getAll()}),W=l({queryKey:["website-stats",r,o],queryFn:()=>n.getWebsiteStats(r,o)}),b=l({queryKey:["website-traffic-trend",r,o],queryFn:()=>n.getWebsiteTrafficTrend(r,o)}),L=l({queryKey:["website-hourly-stats",r,o],queryFn:()=>n.getWebsiteHourlyStats(r,o)}),C=l({queryKey:["website-status-code-stats",r,o],queryFn:()=>n.getWebsiteStatusCodeStats(r,o)}),w=l({queryKey:["top-pages",r,o],queryFn:()=>n.getTopPages(r,o,10)}),N=l({queryKey:["top-referers",r,o],queryFn:()=>n.getTopReferers(r,o,10)}),Y=l({queryKey:["realtime-metrics",r],queryFn:()=>n.getRealtimeMetrics(r),refetchInterval:3e4}),_=j.data||[],u=W.data||{},E=b.data||[],z=L.data||[],G=C.data||[],H=w.data||[],U=N.data||[],x=Y.data||{},B={pv:{label:t("audit.accessLog.stats.metrics.pv"),color:"var(--chart-1)"},uv:{label:t("audit.accessLog.stats.metrics.uv"),color:"var(--chart-2)"},traffic:{label:t("audit.accessLog.stats.metrics.traffic"),color:"var(--chart-3)"}},X={count:{label:t("audit.accessLog.stats.table.visitCount"),color:"var(--chart-1)"}},k={"2xx":{label:t("audit.accessLog.stats.statusCodes.success"),color:"hsl(217, 91%, 60%)"},"3xx":{label:t("audit.accessLog.stats.statusCodes.redirect"),color:"hsl(262, 83%, 58%)"},"4xx":{label:t("audit.accessLog.stats.statusCodes.clientError"),color:"hsl(32, 95%, 44%)"},"5xx":{label:t("audit.accessLog.stats.statusCodes.serverError"),color:"hsl(0, 84%, 60%)"},other:{label:t("audit.accessLog.stats.statusCodes.other")||"Other",color:"hsl(215, 16%, 47%)"}},m=G.map(s=>{let a="other";const i=s.statusCode;return i>=200&&i<300?a="2xx":i>=300&&i<400?a="3xx":i>=400&&i<500?a="4xx":i>=500&&(a="5xx"),{category:a,name:`${i}`,label:`${i}`,value:s.count,fill:k[a].color}});console.log("statusCodeChartData",m);const Z=[{title:t("audit.accessLog.stats.metrics.pv"),value:u.pv,icon:e.jsx(te,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.metrics.uv"),value:u.uv,icon:e.jsx(ie,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.metrics.ip"),value:u.ip,icon:e.jsx(ce,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.metrics.traffic"),value:u.traffic,icon:e.jsx(M,{className:"h-4 w-4"}),formatter:F},{title:t("audit.accessLog.stats.metrics.requests"),value:u.requests,icon:e.jsx(le,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.table.avgResponseTime"),value:u.avgResponseTime,icon:e.jsx(A,{className:"h-4 w-4"}),formatter:s=>`${s?.toFixed(2)||0}ms`}],J=[{title:t("audit.accessLog.stats.realtime.currentOnline"),value:x.currentOnline,icon:e.jsx(ae,{className:"h-4 w-4"}),formatter:c},{title:t("audit.accessLog.stats.realtime.requestsPerSecond"),value:x.requestsPerSecond,icon:e.jsx(ve,{className:"h-4 w-4"}),formatter:s=>`${s?.toFixed(1)||0}/s`},{title:t("audit.accessLog.stats.realtime.realtimeTraffic"),value:x.trafficPerSecond,icon:e.jsx(M,{className:"h-4 w-4"}),formatter:s=>`${F(s||0)}/s`},{title:t("audit.accessLog.stats.realtime.errorRate"),value:x.errorRate,icon:e.jsx(A,{className:"h-4 w-4"}),formatter:s=>`${(s*100).toFixed(2)||0}%`}],V=[{title:t("audit.accessLog.stats.table.pagePath"),dataIndex:"uri",key:"uri",render:s=>e.jsx("code",{className:"text-sm",children:s})},{title:t("audit.accessLog.stats.table.pv"),dataIndex:"pv",key:"pv",sorter:(s,a)=>s.pv-a.pv,render:s=>c(s)},{title:t("audit.accessLog.stats.table.uv"),dataIndex:"uv",key:"uv",sorter:(s,a)=>s.uv-a.uv,render:s=>c(s)},{title:t("audit.accessLog.stats.table.avgResponseTime"),dataIndex:"avgResponseTime",key:"avgResponseTime",render:s=>`${s?.toFixed(2)||0}ms`}],ee=[{title:t("audit.accessLog.stats.table.referer"),dataIndex:"referer",key:"referer",render:s=>!s||s==="-"?t("audit.accessLog.stats.table.directAccess"):e.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline",children:s})},{title:t("audit.accessLog.stats.table.visitCount"),dataIndex:"count",key:"count",sorter:(s,a)=>s.count-a.count,render:s=>c(s)}];return e.jsxs("div",{className:"p-4 space-y-4 max-w-full overflow-hidden",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4",children:[e.jsx("h1",{className:"text-xl font-bold",children:t("audit.accessLog.stats.title")}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[e.jsxs(v,{placeholder:t("audit.accessLog.stats.selectWebsite"),value:r,onChange:O,style:{width:200},loading:j.isLoading,children:[e.jsx(p,{value:"",children:t("audit.accessLog.stats.allWebsites")},"all"),_.map(s=>e.jsxs(p,{value:s.id,children:[s.name," (",s.domain,")"]},s.id))]}),e.jsx(v,{value:o,onChange:Q,style:{width:120},children:D.map(s=>e.jsx(p,{value:s.value,children:s.label},s.value))})]})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:Z.map((s,a)=>e.jsxs(d,{className:"p-4 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"font-medium text-sm truncate pr-2",children:s.title}),s.icon]}),e.jsx("div",{className:"mt-2 text-lg font-bold truncate",children:s.formatter(s.value||0)})]},a))}),e.jsxs(d,{children:[e.jsx("div",{className:"font-medium mb-4",children:t("audit.accessLog.stats.realtime.title")}),e.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:J.map((s,a)=>e.jsxs("div",{className:"text-center min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-gray-600 mb-1",children:[s.icon,e.jsx("span",{className:"truncate",children:s.title})]}),e.jsx("div",{className:"text-lg font-bold truncate",children:s.formatter(s.value||0)})]},a))})]}),e.jsx(d,{title:t("audit.accessLog.stats.charts.trafficTrend"),loading:b.isLoading,children:e.jsx("div",{className:"rounded-xl p-4 border-0 w-full overflow-hidden",children:e.jsx(f,{config:B,className:"aspect-auto h-[300px] w-full min-w-0",children:e.jsxs(de,{data:E,children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"fillPv",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"var(--color-pv)",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"var(--color-pv)",stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"fillUv",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:"var(--color-uv)",stopOpacity:.8}),e.jsx("stop",{offset:"95%",stopColor:"var(--color-uv)",stopOpacity:.1})]})]}),e.jsx(K,{strokeDasharray:"3 3",vertical:!1}),e.jsx(R,{dataKey:"time",tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:s=>q(s).format("MM-DD HH:mm")}),e.jsx($,{tickLine:!1,axisLine:!1}),e.jsx(g,{cursor:!1,content:e.jsx(h,{labelFormatter:s=>q(s).format("YYYY-MM-DD HH:mm"),indicator:"dot"})}),e.jsx(I,{dataKey:"pv",type:"natural",fill:"url(#fillPv)",stroke:"var(--color-pv)",stackId:"a"}),e.jsx(I,{dataKey:"uv",type:"natural",fill:"url(#fillUv)",stroke:"var(--color-uv)",stackId:"b"}),e.jsx(P,{content:e.jsx(re,{})})]})})})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(d,{title:t("audit.accessLog.stats.charts.hourlyDistribution"),loading:L.isLoading,children:e.jsx("div",{className:"rounded-xl p-4 border-0 w-full overflow-hidden",children:e.jsx(f,{config:X,className:"aspect-auto h-[300px] w-full min-w-0",children:e.jsxs(ne,{data:z,children:[e.jsx(K,{strokeDasharray:"3 3",vertical:!1}),e.jsx(R,{dataKey:"hour",tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:s=>`${s}:00`}),e.jsx($,{tickLine:!1,axisLine:!1}),e.jsx(g,{cursor:!1,content:e.jsx(h,{labelFormatter:s=>`${t("audit.accessLog.stats.tooltip.time")}: ${s}:00`,formatter:s=>[s,t("audit.accessLog.stats.table.visitCount")],indicator:"dot"})}),e.jsx(ue,{dataKey:"count",fill:"var(--color-count)",radius:[4,4,0,0]})]})})})}),e.jsx(d,{title:t("audit.accessLog.stats.charts.statusCodeDistribution"),loading:C.isLoading,children:e.jsx("div",{className:"rounded-xl p-4 border-0 w-full overflow-hidden",children:e.jsx(f,{config:k,className:"mx-auto aspect-square max-h-[300px] min-w-0",children:e.jsxs(xe,{children:[e.jsx(g,{cursor:!1,content:e.jsx(h,{labelFormatter:(s,a)=>`${t("audit.accessLog.statusCode")} ${a[0]?.name}`,formatter:(s,a)=>[s]})}),e.jsx(me,{data:m,dataKey:"value",nameKey:"name",innerRadius:60,outerRadius:100,children:m.map((s,a)=>e.jsx(fe,{fill:s.fill},`cell-${a}`))}),e.jsx(P,{})]})})})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(d,{title:t("audit.accessLog.stats.charts.topPages"),loading:w.isLoading,children:e.jsx("div",{className:"overflow-x-auto",children:e.jsx(T,{dataSource:H,columns:V,pagination:!1,size:"small",rowKey:"uri",scroll:{x:"max-content"}})})}),e.jsx(d,{title:t("audit.accessLog.stats.charts.topReferers"),loading:N.isLoading,children:e.jsx("div",{className:"overflow-x-auto",children:e.jsx(T,{dataSource:U,columns:ee,pagination:!1,size:"small",rowKey:"referer",scroll:{x:"max-content"}})})})]})]})};export{qe as default}; diff --git a/server/resource/build/assets/AgentGatewayPage-CkGwNps2.js b/server/resource/build/assets/AgentGatewayPage-DEPMQmCG.js similarity index 99% rename from server/resource/build/assets/AgentGatewayPage-CkGwNps2.js rename to server/resource/build/assets/AgentGatewayPage-DEPMQmCG.js index b5055c663..209bd9918 100644 --- a/server/resource/build/assets/AgentGatewayPage-CkGwNps2.js +++ b/server/resource/build/assets/AgentGatewayPage-DEPMQmCG.js @@ -1 +1 @@ -import{f as o,S as e,U as E,aK as oe,aT as J,aO as H,ay as ce,a$ as Z,bs as C,bh as me,av as K,aS as ee,au as se,bp as xe,bg as L,aY as z,bD as ge,bf as B,bi as w,aI as he,ch as ue,b2 as pe,R as ye}from"./antd-Afm2kNt7.js";import{v as Y,u as M,A as je,e as R,m as we,H as T,ac as fe,Y as g,ad as ke,a6 as ve,z as Ne,h as X,ae as D}from"./index-BdfI9ZEv.js";import{a as A}from"./agent-gateway-api-C1FfOeZ1.js";import{c as j}from"./charts-DWBuA5Za.js";import{N as U}from"./NButton-DoPcvKBF.js";import{S as be}from"./server-BXUeOkFL.js";import{N as _e}from"./network-B7NfTit9.js";import{g as Se}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const Ie=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],G=Y("arrow-down",Ie);const Ce=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],W=Y("arrow-up",Ce);const Fe=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ae=Y("clock",Fe),$e=A,qe=({open:n,handleOk:p,handleCancel:r,confirmLoading:s,id:c})=>{const t=o.useRef(null);let{t:x}=M();const h=async()=>c?await $e.getById(c):{};return e.jsx(E,{title:x("actions.edit"),open:n,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{t.current?.validateFields().then(async f=>{p(f)})},onCancel:()=>{r()},confirmLoading:s,children:e.jsxs(oe,{formRef:t,request:h,submitter:!1,children:[e.jsx(J,{hidden:!0,name:"id"}),e.jsx(J,{name:"name",label:x("general.name"),rules:[{required:!0}]})]})})};class Te extends je{constructor(){super("admin/agent-gateway-tokens")}}let O=new Te;const{Paragraph:S}=Z,Oe=new URL("/assets/linux-CC_5NTIW.png",import.meta.url).href,Re=new URL("/assets/windows-BIA7AHJd.png",import.meta.url).href,Me=new URL("/assets/macos-CpA6aHqw.png",import.meta.url).href,Pe=({open:n,handleCancel:p})=>{const{t:r}=M();let[s,c]=o.useState({endpoint:"",token:""}),[t,x]=o.useState("linux"),[h,f]=o.useState(""),k=R({queryKey:["agent-gateway-tokens"],queryFn:O.getAll}),v=R({queryKey:["agent-gateway-register-param"],queryFn:A.getRegisterParam,enabled:n});o.useEffect(()=>{if(v.data){let l=v.data;l.endpoint===""?(l.endpoint=window.location.origin,A.setRegisterAddr(l.endpoint).then(y=>{c(l)})):c(l)}},[v.data]),o.useEffect(()=>{n&&k.refetch()},[n]),o.useEffect(()=>{f(`curl -k ${s.endpoint}/api/agent/install.sh | bash -s ${s.token}`)},[s]);const N=[{key:"linux",label:"Linux",img:Oe},{key:"windows",label:"Windows",img:Re},{key:"macos",label:"macOS",img:Me}],I=l=>{switch(l){case"linux":return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"font-medium",children:r("gateways.install_auto")}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:h})}),e.jsx("div",{className:"font-medium mt-4",children:r("gateways.install_manual")}),e.jsxs("div",{children:["1. ",r("gateways.download_binary")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-linux-amd64`,children:"amd64"}),e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-linux-arm64`,children:"arm64"})]}),e.jsxs("div",{children:["2. ",r("gateways.install_step_rename")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:"mv nt-tunnel-linux-amd64 nt-tunnel && chmod +x nt-tunnel"})}),e.jsxs("div",{children:["3. ",r("gateways.install_step_register")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:`sudo ./nt-tunnel register --endpoint ${s.endpoint} --token ${s.token} --yes`})})]});case"windows":return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{children:["1. ",r("gateways.download_binary")]}),e.jsx("div",{children:e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-windows-amd64.exe`,children:"amd64"})}),e.jsxs("div",{children:["2. ",r("gateways.install_step_rename_windows")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:"ren nt-tunnel-windows-amd64.exe nt-tunnel.exe"})}),e.jsxs("div",{children:["3. ",r("gateways.install_step_register_admin")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:`nt-tunnel.exe register --endpoint ${s.endpoint} --token ${s.token} --yes`})}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:r("gateways.install_windows_service_tip")})]});case"macos":return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{children:["1. ",r("gateways.download_binary")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-darwin-arm64`,children:"arm64"}),e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-darwin-amd64`,children:"amd64"})]}),e.jsxs("div",{children:["2. ",r("gateways.install_step_rename")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:"mv nt-tunnel-darwin-arm64 nt-tunnel && chmod +x nt-tunnel"})}),e.jsxs("div",{children:["3. ",r("gateways.install_step_register")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:`sudo ./nt-tunnel register --endpoint ${s.endpoint} --token ${s.token} --yes`})}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:r("gateways.install_system_service_tip")})]})}};function $(l){try{const y=new URL(l);return`${y.protocol}//${y.host}`}catch{return""}}return e.jsxs(E,{title:r("gateways.register_title"),open:n,maskClosable:!1,destroyOnHidden:!0,footer:!1,onCancel:()=>{p()},children:[e.jsxs("div",{className:"mb-2 flex flex-col gap-2",children:[e.jsx("div",{children:r("gateways.server_address")}),e.jsx(H,{value:s.endpoint,onChange:l=>{c({...s,endpoint:l.target.value})},onBlur:async()=>{let l=$(s.endpoint);we.hasText(l)||(l=window.location.origin),c({...s,endpoint:l}),await A.setRegisterAddr(l)}}),e.jsx("div",{children:r("gateways.register_token")}),e.jsx(ce,{showSearch:!0,placeholder:r("gateways.register_token_placeholder"),filterOption:(l,y)=>{const m=l.toLowerCase(),u=y?.label?.toLowerCase()||"",P=y?.value?.toLowerCase()||"";return u.includes(m)||P.includes(m)},options:Array.isArray(k.data)?k.data.map(l=>({label:l.id,value:l.id,remark:l.remark})):[],optionRender:l=>e.jsxs("div",{className:"flex flex-col py-1",children:[e.jsx("div",{className:"font-mono text-sm text-gray-800 dark:text-gray-200",children:l.data.value}),l.data.remark&&e.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:l.data.remark})]}),value:s.token,onChange:l=>{c({...s,token:l})}})]}),e.jsx("div",{className:"grid grid-cols-3 p-4",children:N.map(l=>e.jsx("div",{className:"flex items-center justify-center cursor-pointer",onClick:()=>{x(l.key)},children:e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("img",{src:l.img,alt:"linux",className:"w-16 h-16"}),e.jsx("div",{className:"font-medium",children:l.label}),e.jsx("div",{className:j("h-1 w-full",t===l.key&&"bg-blue-500")})]})},l.key))}),e.jsxs("div",{className:"mt-4 space-y-2",children:[e.jsx("div",{children:r("gateways.install_shell")}),I(t)]})]})},{Paragraph:Le}=Z,ze=({open:n,onClose:p})=>{let{t:r}=M();const[s]=C.useForm(),[c]=C.useForm(),[t,x]=o.useState(!1),[h,f]=o.useState(!1),[k,v]=o.useState(null);let N=R({queryKey:["agent-gateway-tokens"],queryFn:O.getAll});o.useEffect(()=>{n&&N.refetch()},[n]);const I=async m=>{try{const u={remark:m.remark};await O.create(u),L.success(r("general.success")),x(!1),s.resetFields(),N.refetch()}catch{L.error(r("general.error"))}},$=async m=>{if(k)try{const u={...k,remark:m.remark};await O.updateById(k.id,u),L.success(r("general.success")),f(!1),v(null),c.resetFields(),N.refetch()}catch{L.error(r("general.error"))}},l=m=>{v(m),c.setFieldsValue({remark:m.remark}),f(!0)},y=[{title:"Token",dataIndex:"id",key:"id",render:(m,u)=>e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Le,{copyable:!0,style:{marginBottom:0},className:"font-mono text-sm",children:m}),u.remark&&e.jsxs("div",{className:"px-2 py-1 bg-gray-50 dark:bg-gray-800 rounded text-xs text-gray-600 dark:text-gray-400 border-l-2 border-blue-200 dark:border-blue-700",children:[e.jsx("span",{className:"font-medium text-gray-700 dark:text-gray-300",children:r("general.remark_label")}),u.remark]})]})},{title:r("general.updated_at"),dataIndex:"updatedAt",key:"updatedAt",width:191,render:m=>me(m).format("YYYY-MM-DD HH:mm:ss")},{title:r("actions.label"),key:"action",width:150,render:(m,u)=>e.jsxs("div",{style:{display:"flex",gap:"8px"},children:[e.jsx(K,{type:"link",size:"small",onClick:()=>l(u),children:r("actions.edit")}),e.jsx(ee,{title:r("general.confirm_delete"),onConfirm:async()=>{await O.deleteById(u.id),N.refetch()},children:e.jsx(U,{danger:!0,children:r("actions.delete")},"delete")},"delete-confirm")]})}];return e.jsxs(e.Fragment,{children:[e.jsx(se,{title:r("gateways.token_manage"),onClose:p,open:n,width:window.innerWidth*.6,extra:e.jsx(K,{type:"primary",onClick:()=>x(!0),children:r("actions.new")}),children:e.jsx(xe,{columns:y,dataSource:N.data,pagination:!1,rowKey:"id"})}),e.jsx(E,{title:r("gateways.add_token"),open:t,onOk:()=>s.submit(),onCancel:()=>{x(!1),s.resetFields()},children:e.jsx(C,{form:s,layout:"vertical",onFinish:I,children:e.jsx(C.Item,{label:r("general.remark"),name:"remark",rules:[{required:!0,message:r("general.required")}],children:e.jsx(H,{placeholder:r("general.enter_remark")})})})}),e.jsx(E,{title:r("gateways.edit_token_remark"),open:h,onOk:()=>c.submit(),onCancel:()=>{f(!1),v(null),c.resetFields()},children:e.jsx(C,{form:c,layout:"vertical",onFinish:$,children:e.jsx(C.Item,{label:r("general.remark"),name:"remark",rules:[{required:!0,message:r("general.required")}],children:e.jsx(H,{placeholder:r("general.enter_remark")})})})})]})},Be=({open:n,id:p,onClose:r})=>{const{t:s}=M(),t=R({queryKey:["agent-gateway",p,"stat"],queryFn:async()=>await A.getStat(p),enabled:n,refetchInterval:3e3}).data;return e.jsx(se,{title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ve,{className:"h-5 w-5"}),e.jsx("span",{children:s("gateways.monitor.title")}),t?.host?.hostname&&e.jsx("span",{className:"text-sm text-gray-500",children:t.host.hostname}),t?.ping!==void 0&&e.jsxs(w,{color:"green",children:[s("gateways.stat.ping"),": ",t.ping,"ms"]})]}),onClose:r,open:n,width:Math.min(1200,window.innerWidth-100),children:e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs(z,{size:"small",title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(be,{className:"h-4 w-4"}),e.jsx("span",{children:s("gateways.monitor.system_info")})]}),children:[e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("stat.info.hostname")}),e.jsx("div",{className:"font-medium",children:t?.host.hostname||"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("stat.info.os")}),e.jsxs("div",{className:"font-medium",children:[t?.host.os||"-"," / ",t?.host.arch||"-"]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.stat.system_version")}),e.jsx("div",{className:"font-medium",children:t?.host.version||"-"})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-gray-500 text-sm flex items-center gap-1",children:[e.jsx(Ae,{className:"h-3 w-3"}),s("gateways.stat.uptime")]}),e.jsx("div",{className:"font-medium",children:fe(t?.host.uptime)})]})]}),t?.load&&e.jsxs(e.Fragment,{children:[e.jsx(ge,{className:"my-3"}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.stat.ping")}),e.jsx("div",{className:"font-medium",children:t.ping!==void 0?`${t.ping} ms`:"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.load_1m")}),e.jsx("div",{className:"font-medium",children:t.load.load_1?.toFixed(2)||"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.load_5m")}),e.jsx("div",{className:"font-medium",children:t.load.load_5?.toFixed(2)||"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.load_15m")}),e.jsx("div",{className:"font-medium",children:t.load.load_15?.toFixed(2)||"-"})]})]})]})]}),e.jsx(z,{size:"small",title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ke,{className:"h-4 w-4"}),e.jsxs("span",{children:[s("gateways.stat.cpu")," / ",s("gateways.stat.memory")," / ",s("gateways.stat.disk")]})]}),children:e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"rounded-md border border-slate-200/70 dark:border-slate-700 px-3 py-2",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:s("gateways.stat.cpu")}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-lg font-semibold",children:[t?.cpu.percent?.toFixed(1)||0,"%"]}),e.jsxs("span",{className:"text-xs text-gray-400",children:[s("gateways.stat.logical_cores"),": ",t?.cpu.logical_cores||0]})]}),e.jsx(B,{percent:t?.cpu.percent||0,showInfo:!1,strokeColor:(t?.cpu.percent||0)>80?"#f5222d":(t?.cpu.percent||0)>60?"#faad14":"#52c41a"}),e.jsx("div",{className:"text-xs text-gray-500 mt-1",children:t?.cpu.model||"-"})]}),e.jsxs("div",{className:"rounded-md border border-slate-200/70 dark:border-slate-700 px-3 py-2",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:s("gateways.stat.memory")}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-lg font-semibold",children:[t?.memory.percent?.toFixed(1)||0,"%"]}),e.jsxs(w,{color:"blue",bordered:!1,className:"!m-0",children:[g(t?.memory.used)," / ",g(t?.memory.total)]})]}),e.jsxs("div",{className:"text-xs text-gray-500 mt-2",children:[s("gateways.stat.available"),": ",g(t?.memory.available)," · ",s("gateways.stat.free"),": ",g(t?.memory.free)]}),t?.memory.swap_total>0&&e.jsxs("div",{className:"text-xs text-gray-500 mt-1",children:[s("gateways.stat.swap"),": ",g(t.memory.swap_total)," / ",g(t.memory.swap_free)]})]}),e.jsxs("div",{className:"rounded-md border border-slate-200/70 dark:border-slate-700 px-3 py-2",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:s("gateways.stat.disk")}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-lg font-semibold",children:[t?.disk.percent?.toFixed(1)||0,"%"]}),e.jsxs(w,{color:"gold",bordered:!1,className:"!m-0",children:[g(t?.disk.used)," / ",g(t?.disk.total)]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-2 text-xs",children:[e.jsxs("div",{className:j("flex items-center gap-2 px-2 py-1 rounded","bg-green-50 dark:bg-green-900/20"),children:[e.jsx(W,{className:"h-3 w-3 text-green-600 dark:text-green-400"}),e.jsxs("span",{className:"text-green-600 dark:text-green-400",children:[g(t?.disk_io.read_bytes),"/s"]})]}),e.jsxs("div",{className:j("flex items-center gap-2 px-2 py-1 rounded","bg-red-50 dark:bg-red-900/20"),children:[e.jsx(G,{className:"h-3 w-3 text-red-600 dark:text-red-400"}),e.jsxs("span",{className:"text-red-600 dark:text-red-400",children:[g(t?.disk_io.write_bytes),"/s"]})]})]})]})]})})}),e.jsx(z,{size:"small",title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),e.jsx("span",{children:s("assets.network")})]}),children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.network_io_rate")}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:j("flex items-center gap-2 px-3 py-2 rounded","bg-green-50 dark:bg-green-900/20"),children:[e.jsx(W,{className:"h-4 w-4 text-green-600 dark:text-green-400"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-500",children:s("general.upload")}),e.jsxs("div",{className:"font-medium text-green-600 dark:text-green-400",children:[g(t?.network.tx_sec),"/s"]})]})]}),e.jsxs("div",{className:j("flex items-center gap-2 px-3 py-2 rounded","bg-blue-50 dark:bg-blue-900/20"),children:[e.jsx(G,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-500",children:s("authorised.strategy.download")}),e.jsxs("div",{className:"font-medium text-blue-600 dark:text-blue-400",children:[g(t?.network.rx_sec),"/s"]})]})]})]}),e.jsxs("div",{className:"text-xs text-gray-500",children:[s("gateways.monitor.total_traffic"),":",s("general.upload")," ",g(t?.network.tx)," · ",s("authorised.strategy.download")," ",g(t?.network.rx)]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm mb-2",children:s("gateways.monitor.ip_address")}),e.jsxs("div",{className:"space-y-2",children:[t?.network.external_ip&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(w,{color:"blue",children:s("gateways.monitor.external")}),e.jsx("span",{className:"font-mono text-sm",children:t.network.external_ip})]}),t?.network.internal_ips&&t.network.internal_ips.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(w,{color:"green",children:s("gateways.monitor.internal")}),e.jsxs("span",{className:"text-xs text-gray-500",children:["(",t.network.internal_ips.length," ",s("gateways.monitor.items"),")"]})]}),e.jsx("div",{className:"pl-16 space-y-1",children:t.network.internal_ips.map((x,h)=>e.jsx("div",{className:"font-mono text-xs text-gray-600 dark:text-gray-400",children:x},h))})]})]})]})]})}),t?.errors&&Object.keys(t.errors).length>0&&e.jsx(z,{size:"small",title:e.jsx("span",{className:"text-red-600",children:s("gateways.monitor.collection_errors")}),children:e.jsx("div",{className:"space-y-2",children:Object.entries(t.errors).map(([x,h])=>e.jsxs("div",{className:"text-sm",children:[e.jsxs("span",{className:"font-medium text-gray-700 dark:text-gray-300",children:[x,": "]}),e.jsx("span",{className:"text-red-600",children:h})]},x))})})]})})},F=A,Ue=new URL("/assets/linux-CC_5NTIW.png",import.meta.url).href,Ee=new URL("/assets/windows-BIA7AHJd.png",import.meta.url).href,Ke=new URL("/assets/macos-CpA6aHqw.png",import.meta.url).href,es=()=>{const{t:n}=M(),p=o.useRef(null);let[r,s]=o.useState(!1),[c,t]=o.useState(!1),[x,h]=o.useState(),{license:f}=Ne(),[k,v]=o.useState([]),[N,I]=o.useState(!1),[$,l]=o.useState(!1);const{message:y}=he.useApp(),{data:m}=R({queryKey:["agentVersion"],queryFn:()=>F.getVersion(),staleTime:1e3*60*5});let P=X({mutationFn:async i=>{i.id?await F.updateById(i.id,i):await F.create(i)},onSuccess:()=>{p.current?.reload(),s(!1),h(void 0),ae()}});const te=X({mutationFn:i=>F.updateSortPosition(i),onSuccess:()=>{y.success(n("general.success"))}});function ae(){y.open({type:"success",content:n("general.success")})}const re=(i,a,d)=>{v(d);const b={id:d[a].id,beforeId:a>0?d[a-1].id:"",afterId:a{if(i==null||!a)return null;const d=i/a;return d<.7?{color:"green",text:n("gateways.load.normal")}:d<1?{color:"orange",text:n("gateways.load.moderate")}:{color:"red",text:n("gateways.load.busy")}},le=i=>{if(i==null)return"-";let a="green";return i>=200?a="red":i>=120?a="orange":i>=60&&(a="gold"),e.jsxs(w,{color:a,bordered:!1,className:"!m-0",children:[i," ms"]})};let ie=[{title:n("assets.sort"),dataIndex:"sort",width:50,className:"drag-visible",hideInSearch:!0},{title:n("general.name"),dataIndex:"name",hideInSearch:!0,className:"drag-visible",width:260,render:(i,a)=>{let d="";switch(a.os){case"linux":d=Ue;break;case"windows":d=Ee;break;case"darwin":d=Ke;break}return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"h-9 w-9 rounded-lg bg-gray-100 dark:bg-gray-800 flex items-center justify-center",children:e.jsx("img",{src:d,className:"w-5 h-5",alt:"os"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"truncate font-medium",children:a.name}),a.version&&e.jsxs(w,{color:"blue",bordered:!1,className:"!m-0",children:["v",a.version]})]}),e.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[e.jsx("span",{className:"font-mono",children:a.ip||"-"}),e.jsx("span",{className:"text-gray-300",children:"|"}),e.jsxs("span",{children:[a.os,"/",a.arch]})]})]})]})}},{title:n("general.status"),dataIndex:"online",key:"online",hideInSearch:!0,width:90,render:(i,a)=>a.online===!1?e.jsx(w,{bordered:!1,className:"!m-0",children:n("general.offline")}):e.jsx(w,{color:"green",bordered:!1,className:"!m-0",children:n("general.online")})},{title:n("gateways.stat.ping"),dataIndex:"stat.ping",key:"stat.ping",hideInSearch:!0,width:90,render:(i,a)=>a.online===!1?"-":le(a.stat?.ping)},{title:n("gateways.stat.load"),dataIndex:"stat.load",key:"stat.load",hideInSearch:!0,width:120,render:(i,a)=>{if(a.online===!1)return"-";const d=a.stat?.load?.load_1,_=`${a.stat?.load?.load_1?.toFixed(2)||"-"}, ${a.stat?.load?.load_5?.toFixed(2)||"-"}, ${a.stat?.load?.load_15?.toFixed(2)||"-"}`,b=a.stat?.cpu?.logical_cores,q=ne(d,b);return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xs text-gray-500",children:_}),q?e.jsx(w,{color:q.color,bordered:!1,className:"!m-0 w-fit",children:q.text}):"-"]})}},{title:"CPU",dataIndex:"stat.cpu",key:"stat.cpu",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.cpu.percent?e.jsx(B,{size:"small",strokeColor:D(a.stat?.cpu.percent),percent:a.stat?.cpu.percent,format:d=>`${d?.toFixed(1)}%`}):"-"},{title:n("gateways.stat.memory"),dataIndex:"stat.memory",key:"stat.memory",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.memory.percent?e.jsx(B,{size:"small",strokeColor:D(a.stat?.memory.percent),percent:a.stat?.memory.percent,format:d=>`${d?.toFixed(1)}%`}):"-"},{title:n("gateways.stat.disk"),dataIndex:"stat.disk",key:"stat.disk",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.disk.percent?e.jsx(B,{size:"small",strokeColor:D(a.stat?.disk.percent),percent:a.stat?.disk.percent,format:d=>`${d?.toFixed(1)}%`}):"-"},{title:n("gateways.stat.network_io"),dataIndex:"stat.network_io",key:"stat.network_io",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.network?e.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",children:[e.jsxs("div",{className:"flex items-center gap-1 text-green-600",children:[e.jsx(W,{className:"h-3 w-3"}),g(a.stat?.network.tx_sec),"/s"]}),e.jsxs("div",{className:"flex items-center gap-1 text-blue-600",children:[e.jsx(G,{className:"h-3 w-3"}),g(a.stat?.network.rx_sec),"/s"]})]}):"-"},{title:n("actions.label"),valueType:"option",key:"option",width:100,fixed:"right",render:(i,a,d,_)=>[e.jsx(U,{onClick:()=>{l(!0),h(a.id)},children:n("gateways.monitor.action")},"stat"),e.jsx(U,{onClick:()=>{s(!0),h(a.id)},children:n("actions.edit")},"edit"),e.jsx(ee,{title:n("general.confirm_delete"),onConfirm:async()=>{await F.deleteById(a.id),p.current?.reload()},children:e.jsx(U,{danger:!0,children:n("actions.delete")},"delete")},"delete-confirm")]}];const V=f.isFree()&&k.length>=1,de=()=>{const i=e.jsx(K,{type:"primary",disabled:V,onClick:()=>{t(!0)},children:n("gateways.register")});return V?e.jsx(pe,{title:n("gateways.free_limit_tip"),children:e.jsx("span",{style:{display:"inline-block"},children:i})},"register-button"):ye.cloneElement(i,{key:"register-button"})};return e.jsxs("div",{className:"w-full",children:[e.jsx(ue,{headerTitle:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:n("menus.gateway.submenus.agent_gateway")}),m?.version&&e.jsxs(w,{color:"blue",bordered:!1,children:["v",m.version]})]}),columns:ie,actionRef:p,rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},request:async(i={},a,d)=>{let[_,b]=Se(a);_===""&&b===""&&(_="desc",b="sort");let q={pageIndex:i.current,pageSize:i.pageSize,order:_,field:b,keyword:i.keyword},Q=await F.getPaging(q);return{data:Q.items,success:!0,total:Q.total}},dragSortKey:"sort",onDragSortEnd:re,rowClassName:i=>{if(i.online==!1)return"grayscale"},dateFormatter:"string",toolBarRender:()=>[de(),e.jsx(K,{color:"purple",variant:"filled",onClick:()=>{I(!0)},children:n("gateways.token_manage")},"token-manage")],polling:5e3,scroll:{x:"max-content"}}),e.jsx(qe,{id:x,open:r,confirmLoading:P.isPending,handleCancel:()=>{s(!1),h(void 0)},handleOk:P.mutate}),e.jsx(Pe,{open:c,handleCancel:()=>{t(!1)}}),e.jsx(ze,{open:N,onClose:()=>{I(!1)}}),e.jsx(Be,{open:$,id:x,onClose:()=>{l(!1)}})]})};export{es as default}; +import{f as o,S as e,U as E,aK as oe,aT as J,aO as H,ay as ce,a$ as Z,bs as C,bh as me,av as K,aS as ee,au as se,bp as xe,bg as L,aY as z,bD as ge,bf as B,bi as w,aI as he,ch as ue,b2 as pe,R as ye}from"./antd-Afm2kNt7.js";import{v as Y,u as M,A as je,e as R,m as we,H as T,ac as fe,Y as g,ad as ke,a6 as ve,z as Ne,h as X,ae as D}from"./index-DQXwuKC5.js";import{a as A}from"./agent-gateway-api-C9ZaxlKW.js";import{c as j}from"./charts-DWBuA5Za.js";import{N as U}from"./NButton-DoPcvKBF.js";import{S as be}from"./server-DnjIV_zW.js";import{N as _e}from"./network-Bw9HyUcr.js";import{g as Se}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const Ie=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],G=Y("arrow-down",Ie);const Ce=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],W=Y("arrow-up",Ce);const Fe=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ae=Y("clock",Fe),$e=A,qe=({open:n,handleOk:p,handleCancel:r,confirmLoading:s,id:c})=>{const t=o.useRef(null);let{t:x}=M();const h=async()=>c?await $e.getById(c):{};return e.jsx(E,{title:x("actions.edit"),open:n,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{t.current?.validateFields().then(async f=>{p(f)})},onCancel:()=>{r()},confirmLoading:s,children:e.jsxs(oe,{formRef:t,request:h,submitter:!1,children:[e.jsx(J,{hidden:!0,name:"id"}),e.jsx(J,{name:"name",label:x("general.name"),rules:[{required:!0}]})]})})};class Te extends je{constructor(){super("admin/agent-gateway-tokens")}}let O=new Te;const{Paragraph:S}=Z,Oe=new URL("/assets/linux-CC_5NTIW.png",import.meta.url).href,Re=new URL("/assets/windows-BIA7AHJd.png",import.meta.url).href,Me=new URL("/assets/macos-CpA6aHqw.png",import.meta.url).href,Pe=({open:n,handleCancel:p})=>{const{t:r}=M();let[s,c]=o.useState({endpoint:"",token:""}),[t,x]=o.useState("linux"),[h,f]=o.useState(""),k=R({queryKey:["agent-gateway-tokens"],queryFn:O.getAll}),v=R({queryKey:["agent-gateway-register-param"],queryFn:A.getRegisterParam,enabled:n});o.useEffect(()=>{if(v.data){let l=v.data;l.endpoint===""?(l.endpoint=window.location.origin,A.setRegisterAddr(l.endpoint).then(y=>{c(l)})):c(l)}},[v.data]),o.useEffect(()=>{n&&k.refetch()},[n]),o.useEffect(()=>{f(`curl -k ${s.endpoint}/api/agent/install.sh | bash -s ${s.token}`)},[s]);const N=[{key:"linux",label:"Linux",img:Oe},{key:"windows",label:"Windows",img:Re},{key:"macos",label:"macOS",img:Me}],I=l=>{switch(l){case"linux":return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"font-medium",children:r("gateways.install_auto")}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:h})}),e.jsx("div",{className:"font-medium mt-4",children:r("gateways.install_manual")}),e.jsxs("div",{children:["1. ",r("gateways.download_binary")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-linux-amd64`,children:"amd64"}),e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-linux-arm64`,children:"arm64"})]}),e.jsxs("div",{children:["2. ",r("gateways.install_step_rename")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:"mv nt-tunnel-linux-amd64 nt-tunnel && chmod +x nt-tunnel"})}),e.jsxs("div",{children:["3. ",r("gateways.install_step_register")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:`sudo ./nt-tunnel register --endpoint ${s.endpoint} --token ${s.token} --yes`})})]});case"windows":return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{children:["1. ",r("gateways.download_binary")]}),e.jsx("div",{children:e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-windows-amd64.exe`,children:"amd64"})}),e.jsxs("div",{children:["2. ",r("gateways.install_step_rename_windows")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:"ren nt-tunnel-windows-amd64.exe nt-tunnel.exe"})}),e.jsxs("div",{children:["3. ",r("gateways.install_step_register_admin")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:`nt-tunnel.exe register --endpoint ${s.endpoint} --token ${s.token} --yes`})}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:r("gateways.install_windows_service_tip")})]});case"macos":return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{children:["1. ",r("gateways.download_binary")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-darwin-arm64`,children:"arm64"}),e.jsx("a",{href:`${T()}/agent/downloads/nt-tunnel-darwin-amd64`,children:"amd64"})]}),e.jsxs("div",{children:["2. ",r("gateways.install_step_rename")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:"mv nt-tunnel-darwin-arm64 nt-tunnel && chmod +x nt-tunnel"})}),e.jsxs("div",{children:["3. ",r("gateways.install_step_register")]}),e.jsx("div",{className:j("bg-slate-200 p-4 rounded","dark:bg-slate-700"),children:e.jsx(S,{copyable:!0,style:{margin:0},children:`sudo ./nt-tunnel register --endpoint ${s.endpoint} --token ${s.token} --yes`})}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:r("gateways.install_system_service_tip")})]})}};function $(l){try{const y=new URL(l);return`${y.protocol}//${y.host}`}catch{return""}}return e.jsxs(E,{title:r("gateways.register_title"),open:n,maskClosable:!1,destroyOnHidden:!0,footer:!1,onCancel:()=>{p()},children:[e.jsxs("div",{className:"mb-2 flex flex-col gap-2",children:[e.jsx("div",{children:r("gateways.server_address")}),e.jsx(H,{value:s.endpoint,onChange:l=>{c({...s,endpoint:l.target.value})},onBlur:async()=>{let l=$(s.endpoint);we.hasText(l)||(l=window.location.origin),c({...s,endpoint:l}),await A.setRegisterAddr(l)}}),e.jsx("div",{children:r("gateways.register_token")}),e.jsx(ce,{showSearch:!0,placeholder:r("gateways.register_token_placeholder"),filterOption:(l,y)=>{const m=l.toLowerCase(),u=y?.label?.toLowerCase()||"",P=y?.value?.toLowerCase()||"";return u.includes(m)||P.includes(m)},options:Array.isArray(k.data)?k.data.map(l=>({label:l.id,value:l.id,remark:l.remark})):[],optionRender:l=>e.jsxs("div",{className:"flex flex-col py-1",children:[e.jsx("div",{className:"font-mono text-sm text-gray-800 dark:text-gray-200",children:l.data.value}),l.data.remark&&e.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:l.data.remark})]}),value:s.token,onChange:l=>{c({...s,token:l})}})]}),e.jsx("div",{className:"grid grid-cols-3 p-4",children:N.map(l=>e.jsx("div",{className:"flex items-center justify-center cursor-pointer",onClick:()=>{x(l.key)},children:e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("img",{src:l.img,alt:"linux",className:"w-16 h-16"}),e.jsx("div",{className:"font-medium",children:l.label}),e.jsx("div",{className:j("h-1 w-full",t===l.key&&"bg-blue-500")})]})},l.key))}),e.jsxs("div",{className:"mt-4 space-y-2",children:[e.jsx("div",{children:r("gateways.install_shell")}),I(t)]})]})},{Paragraph:Le}=Z,ze=({open:n,onClose:p})=>{let{t:r}=M();const[s]=C.useForm(),[c]=C.useForm(),[t,x]=o.useState(!1),[h,f]=o.useState(!1),[k,v]=o.useState(null);let N=R({queryKey:["agent-gateway-tokens"],queryFn:O.getAll});o.useEffect(()=>{n&&N.refetch()},[n]);const I=async m=>{try{const u={remark:m.remark};await O.create(u),L.success(r("general.success")),x(!1),s.resetFields(),N.refetch()}catch{L.error(r("general.error"))}},$=async m=>{if(k)try{const u={...k,remark:m.remark};await O.updateById(k.id,u),L.success(r("general.success")),f(!1),v(null),c.resetFields(),N.refetch()}catch{L.error(r("general.error"))}},l=m=>{v(m),c.setFieldsValue({remark:m.remark}),f(!0)},y=[{title:"Token",dataIndex:"id",key:"id",render:(m,u)=>e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Le,{copyable:!0,style:{marginBottom:0},className:"font-mono text-sm",children:m}),u.remark&&e.jsxs("div",{className:"px-2 py-1 bg-gray-50 dark:bg-gray-800 rounded text-xs text-gray-600 dark:text-gray-400 border-l-2 border-blue-200 dark:border-blue-700",children:[e.jsx("span",{className:"font-medium text-gray-700 dark:text-gray-300",children:r("general.remark_label")}),u.remark]})]})},{title:r("general.updated_at"),dataIndex:"updatedAt",key:"updatedAt",width:191,render:m=>me(m).format("YYYY-MM-DD HH:mm:ss")},{title:r("actions.label"),key:"action",width:150,render:(m,u)=>e.jsxs("div",{style:{display:"flex",gap:"8px"},children:[e.jsx(K,{type:"link",size:"small",onClick:()=>l(u),children:r("actions.edit")}),e.jsx(ee,{title:r("general.confirm_delete"),onConfirm:async()=>{await O.deleteById(u.id),N.refetch()},children:e.jsx(U,{danger:!0,children:r("actions.delete")},"delete")},"delete-confirm")]})}];return e.jsxs(e.Fragment,{children:[e.jsx(se,{title:r("gateways.token_manage"),onClose:p,open:n,width:window.innerWidth*.6,extra:e.jsx(K,{type:"primary",onClick:()=>x(!0),children:r("actions.new")}),children:e.jsx(xe,{columns:y,dataSource:N.data,pagination:!1,rowKey:"id"})}),e.jsx(E,{title:r("gateways.add_token"),open:t,onOk:()=>s.submit(),onCancel:()=>{x(!1),s.resetFields()},children:e.jsx(C,{form:s,layout:"vertical",onFinish:I,children:e.jsx(C.Item,{label:r("general.remark"),name:"remark",rules:[{required:!0,message:r("general.required")}],children:e.jsx(H,{placeholder:r("general.enter_remark")})})})}),e.jsx(E,{title:r("gateways.edit_token_remark"),open:h,onOk:()=>c.submit(),onCancel:()=>{f(!1),v(null),c.resetFields()},children:e.jsx(C,{form:c,layout:"vertical",onFinish:$,children:e.jsx(C.Item,{label:r("general.remark"),name:"remark",rules:[{required:!0,message:r("general.required")}],children:e.jsx(H,{placeholder:r("general.enter_remark")})})})})]})},Be=({open:n,id:p,onClose:r})=>{const{t:s}=M(),t=R({queryKey:["agent-gateway",p,"stat"],queryFn:async()=>await A.getStat(p),enabled:n,refetchInterval:3e3}).data;return e.jsx(se,{title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ve,{className:"h-5 w-5"}),e.jsx("span",{children:s("gateways.monitor.title")}),t?.host?.hostname&&e.jsx("span",{className:"text-sm text-gray-500",children:t.host.hostname}),t?.ping!==void 0&&e.jsxs(w,{color:"green",children:[s("gateways.stat.ping"),": ",t.ping,"ms"]})]}),onClose:r,open:n,width:Math.min(1200,window.innerWidth-100),children:e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs(z,{size:"small",title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(be,{className:"h-4 w-4"}),e.jsx("span",{children:s("gateways.monitor.system_info")})]}),children:[e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("stat.info.hostname")}),e.jsx("div",{className:"font-medium",children:t?.host.hostname||"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("stat.info.os")}),e.jsxs("div",{className:"font-medium",children:[t?.host.os||"-"," / ",t?.host.arch||"-"]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.stat.system_version")}),e.jsx("div",{className:"font-medium",children:t?.host.version||"-"})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-gray-500 text-sm flex items-center gap-1",children:[e.jsx(Ae,{className:"h-3 w-3"}),s("gateways.stat.uptime")]}),e.jsx("div",{className:"font-medium",children:fe(t?.host.uptime)})]})]}),t?.load&&e.jsxs(e.Fragment,{children:[e.jsx(ge,{className:"my-3"}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.stat.ping")}),e.jsx("div",{className:"font-medium",children:t.ping!==void 0?`${t.ping} ms`:"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.load_1m")}),e.jsx("div",{className:"font-medium",children:t.load.load_1?.toFixed(2)||"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.load_5m")}),e.jsx("div",{className:"font-medium",children:t.load.load_5?.toFixed(2)||"-"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.load_15m")}),e.jsx("div",{className:"font-medium",children:t.load.load_15?.toFixed(2)||"-"})]})]})]})]}),e.jsx(z,{size:"small",title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ke,{className:"h-4 w-4"}),e.jsxs("span",{children:[s("gateways.stat.cpu")," / ",s("gateways.stat.memory")," / ",s("gateways.stat.disk")]})]}),children:e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"rounded-md border border-slate-200/70 dark:border-slate-700 px-3 py-2",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:s("gateways.stat.cpu")}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-lg font-semibold",children:[t?.cpu.percent?.toFixed(1)||0,"%"]}),e.jsxs("span",{className:"text-xs text-gray-400",children:[s("gateways.stat.logical_cores"),": ",t?.cpu.logical_cores||0]})]}),e.jsx(B,{percent:t?.cpu.percent||0,showInfo:!1,strokeColor:(t?.cpu.percent||0)>80?"#f5222d":(t?.cpu.percent||0)>60?"#faad14":"#52c41a"}),e.jsx("div",{className:"text-xs text-gray-500 mt-1",children:t?.cpu.model||"-"})]}),e.jsxs("div",{className:"rounded-md border border-slate-200/70 dark:border-slate-700 px-3 py-2",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:s("gateways.stat.memory")}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-lg font-semibold",children:[t?.memory.percent?.toFixed(1)||0,"%"]}),e.jsxs(w,{color:"blue",bordered:!1,className:"!m-0",children:[g(t?.memory.used)," / ",g(t?.memory.total)]})]}),e.jsxs("div",{className:"text-xs text-gray-500 mt-2",children:[s("gateways.stat.available"),": ",g(t?.memory.available)," · ",s("gateways.stat.free"),": ",g(t?.memory.free)]}),t?.memory.swap_total>0&&e.jsxs("div",{className:"text-xs text-gray-500 mt-1",children:[s("gateways.stat.swap"),": ",g(t.memory.swap_total)," / ",g(t.memory.swap_free)]})]}),e.jsxs("div",{className:"rounded-md border border-slate-200/70 dark:border-slate-700 px-3 py-2",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:s("gateways.stat.disk")}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-lg font-semibold",children:[t?.disk.percent?.toFixed(1)||0,"%"]}),e.jsxs(w,{color:"gold",bordered:!1,className:"!m-0",children:[g(t?.disk.used)," / ",g(t?.disk.total)]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-2 text-xs",children:[e.jsxs("div",{className:j("flex items-center gap-2 px-2 py-1 rounded","bg-green-50 dark:bg-green-900/20"),children:[e.jsx(W,{className:"h-3 w-3 text-green-600 dark:text-green-400"}),e.jsxs("span",{className:"text-green-600 dark:text-green-400",children:[g(t?.disk_io.read_bytes),"/s"]})]}),e.jsxs("div",{className:j("flex items-center gap-2 px-2 py-1 rounded","bg-red-50 dark:bg-red-900/20"),children:[e.jsx(G,{className:"h-3 w-3 text-red-600 dark:text-red-400"}),e.jsxs("span",{className:"text-red-600 dark:text-red-400",children:[g(t?.disk_io.write_bytes),"/s"]})]})]})]})]})})}),e.jsx(z,{size:"small",title:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),e.jsx("span",{children:s("assets.network")})]}),children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-gray-500 text-sm",children:s("gateways.monitor.network_io_rate")}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:j("flex items-center gap-2 px-3 py-2 rounded","bg-green-50 dark:bg-green-900/20"),children:[e.jsx(W,{className:"h-4 w-4 text-green-600 dark:text-green-400"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-500",children:s("general.upload")}),e.jsxs("div",{className:"font-medium text-green-600 dark:text-green-400",children:[g(t?.network.tx_sec),"/s"]})]})]}),e.jsxs("div",{className:j("flex items-center gap-2 px-3 py-2 rounded","bg-blue-50 dark:bg-blue-900/20"),children:[e.jsx(G,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-500",children:s("authorised.strategy.download")}),e.jsxs("div",{className:"font-medium text-blue-600 dark:text-blue-400",children:[g(t?.network.rx_sec),"/s"]})]})]})]}),e.jsxs("div",{className:"text-xs text-gray-500",children:[s("gateways.monitor.total_traffic"),":",s("general.upload")," ",g(t?.network.tx)," · ",s("authorised.strategy.download")," ",g(t?.network.rx)]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-gray-500 text-sm mb-2",children:s("gateways.monitor.ip_address")}),e.jsxs("div",{className:"space-y-2",children:[t?.network.external_ip&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(w,{color:"blue",children:s("gateways.monitor.external")}),e.jsx("span",{className:"font-mono text-sm",children:t.network.external_ip})]}),t?.network.internal_ips&&t.network.internal_ips.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(w,{color:"green",children:s("gateways.monitor.internal")}),e.jsxs("span",{className:"text-xs text-gray-500",children:["(",t.network.internal_ips.length," ",s("gateways.monitor.items"),")"]})]}),e.jsx("div",{className:"pl-16 space-y-1",children:t.network.internal_ips.map((x,h)=>e.jsx("div",{className:"font-mono text-xs text-gray-600 dark:text-gray-400",children:x},h))})]})]})]})]})}),t?.errors&&Object.keys(t.errors).length>0&&e.jsx(z,{size:"small",title:e.jsx("span",{className:"text-red-600",children:s("gateways.monitor.collection_errors")}),children:e.jsx("div",{className:"space-y-2",children:Object.entries(t.errors).map(([x,h])=>e.jsxs("div",{className:"text-sm",children:[e.jsxs("span",{className:"font-medium text-gray-700 dark:text-gray-300",children:[x,": "]}),e.jsx("span",{className:"text-red-600",children:h})]},x))})})]})})},F=A,Ue=new URL("/assets/linux-CC_5NTIW.png",import.meta.url).href,Ee=new URL("/assets/windows-BIA7AHJd.png",import.meta.url).href,Ke=new URL("/assets/macos-CpA6aHqw.png",import.meta.url).href,es=()=>{const{t:n}=M(),p=o.useRef(null);let[r,s]=o.useState(!1),[c,t]=o.useState(!1),[x,h]=o.useState(),{license:f}=Ne(),[k,v]=o.useState([]),[N,I]=o.useState(!1),[$,l]=o.useState(!1);const{message:y}=he.useApp(),{data:m}=R({queryKey:["agentVersion"],queryFn:()=>F.getVersion(),staleTime:1e3*60*5});let P=X({mutationFn:async i=>{i.id?await F.updateById(i.id,i):await F.create(i)},onSuccess:()=>{p.current?.reload(),s(!1),h(void 0),ae()}});const te=X({mutationFn:i=>F.updateSortPosition(i),onSuccess:()=>{y.success(n("general.success"))}});function ae(){y.open({type:"success",content:n("general.success")})}const re=(i,a,d)=>{v(d);const b={id:d[a].id,beforeId:a>0?d[a-1].id:"",afterId:a{if(i==null||!a)return null;const d=i/a;return d<.7?{color:"green",text:n("gateways.load.normal")}:d<1?{color:"orange",text:n("gateways.load.moderate")}:{color:"red",text:n("gateways.load.busy")}},le=i=>{if(i==null)return"-";let a="green";return i>=200?a="red":i>=120?a="orange":i>=60&&(a="gold"),e.jsxs(w,{color:a,bordered:!1,className:"!m-0",children:[i," ms"]})};let ie=[{title:n("assets.sort"),dataIndex:"sort",width:50,className:"drag-visible",hideInSearch:!0},{title:n("general.name"),dataIndex:"name",hideInSearch:!0,className:"drag-visible",width:260,render:(i,a)=>{let d="";switch(a.os){case"linux":d=Ue;break;case"windows":d=Ee;break;case"darwin":d=Ke;break}return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"h-9 w-9 rounded-lg bg-gray-100 dark:bg-gray-800 flex items-center justify-center",children:e.jsx("img",{src:d,className:"w-5 h-5",alt:"os"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"truncate font-medium",children:a.name}),a.version&&e.jsxs(w,{color:"blue",bordered:!1,className:"!m-0",children:["v",a.version]})]}),e.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[e.jsx("span",{className:"font-mono",children:a.ip||"-"}),e.jsx("span",{className:"text-gray-300",children:"|"}),e.jsxs("span",{children:[a.os,"/",a.arch]})]})]})]})}},{title:n("general.status"),dataIndex:"online",key:"online",hideInSearch:!0,width:90,render:(i,a)=>a.online===!1?e.jsx(w,{bordered:!1,className:"!m-0",children:n("general.offline")}):e.jsx(w,{color:"green",bordered:!1,className:"!m-0",children:n("general.online")})},{title:n("gateways.stat.ping"),dataIndex:"stat.ping",key:"stat.ping",hideInSearch:!0,width:90,render:(i,a)=>a.online===!1?"-":le(a.stat?.ping)},{title:n("gateways.stat.load"),dataIndex:"stat.load",key:"stat.load",hideInSearch:!0,width:120,render:(i,a)=>{if(a.online===!1)return"-";const d=a.stat?.load?.load_1,_=`${a.stat?.load?.load_1?.toFixed(2)||"-"}, ${a.stat?.load?.load_5?.toFixed(2)||"-"}, ${a.stat?.load?.load_15?.toFixed(2)||"-"}`,b=a.stat?.cpu?.logical_cores,q=ne(d,b);return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xs text-gray-500",children:_}),q?e.jsx(w,{color:q.color,bordered:!1,className:"!m-0 w-fit",children:q.text}):"-"]})}},{title:"CPU",dataIndex:"stat.cpu",key:"stat.cpu",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.cpu.percent?e.jsx(B,{size:"small",strokeColor:D(a.stat?.cpu.percent),percent:a.stat?.cpu.percent,format:d=>`${d?.toFixed(1)}%`}):"-"},{title:n("gateways.stat.memory"),dataIndex:"stat.memory",key:"stat.memory",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.memory.percent?e.jsx(B,{size:"small",strokeColor:D(a.stat?.memory.percent),percent:a.stat?.memory.percent,format:d=>`${d?.toFixed(1)}%`}):"-"},{title:n("gateways.stat.disk"),dataIndex:"stat.disk",key:"stat.disk",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.disk.percent?e.jsx(B,{size:"small",strokeColor:D(a.stat?.disk.percent),percent:a.stat?.disk.percent,format:d=>`${d?.toFixed(1)}%`}):"-"},{title:n("gateways.stat.network_io"),dataIndex:"stat.network_io",key:"stat.network_io",hideInSearch:!0,width:100,render:(i,a)=>a.stat?.network?e.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",children:[e.jsxs("div",{className:"flex items-center gap-1 text-green-600",children:[e.jsx(W,{className:"h-3 w-3"}),g(a.stat?.network.tx_sec),"/s"]}),e.jsxs("div",{className:"flex items-center gap-1 text-blue-600",children:[e.jsx(G,{className:"h-3 w-3"}),g(a.stat?.network.rx_sec),"/s"]})]}):"-"},{title:n("actions.label"),valueType:"option",key:"option",width:100,fixed:"right",render:(i,a,d,_)=>[e.jsx(U,{onClick:()=>{l(!0),h(a.id)},children:n("gateways.monitor.action")},"stat"),e.jsx(U,{onClick:()=>{s(!0),h(a.id)},children:n("actions.edit")},"edit"),e.jsx(ee,{title:n("general.confirm_delete"),onConfirm:async()=>{await F.deleteById(a.id),p.current?.reload()},children:e.jsx(U,{danger:!0,children:n("actions.delete")},"delete")},"delete-confirm")]}];const V=f.isFree()&&k.length>=1,de=()=>{const i=e.jsx(K,{type:"primary",disabled:V,onClick:()=>{t(!0)},children:n("gateways.register")});return V?e.jsx(pe,{title:n("gateways.free_limit_tip"),children:e.jsx("span",{style:{display:"inline-block"},children:i})},"register-button"):ye.cloneElement(i,{key:"register-button"})};return e.jsxs("div",{className:"w-full",children:[e.jsx(ue,{headerTitle:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:n("menus.gateway.submenus.agent_gateway")}),m?.version&&e.jsxs(w,{color:"blue",bordered:!1,children:["v",m.version]})]}),columns:ie,actionRef:p,rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},request:async(i={},a,d)=>{let[_,b]=Se(a);_===""&&b===""&&(_="desc",b="sort");let q={pageIndex:i.current,pageSize:i.pageSize,order:_,field:b,keyword:i.keyword},Q=await F.getPaging(q);return{data:Q.items,success:!0,total:Q.total}},dragSortKey:"sort",onDragSortEnd:re,rowClassName:i=>{if(i.online==!1)return"grayscale"},dateFormatter:"string",toolBarRender:()=>[de(),e.jsx(K,{color:"purple",variant:"filled",onClick:()=>{I(!0)},children:n("gateways.token_manage")},"token-manage")],polling:5e3,scroll:{x:"max-content"}}),e.jsx(qe,{id:x,open:r,confirmLoading:P.isPending,handleCancel:()=>{s(!1),h(void 0)},handleOk:P.mutate}),e.jsx(Pe,{open:c,handleCancel:()=>{t(!1)}}),e.jsx(ze,{open:N,onClose:()=>{I(!1)}}),e.jsx(Be,{open:$,id:x,onClose:()=>{l(!1)}})]})};export{es as default}; diff --git a/server/resource/build/assets/AssetFacadePage-Cidq4AsP.js b/server/resource/build/assets/AssetFacadePage-CCyTP6F2.js similarity index 94% rename from server/resource/build/assets/AssetFacadePage-Cidq4AsP.js rename to server/resource/build/assets/AssetFacadePage-CCyTP6F2.js index 703fc10bf..f700258b0 100644 --- a/server/resource/build/assets/AssetFacadePage-Cidq4AsP.js +++ b/server/resource/build/assets/AssetFacadePage-CCyTP6F2.js @@ -1 +1 @@ -import{f as r,S as e,bc as k}from"./antd-Afm2kNt7.js";import{u as S,e as m,m as A,V as E,F,aj as h}from"./index-BdfI9ZEv.js";import{g as T,a as K,c as L,f as G,F as I,b as q,d as M}from"./FacadeCardSkeleton-DuF-8KBE.js";import{F as $}from"./FacadeSearchBar-sDOAHksR.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const z=()=>{let{t:n}=S(),[u,y]=r.useState(),[l,b]=r.useState(""),[o,j]=r.useState(""),[v,x]=r.useState([]),c=m({queryKey:["my-assets"],queryFn:()=>h.assets("asset"),staleTime:300*1e3,gcTime:600*1e3}),t=m({queryKey:["my-assets-group-tree"],queryFn:()=>h.getAssetsGroupTree(),staleTime:600*1e3});r.useEffect(()=>{c.data&&y(c.data)},[c.data]);const p=r.useMemo(()=>t.data?T(t.data):[],[t.data]);r.useEffect(()=>{p.length>0&&x(p)},[p]);const N=r.useCallback(s=>{b(s.toLowerCase())},[]),g=r.useMemo(()=>{let s=u||[];if(o&&o!==""&&t.data){const a=K(t.data,o);s=s.filter(d=>L(d.groupId,a))}return A.hasText(l)&&(s=s.filter(a=>a.name.toLowerCase().includes(l)||a.alias&&a.alias.toLowerCase().includes(l)||a.address.toLowerCase().includes(l)||a.protocol.toLowerCase().includes(l)?!0:a.tags?.some(d=>d.toLowerCase().includes(l)))),s},[u,o,l,t.data]),f=r.useMemo(()=>o&&t.data?G(t.data,o):null,[o,t.data]),w=r.useCallback(s=>{const a=s.id,d=s.protocol;let i="";if(d==="http")i=`/browser?websiteId=${a}&t=${new Date().getTime()}`;else if(E()&&d==="ssh")i=`/mobile-terminal?assetId=${a}&t=${new Date().getTime()}`;else{const C={id:a,name:s.name,protocol:s.protocol,status:s.status,wolEnabled:s.attrs?.["wol-enabled"]||!1};i=`/access?asset=${F(C)}`}return e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"group block cursor-pointer focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-blue-500/20 rounded-xl",children:e.jsx(I,{item:s,type:"asset"})},s.id)},[]);return e.jsx("div",{className:"pb-6",children:e.jsxs("div",{className:"lg:px-20 px-4",children:[e.jsx("div",{className:"lg:py-6 py-4",children:e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[e.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:n("menus.resource.submenus.asset")}),f&&e.jsx("div",{className:"flex flex-wrap gap-2",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-slate-100 dark:bg-slate-800/70 px-2.5 py-1 text-xs font-medium text-slate-600 dark:text-slate-200",children:[n("assets.group")," · ",f.title]})})]})}),e.jsx("div",{className:"pt-3",children:e.jsx($,{value:l,onChange:N,resultCount:g.length,totalCount:u?.length||0,placeholder:n("facade.asset_placeholder")})})]})}),e.jsxs("div",{className:"grid lg:grid-cols-[240px_1fr] gap-4",children:[e.jsx(q,{title:n("assets.group"),treeData:t.data,selectedKey:o,onSelect:j,expandedKeys:v,onExpand:x,loading:t.isLoading}),e.jsx("div",{className:"rounded-lg",children:c.isLoading?e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:e.jsx(M,{count:8})}):g.length===0?e.jsx(k,{}):e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:g.map(s=>w(s))})})]})]})})};export{z as default}; +import{f as r,S as e,bc as k}from"./antd-Afm2kNt7.js";import{u as S,e as m,m as A,V as E,F,aj as h}from"./index-DQXwuKC5.js";import{g as T,a as K,c as L,f as G,F as I,b as q,d as M}from"./FacadeCardSkeleton-N6rktkuw.js";import{F as $}from"./FacadeSearchBar-DPZw3dye.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const z=()=>{let{t:n}=S(),[u,y]=r.useState(),[l,b]=r.useState(""),[o,j]=r.useState(""),[v,x]=r.useState([]),c=m({queryKey:["my-assets"],queryFn:()=>h.assets("asset"),staleTime:300*1e3,gcTime:600*1e3}),t=m({queryKey:["my-assets-group-tree"],queryFn:()=>h.getAssetsGroupTree(),staleTime:600*1e3});r.useEffect(()=>{c.data&&y(c.data)},[c.data]);const p=r.useMemo(()=>t.data?T(t.data):[],[t.data]);r.useEffect(()=>{p.length>0&&x(p)},[p]);const N=r.useCallback(s=>{b(s.toLowerCase())},[]),g=r.useMemo(()=>{let s=u||[];if(o&&o!==""&&t.data){const a=K(t.data,o);s=s.filter(d=>L(d.groupId,a))}return A.hasText(l)&&(s=s.filter(a=>a.name.toLowerCase().includes(l)||a.alias&&a.alias.toLowerCase().includes(l)||a.address.toLowerCase().includes(l)||a.protocol.toLowerCase().includes(l)?!0:a.tags?.some(d=>d.toLowerCase().includes(l)))),s},[u,o,l,t.data]),f=r.useMemo(()=>o&&t.data?G(t.data,o):null,[o,t.data]),w=r.useCallback(s=>{const a=s.id,d=s.protocol;let i="";if(d==="http")i=`/browser?websiteId=${a}&t=${new Date().getTime()}`;else if(E()&&d==="ssh")i=`/mobile-terminal?assetId=${a}&t=${new Date().getTime()}`;else{const C={id:a,name:s.name,protocol:s.protocol,status:s.status,wolEnabled:s.attrs?.["wol-enabled"]||!1};i=`/access?asset=${F(C)}`}return e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"group block cursor-pointer focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-blue-500/20 rounded-xl",children:e.jsx(I,{item:s,type:"asset"})},s.id)},[]);return e.jsx("div",{className:"pb-6",children:e.jsxs("div",{className:"lg:px-20 px-4",children:[e.jsx("div",{className:"lg:py-6 py-4",children:e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[e.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:n("menus.resource.submenus.asset")}),f&&e.jsx("div",{className:"flex flex-wrap gap-2",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-slate-100 dark:bg-slate-800/70 px-2.5 py-1 text-xs font-medium text-slate-600 dark:text-slate-200",children:[n("assets.group")," · ",f.title]})})]})}),e.jsx("div",{className:"pt-3",children:e.jsx($,{value:l,onChange:N,resultCount:g.length,totalCount:u?.length||0,placeholder:n("facade.asset_placeholder")})})]})}),e.jsxs("div",{className:"grid lg:grid-cols-[240px_1fr] gap-4",children:[e.jsx(q,{title:n("assets.group"),treeData:t.data,selectedKey:o,onSelect:j,expandedKeys:v,onExpand:x,loading:t.isLoading}),e.jsx("div",{className:"rounded-lg",children:c.isLoading?e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:e.jsx(M,{count:8})}):g.length===0?e.jsx(k,{}):e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:g.map(s=>w(s))})})]})]})})};export{z as default}; diff --git a/server/resource/build/assets/AssetGatewayChoose-DPYRzxwL.js b/server/resource/build/assets/AssetGatewayChoose-4vUjpk3C.js similarity index 91% rename from server/resource/build/assets/AssetGatewayChoose-DPYRzxwL.js rename to server/resource/build/assets/AssetGatewayChoose-4vUjpk3C.js index 775e213a1..810abaa6f 100644 --- a/server/resource/build/assets/AssetGatewayChoose-DPYRzxwL.js +++ b/server/resource/build/assets/AssetGatewayChoose-4vUjpk3C.js @@ -1 +1 @@ -import{v as y,u as v,e as r}from"./index-BdfI9ZEv.js";import{aI as _,f as c,S as t,au as x,a_ as b,ay as m,av as A}from"./antd-Afm2kNt7.js";import{a as j}from"./asset-api-CdGgZMNY.js";import{w as M}from"./website-api-rU4LiJu6.js";import{a as G}from"./agent-gateway-api-C1FfOeZ1.js";import{s as q}from"./ssh-gateway-api-CfWrAhC0.js";import{g as S}from"./gateway-group-api-Ckni5YAK.js";const C=[["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["circle",{cx:"12",cy:"12",r:"8",key:"46899m"}]],z=y("cog",C);const P=[["path",{d:"M16 16h6",key:"100bgy"}],["path",{d:"M19 13v6",key:"85cyf1"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]],D=y("package-plus",P);const I=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],O=y("panel-left-close",I);const N=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],R=y("panel-left-open",N);const F=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],V=y("plus",F),H=({resourceIds:h,type:i,open:n,onClose:p})=>{let{t:e}=v(),{message:k}=_.useApp();const[a,d]=c.useState(""),[l,o]=c.useState(void 0);let g=r({queryKey:["agent-gateways/all"],queryFn:()=>G.getAll()}),u=r({queryKey:["ssh-gateways/all"],queryFn:()=>q.getAll()}),w=r({queryKey:["gateway-groups/all"],queryFn:()=>S.getAll()});c.useEffect(()=>{n?(g.refetch(),u.refetch(),w.refetch()):(d(""),o(void 0))},[n]);const f=async()=>{try{i==="asset"?await j.changeGateway({assetIds:h,gatewayType:a,gatewayId:l}):i==="website"&&await M.changeGateway({websiteIds:h,gatewayType:a,gatewayId:l}),k.success(e("general.success")),p()}catch(s){console.error("Failed to update gateways:",s)}};return t.jsx(x,{title:e("assets.change_gateway"),onClose:p,open:n,width:400,children:t.jsxs(b,{direction:"vertical",style:{width:"100%"},size:"large",children:[t.jsxs("div",{children:[t.jsx("div",{style:{marginBottom:8},children:t.jsx("label",{children:e("assets.gateway_type")})}),t.jsx(m,{style:{width:"100%"},placeholder:e("assets.select_gateway_type"),value:a,onChange:s=>{d(s),o(void 0)},options:[{label:e("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:e("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:e("menus.gateway.submenus.gateway_group"),value:"group"}]})]}),a&&t.jsxs("div",{children:[t.jsx("div",{style:{marginBottom:8},children:t.jsxs("label",{children:[a==="ssh"&&e("menus.gateway.submenus.ssh_gateway"),a==="agent"&&e("menus.gateway.submenus.agent_gateway"),a==="group"&&e("menus.gateway.submenus.gateway_group")]})}),t.jsx(m,{style:{width:"100%"},placeholder:e(a==="ssh"?"assets.select_ssh_gateway":a==="agent"?"assets.select_agent_gateway":"assets.select_gateway_group"),value:l,onChange:o,showSearch:!0,options:[...(a==="ssh"?u.data:a==="agent"?g.data:w.data||[]).map(s=>({label:s.name,value:s.id}))]})]}),t.jsx(A,{type:"primary",onClick:f,disabled:!a||!l,style:{width:"100%"},children:e("actions.confirm")})]})})};export{H as A,z as C,V as P,D as a,R as b,O as c}; +import{v as y,u as v,e as r}from"./index-DQXwuKC5.js";import{aI as _,f as c,S as t,au as x,a_ as b,ay as m,av as A}from"./antd-Afm2kNt7.js";import{a as j}from"./asset-api-1abjsV5s.js";import{w as M}from"./website-api-CiGWjL7L.js";import{a as G}from"./agent-gateway-api-C9ZaxlKW.js";import{s as q}from"./ssh-gateway-api-D4569Eil.js";import{g as S}from"./gateway-group-api-nxpckHkj.js";const C=[["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["circle",{cx:"12",cy:"12",r:"8",key:"46899m"}]],z=y("cog",C);const P=[["path",{d:"M16 16h6",key:"100bgy"}],["path",{d:"M19 13v6",key:"85cyf1"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]],D=y("package-plus",P);const I=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]],O=y("panel-left-close",I);const N=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],R=y("panel-left-open",N);const F=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],V=y("plus",F),H=({resourceIds:h,type:i,open:n,onClose:p})=>{let{t:e}=v(),{message:k}=_.useApp();const[a,d]=c.useState(""),[l,o]=c.useState(void 0);let g=r({queryKey:["agent-gateways/all"],queryFn:()=>G.getAll()}),u=r({queryKey:["ssh-gateways/all"],queryFn:()=>q.getAll()}),w=r({queryKey:["gateway-groups/all"],queryFn:()=>S.getAll()});c.useEffect(()=>{n?(g.refetch(),u.refetch(),w.refetch()):(d(""),o(void 0))},[n]);const f=async()=>{try{i==="asset"?await j.changeGateway({assetIds:h,gatewayType:a,gatewayId:l}):i==="website"&&await M.changeGateway({websiteIds:h,gatewayType:a,gatewayId:l}),k.success(e("general.success")),p()}catch(s){console.error("Failed to update gateways:",s)}};return t.jsx(x,{title:e("assets.change_gateway"),onClose:p,open:n,width:400,children:t.jsxs(b,{direction:"vertical",style:{width:"100%"},size:"large",children:[t.jsxs("div",{children:[t.jsx("div",{style:{marginBottom:8},children:t.jsx("label",{children:e("assets.gateway_type")})}),t.jsx(m,{style:{width:"100%"},placeholder:e("assets.select_gateway_type"),value:a,onChange:s=>{d(s),o(void 0)},options:[{label:e("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:e("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:e("menus.gateway.submenus.gateway_group"),value:"group"}]})]}),a&&t.jsxs("div",{children:[t.jsx("div",{style:{marginBottom:8},children:t.jsxs("label",{children:[a==="ssh"&&e("menus.gateway.submenus.ssh_gateway"),a==="agent"&&e("menus.gateway.submenus.agent_gateway"),a==="group"&&e("menus.gateway.submenus.gateway_group")]})}),t.jsx(m,{style:{width:"100%"},placeholder:e(a==="ssh"?"assets.select_ssh_gateway":a==="agent"?"assets.select_agent_gateway":"assets.select_gateway_group"),value:l,onChange:o,showSearch:!0,options:[...(a==="ssh"?u.data:a==="agent"?g.data:w.data||[]).map(s=>({label:s.name,value:s.id}))]})]}),t.jsx(A,{type:"primary",onClick:f,disabled:!a||!l,style:{width:"100%"},children:e("actions.confirm")})]})})};export{H as A,z as C,V as P,D as a,R as b,O as c}; diff --git a/server/resource/build/assets/AssetPage-BJD5muIt.js b/server/resource/build/assets/AssetPage-BJD5muIt.js new file mode 100644 index 000000000..690231ae6 --- /dev/null +++ b/server/resource/build/assets/AssetPage-BJD5muIt.js @@ -0,0 +1 @@ +import{f as c,S as e,U as Ie,aK as je,aT as k,b2 as ae,aP as we,aC as Ce,au as _e,aI as ce,bs as Z,bJ as ve,bK as ke,aL as L,aU as de,av as B,c0 as Ae,bl as Te,bO as U,aM as oe,bH as V,b4 as Pe,aN as he,T as Fe,c1 as Ne,a_ as ue,aO as Re,bY as qe,aV as me,bA as Ee,c2 as Oe,c3 as De,bi as ne,c4 as le,bI as Ke,bp as ge,bz as xe}from"./antd-Afm2kNt7.js";import{u as N,d as ze,e as re,T as Se,B as Ge,g as Le,h as ie,M as Me,m as Ue,w as $e,b as Be,a as Ve,C as We,x as ee,E as He,F as Ye,G as Qe,H as Xe}from"./index-DQXwuKC5.js";import{a as S}from"./asset-api-1abjsV5s.js";import{N as J}from"./NButton-DoPcvKBF.js";import{P as Je,C as Ze,a as es,b as ss,c as ts,A as as}from"./AssetGatewayChoose-4vUjpk3C.js";import{c as ye}from"./charts-DWBuA5Za.js";import{a as rs}from"./agent-gateway-api-C9ZaxlKW.js";import{s as ns}from"./ssh-gateway-api-D4569Eil.js";import{g as ls}from"./gateway-group-api-nxpckHkj.js";import{U as os}from"./upload-D4kD-YfJ.js";import{c as is}from"./credential-api-DP_sN2cX.js";import{s as cs}from"./storage-api-CDrFMJhC.js";import{g as ds}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";import"./website-api-CiGWjL7L.js";const us=({open:t,handleOk:a,handleCancel:p,confirmLoading:d,op:o,node:h={title:"",key:"",children:[]}})=>{const x=c.useRef(null);let{t:y}=N();const u=c.useRef(null);c.useEffect(()=>{t&&setTimeout(()=>{u.current?.focus()},300)},[t]);const b=async()=>h,j=()=>{x.current?.validateFields().then(async m=>{a(m)})};return e.jsx("div",{children:e.jsx(Ie,{title:y(o==="edit"?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{j()},onCancel:()=>{p()},confirmLoading:d,children:e.jsxs(je,{formRef:x,request:b,submitter:!1,autoFocus:!0,children:[e.jsx(k,{hidden:!0,name:"key"}),e.jsx(k,{name:"title",label:y("general.name"),rules:[{required:!0}],fieldProps:{ref:u,onPressEnter:m=>{j()}}})]})})})},fe=({selected:t,onSelect:a})=>{let{t:p}=N();const[d,o]=c.useState([]);let[h,x]=c.useState(!1),[y,u]=c.useState(),[b,j]=c.useState(),[m,C]=c.useState(),[w,T]=c.useState([]),[D,K]=c.useState([]);const[Y]=ze();let R=re({queryKey:["assets/tree"],queryFn:S.getGroups});c.useEffect(()=>{K(t?["group_"+t]:[])},[t]),c.useEffect(()=>{if(Array.isArray(R.data)&&R.data.length>0){o(R.data);let s=z(R.data);T(s)}},[R.data]);const z=s=>{let g=[];return Array.isArray(s)&&s.forEach(I=>{g.push(I.key),I.children&&(g=g.concat(z(I.children)))}),g},E=s=>{S.setGroups(s).then(()=>{o(s)})},M=s=>{const g=s.node.key,I=s.dragNode.key;if(I==="default")return;const _=s.node.pos.split("-"),X=s.dropPosition-Number(_[_.length-1]),W=(v,n,l)=>{for(let f=0;f{l.splice(n,1),$=v}),!s.dropToGap)W(H,g,v=>{v.children=v.children||[],v.children.unshift($)});else{let v=[],n;W(H,g,(l,f,q)=>{v=q,n=f}),X===-1?v.splice(n,0,$):v.splice(n+1,0,$)}E(H)},i=(s,g,I)=>g.map(_=>_.key===s?(_.title=I.title,_):(_.children&&(_.children=i(s,_.children,I)),_)),G=(s,g,I)=>s?g.map(_=>(_.key===s&&(_.children=_.children?[..._.children,I]:[I]),_.children&&(_.children=G(s,_.children,I)),_)):(g.push(I),g),[P,F]=c.useState(null),Q=[{label:p("actions.new"),key:"add",icon:e.jsx(Je,{className:"h-4 w-4"}),onClick:()=>{u(P.node.key),j(void 0),x(!0),C("add")}},{label:p("actions.edit"),key:"edit",icon:e.jsx(Ze,{className:"h-4 w-4"}),onClick:()=>{u(P.node.key),j(P.node),x(!0),C("edit")}},{label:p("actions.delete"),key:"delete",danger:!0,icon:e.jsx(Se,{className:"h-4 w-4"}),onClick:()=>{let s=P.node.key;s.startsWith("group_")&&(s=s.substring(6)),S.deleteGroup(s).then(()=>{R.refetch()})}}],r=({event:s,node:g})=>{g.key==="default"||g.key?.toString().startsWith("asset_")||(s.preventDefault(),F({pageX:s.pageX,pageY:s.pageY,node:g}))};return e.jsxs("div",{children:[e.jsx("div",{className:"px-4 pt-4 flex items-center justify-between",children:e.jsxs("div",{className:"font-medium text-[15px] flex items-center gap-2",children:[e.jsx(ae,{title:p("actions.new"),children:e.jsx(es,{className:"h-4 w-4 cursor-pointer",onClick:()=>{u(void 0),j(void 0),x(!0),C("add")}})}),e.jsx(ae,{title:p("assets.group_tip"),children:e.jsx("div",{className:"cursor-pointer",children:p("assets.group")})})]})}),e.jsx(we,{draggable:!0,blockNode:!0,onDrop:M,treeData:d,expandedKeys:w,onExpand:T,style:{backgroundColor:Y.isDark?Y.backgroundColor:"#F9FAFB",padding:8},selectedKeys:D,onSelect:s=>{K(s),s.length>0?a(s[0]):a("")},onRightClick:r}),P&&e.jsx(Ce,{menu:{items:Q},open:!0,trigger:["contextMenu"],onOpenChange:s=>!s&&F(null),overlayStyle:{position:"absolute",left:P.pageX,top:P.pageY},children:e.jsx("div",{style:{position:"fixed",top:P.pageY,left:P.pageX,width:0,height:0}})}),e.jsx(us,{op:m,open:h,confirmLoading:!1,node:b,handleCancel:()=>{x(!1),u(void 0)},handleOk:s=>{let g=[];s.key?g=i(s.key,d,s):(s.key="AG_"+Ge(),s.children=[],g=G(y,d,s)),console.log("newTreeData",y,s,g),E([...g]),x(!1),u(void 0)}})]})},ps=({assetIds:t,open:a,onClose:p})=>{let{t:d}=N();const[o,h]=c.useState([]);let[x,y]=c.useState([]),[u,b]=c.useState(""),j=re({queryKey:["assets/groups"],queryFn:S.getGroups});c.useEffect(()=>{a?j.refetch():b("")},[a]),c.useEffect(()=>{if(Array.isArray(j.data)&&j.data.length>0){h(j.data);let w=m(j.data);y(w)}},[j.data]);const m=w=>{let T=[];return Array.isArray(w)&&w.forEach(D=>{T.push(D.key),D.children&&(T=T.concat(m(D.children)))}),T},C=w=>{S.changeGroup({assetIds:t,groupId:w}).then(()=>{p()})};return e.jsx("div",{children:e.jsx(_e,{title:d("assets.change_group"),onClose:p,open:a,children:e.jsx(we,{blockNode:!0,treeData:o,expandedKeys:x,onExpand:y,selectedKeys:[u],style:{padding:4},onSelect:w=>{w&&w.length>0&&(b(w[0]),C(w[0]))}})})})},hs=({value:t,onChange:a})=>{const{t:p}=N(),{message:d}=ce.useApp(),[o,h]=c.useState(t||""),x=re({queryKey:["get-logos"],queryFn:S.getLogos});c.useEffect(()=>{h(t||"")},[t]);const y=m=>{h(m),a?.(m)},u=m=>m.size/1024/1024?!0:(d.error("Image must smaller than 1MB!"),!1),b=({file:m})=>{const C=new FileReader;m&&(C.readAsDataURL(m),C.onloadend=function(){const w=C.result;y(w)})},j=()=>e.jsx("div",{children:e.jsxs("div",{className:"grid grid-cols-8 gap-2",children:[Array.isArray(x.data)?x.data.map(m=>e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2",onClick:()=>y(m.data),children:e.jsx("img",{src:m.data,alt:m.name},m.name)},m.name)):[],e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-red-500 flex items-center justify-center",onClick:()=>y(""),children:e.jsx(Se,{className:"text-red-500 h-4 w-4"})}),e.jsx(ke,{maxCount:1,showUploadList:!1,customRequest:b,beforeUpload:u,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-blue-500 flex items-center justify-center",children:e.jsx(os,{className:"text-blue-500 h-4 w-4"})})})]})});return e.jsx(Z.Item,{name:"logo",label:p("assets.logo"),children:e.jsx(ve,{placement:"rightTop",content:j(),children:e.jsx("div",{className:"w-10 h-10 border border-dashed rounded-lg p-2 flex items-center justify-center cursor-pointer hover:border-blue-500",children:o?e.jsx("img",{className:"",src:o,alt:"logo"}):""})})})},ms=({accountType:t,protocol:a,assetId:p,copy:d,decrypted:o,setDecrypted:h,onViewSecret:x,formRef:y})=>{const{t:u}=N();if(t==="credential")return e.jsx(L,{label:u("menus.resource.submenus.credential"),name:"credentialId",rules:[{required:!0}],request:async()=>(await is.getAll()).map(j=>({label:j.name,value:j.id})),showSearch:!0});switch(t){case"password":return e.jsxs(e.Fragment,{children:[e.jsx(k,{label:u("menus.identity.submenus.user"),name:"username"}),e.jsx(k.Password,{label:u("assets.password"),name:"password",fieldProps:{placeholder:p&&!d?"******":void 0,iconRender:b=>b?e.jsx(Ae,{}):e.jsx(Te,{}),visibilityToggle:{onVisibleChange:b=>{p&&!d&&b&&!o&&x()}}}})]});case"private-key":return e.jsxs(e.Fragment,{children:[e.jsx(k,{label:u("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(de,{label:u("assets.private_key"),name:"privateKey",rules:[{required:!0}],fieldProps:{rows:4,allowClear:!0,placeholder:p&&!d?"******":void 0}}),e.jsx(Z.Item,{label:null,children:e.jsx("div",{className:"-mt-2",children:e.jsx(B,{color:"purple",variant:"filled",onClick:x,children:u("actions.view_private_key")})})}),e.jsx(k.Password,{label:u("assets.passphrase"),name:"passphrase",fieldProps:{placeholder:p&&!d?"******":void 0}})]});default:return null}},be=({protocol:t})=>{const{t:a}=N();return e.jsxs(e.Fragment,{children:[e.jsx(L,{name:["attrs","color-depth"],label:a("assets.color_depth"),fieldProps:{options:[{value:"",label:a("general.default")},{value:"8",label:"8"},{value:"16",label:"16"},{value:"24",label:"24"},{value:"32",label:"32"}]}}),e.jsx(U,{name:["attrs","force-lossless"],label:a("assets.force_lossless")}),e.jsx(oe,{name:["attrs","width"],label:a("assets.width"),fieldProps:{precision:0}}),e.jsx(oe,{name:["attrs","height"],label:a("assets.height"),fieldProps:{precision:0}}),t==="rdp"&&e.jsxs(e.Fragment,{children:[e.jsx(L,{name:["attrs","resize-method"],label:a("assets.resize_method"),fieldProps:{options:[{value:"",label:a("general.default")},{value:"display-update",label:a("assets.resize_methods.display_update")},{value:"reconnect",label:a("assets.resize_methods.reconnect")}]}}),e.jsx(V,{name:[["attrs","resize-method"]],children:({attrs:p})=>{const d=p?.["resize-method"];let o=a("assets.resize_method_extra");switch(d){case"display-update":o=a("assets.resize_methods.display_update_desc");break;case"reconnect":o=a("assets.resize_methods.reconnect_desc");break;default:o=a("assets.resize_method_extra")}return e.jsx("div",{style:{marginTop:"-16px",marginBottom:"16px",marginLeft:"calc(16.666667% + 8px)",fontSize:"12px",color:"#666"},children:o})}})]})]})},gs=()=>{const{t}=N();return e.jsxs(e.Fragment,{children:[e.jsx(L,{name:["attrs","security"],label:t("assets.security.mode"),fieldProps:{options:[{value:"any",label:t("assets.security.modes.any")},{value:"nla",label:t("assets.security.modes.nla")},{value:"nla-ext",label:t("assets.security.modes.nla_ext")},{value:"tls",label:t("assets.security.modes.tls")},{value:"vmconnect",label:t("assets.security.modes.vmconnect")},{value:"rdp",label:t("assets.security.modes.rdp")}]}}),e.jsx(V,{name:[["attrs","security"]],children:({attrs:a})=>{const p=a?.security;let d=t("assets.security.mode_extra");switch(p){case"any":d=t("assets.security.modes.any_desc");break;case"nla":d=t("assets.security.modes.nla_desc");break;case"nla-ext":d=t("assets.security.modes.nla_ext_desc");break;case"tls":d=t("assets.security.modes.tls_desc");break;case"vmconnect":d=t("assets.security.modes.vmconnect_desc");break;case"rdp":d=t("assets.security.modes.rdp_desc");break;default:d=t("assets.security.mode_extra")}return e.jsx("div",{style:{marginTop:"-16px",marginBottom:"16px",marginLeft:"calc(16.666667% + 8px)",fontSize:"12px",color:"#666"},children:d})}}),e.jsx(U,{name:["attrs","ignore-cert"],label:t("assets.security.ignore_cert"),extra:t("assets.security.ignore_cert_extra")}),e.jsx(U,{name:["attrs","cert-tofu"],label:t("assets.security.cert_tofu"),extra:t("assets.security.cert_tofu_extra")}),e.jsx(k,{name:["attrs","cert-fingerprints"],label:t("assets.security.cert_fingerprints"),extra:t("assets.security.cert_fingerprints_extra"),placeholder:t("assets.security.cert_fingerprints_placeholder")}),e.jsx(U,{name:["attrs","disable-auth"],label:t("assets.security.disable_auth"),extra:t("assets.security.disable_auth_extra")})]})},se=()=>{const{t}=N();return e.jsxs(e.Fragment,{children:[e.jsx(U,{name:["attrs","wol-enabled"],label:t("assets.wol.enabled"),tooltip:t("assets.wol.settings")}),e.jsx(V,{name:["attrs","wol-enabled"],children:a=>!a.attrs||!a.attrs["wol-enabled"]?null:e.jsxs(e.Fragment,{children:[e.jsx(k,{name:["attrs","wol-mac-addr"],label:t("assets.wol.mac_addr"),placeholder:t("assets.wol.mac_addr_placeholder"),rules:[{pattern:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,message:t("assets.wol.mac_addr_invalid")}]}),e.jsx(k,{name:["attrs","wol-broadcast"],label:t("assets.wol.broadcast"),placeholder:t("assets.wol.broadcast_placeholder"),initialValue:"255.255.255.255"}),e.jsx(oe,{name:["attrs","wol-wakeup-delay"],label:t("assets.wol.wakeup_delay"),placeholder:t("assets.wol.wakeup_delay_placeholder"),tooltip:t("assets.wol.wakeup_delay_tooltip"),min:0,max:300,initialValue:30,fieldProps:{addonAfter:t("general.second")}})]})})]})},xs=({protocol:t})=>{const{t:a}=N(),p=()=>[{key:"security_settings",label:a("assets.security.settings"),forceRender:!0,children:e.jsx(gs,{})},{key:"display_settings",label:a("assets.display_settings"),children:e.jsx(be,{protocol:"rdp"})},{key:"audio_settings",label:a("assets.audio_settings"),forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(U,{name:["attrs","disable-audio"],label:a("assets.disable_audio")}),e.jsx(U,{name:["attrs","enable-audio-input"],label:a("assets.enable_audio_input")})]})},{key:"domain",label:a("assets.rdp_domain"),forceRender:!0,children:e.jsx(k,{name:["attrs","domain"],label:a("assets.rdp_domain")})},{key:"PDU",label:"PDU",forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(k,{name:["attrs","preconnection-id"],label:a("assets.preconnection_id")}),e.jsx(k,{name:["attrs","preconnection-blob"],label:a("assets.preconnection_blob")})]})},{key:"remote-app",label:"Remote App",forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(k,{name:["attrs","remote-app"],label:a("assets.remote_app")}),e.jsx(k,{name:["attrs","remote-app-dir"],label:a("assets.remote_app_dir")}),e.jsx(k,{name:["attrs","remote-app-args"],label:a("assets.remote_app_args")})]})},{key:"rdp-drive",label:a("assets.rdp_drive"),forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(U,{name:["attrs","enable-drive"],checkedChildren:a("general.enabled"),unCheckedChildren:a("general.disabled"),label:a("assets.rdp_drive")}),e.jsx(L,{name:["attrs","drive-path"],label:a("assets.rdp_drive_path"),extra:a("assets.rdp_drive_path_extra"),request:async()=>(await cs.getShares()).map(u=>({label:u.name,value:u.id}))})]})},{key:"wol-settings",label:a("assets.wol.settings"),forceRender:!0,children:e.jsx(se,{})}],d=()=>[{key:"display_settings",label:a("assets.display_settings"),children:e.jsx(be,{protocol:"vnc"})},{key:"wol-settings",label:a("assets.wol.settings"),children:e.jsx(se,{})}],o=()=>[{key:"wol-settings",label:a("assets.wol.settings"),children:e.jsx(se,{})}],h=()=>[{label:a("assets.terminal_settings"),key:"terminal_settings",forceRender:!0,children:e.jsxs("div",{children:[e.jsx(he,{name:["attrs","disableAliveCheck"],label:a("assets.disable_alive_check"),extra:a("assets.disable_alive_check_extra")}),e.jsx(he,{name:["attrs","disableDetectOS"],label:a("assets.disable_detect_os"),extra:a("assets.disable_detect_os_extra")}),e.jsx(de,{label:a("assets.env"),name:["attrs","env"],placeholder:a("assets.env_placeholder"),fieldProps:{rows:4,allowClear:!0}})]})},{key:"wol-settings",label:a("assets.wol.settings"),forceRender:!0,children:e.jsx(se,{})}],x=()=>{switch(t){case"rdp":return p();case"vnc":return d();case"telnet":return o();case"ssh":return h();default:return[]}};return t?e.jsx(Pe,{items:x()}):null},ys={labelCol:{span:4},wrapperCol:{span:10}},fs=function({assetId:t,groupId:a,copy:p,onClose:d}){let{t:o}=N();const h=c.useRef(null);let[x,y]=c.useState(),[u,b]=c.useState(!1),[j,m]=c.useState(!1),[C,w]=c.useState(!1),{message:T}=ce.useApp();c.useEffect(()=>{Le.getSecurityTokenSupportTypes().then(r=>{w(r.length>0)})},[]);const D=async()=>{if(C)m(!0);else{const r=await S.decrypt(t,"");h.current?.setFieldsValue({password:r.password,privateKey:r.privateKey,passphrase:r.passphrase}),b(!0)}},K=async()=>{if(t){let r=await S.getById(t);return console.log("Asset data from API:",r),console.log("accessGatewayId:",r.accessGatewayId),Ue.hasText(r.logo)&&y(r.logo),p===!0&&(r.password="",r.privateKey="",r.passphrase="",r.alias=""),typeof r.tags=="string"&&r.tags?r.tags=r.tags.split(",").filter(s=>s):r.tags||(r.tags=[]),r.accessGatewayId&&r.accessGatewayId!=="-"&&(r.gatewayType="ssh",console.log("Setting gatewayType to ssh")),console.log("Asset data after processing:",r),r}return{protocol:"ssh",port:22,accountType:"password",attrs:{"disable-audio":!0,"enable-drive":!0,security:"any","ignore-cert":!0},groupId:a,tags:[]}};let R=ie({mutationFn:async r=>{r.logo=x,Array.isArray(r.tags)&&(r.tags=r.tags.join(",")),r.gatewayType||(r.accessGatewayId="-"),delete r.gatewayType,!p&&r.id?await S.updateById(r.id,r):(delete r.id,await S.create(r))},onSuccess:()=>{T.success(o("general.success")),d&&d()}});const z=async r=>{h.current?.validateFields().then(()=>{R.mutate(r)})},E=r=>r==="telnet"?null:e.jsxs(e.Fragment,{children:[e.jsx(me.Group,{label:o("assets.account_type"),name:"accountType",rules:[{required:!0}],options:[{label:o("assets.password"),value:"password"},{label:o("assets.private_key"),value:"private-key",disabled:r!=="ssh"},{label:o("menus.resource.submenus.credential"),value:"credential"}]}),e.jsx(V,{name:["accountType"],children:({accountType:s})=>e.jsx(ms,{accountType:s,protocol:r,assetId:t,copy:p,decrypted:u,setDecrypted:b,onViewSecret:D,formRef:h})})]}),M=r=>r.map(s=>{const g={title:s.title,value:s.key,children:[]};return s.children&&(g.children=M(s.children)),g}),{token:i}=Fe.useToken(),G={marginBottom:24,background:i.colorFillAlter,borderRadius:i.borderRadiusLG,border:"none"},P=async()=>(await ns.getAll()).map(s=>({label:s.name,value:s.id})),F=async()=>(await rs.getAll()).map(s=>({label:s.name,value:s.id})),Q=async()=>(await ls.getAll()).map(s=>({label:s.name,value:s.id}));return e.jsxs("div",{className:"px-4",children:[e.jsxs(je,{...ys,formRef:h,layout:"horizontal",request:K,onFinish:z,children:[e.jsx(k,{hidden:!0,name:"id"}),e.jsx(hs,{value:x,onChange:y}),e.jsx(k,{name:"name",label:o("general.name"),rules:[{required:!0}]}),e.jsx(k,{name:"alias",label:o("assets.alias"),placeholder:o("assets.alias_placeholder"),extra:o("assets.alias_tip"),rules:[{pattern:/^[A-Za-z][A-Za-z0-9_-]*$/,message:o("assets.alias_invalid")}]}),e.jsx(Ne,{label:o("assets.protocol"),name:"protocol",rules:[{required:!0}],valueEnum:{ssh:"SSH",rdp:"RDP",vnc:"VNC",telnet:"Telnet"},fieldProps:{onChange:r=>{let s=0;switch(r){case"rdp":s=3389;break;case"vnc":s=5900;break;case"ssh":s=22;break;case"telnet":s=23;break}h.current.setFieldsValue({port:s})}}}),e.jsx(Z.Item,{label:o("assets.addr"),className:"nesting-form-item",children:e.jsxs(ue.Compact,{block:!0,children:[e.jsx(Z.Item,{noStyle:!0,name:"ip",rules:[{required:!0}],children:e.jsx(Re,{style:{width:"70%"},placeholder:"127.0.0.1",onKeyDown:r=>{r.key===" "&&r.preventDefault()}})}),e.jsx(Z.Item,{noStyle:!0,name:"port",rules:[{required:!0}],children:e.jsx(qe,{style:{width:"30%"},min:1,max:65535,placeholder:"0"})})]})}),e.jsx(V,{name:["protocol"],children:({protocol:r})=>E(r)}),e.jsx(me.Group,{label:o("assets.gateway_type"),name:"gatewayType",options:[{label:o("assets.no_gateway"),value:""},{label:o("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:o("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:o("menus.gateway.submenus.gateway_group"),value:"group"}]}),e.jsx(V,{name:["gatewayType"],children:({gatewayType:r})=>(console.log("ProFormDependency gatewayType:",r),r==="ssh"?e.jsx(L,{label:o("menus.gateway.submenus.ssh_gateway"),name:"accessGatewayId",request:P,params:{gatewayType:r},showSearch:!0,rules:[{required:!0}],debounceTime:0,convertValue:s=>{if(s&&s!=="-")return{value:s,label:s}}},"ssh"):r==="agent"?e.jsx(L,{label:o("menus.gateway.submenus.agent_gateway"),name:"accessGatewayId",request:F,params:{gatewayType:r},showSearch:!0,rules:[{required:!0}],debounceTime:0,convertValue:s=>{if(s&&s!=="-")return{value:s,label:s}}},"agent"):r==="group"?e.jsx(L,{label:o("menus.gateway.submenus.gateway_group"),name:"accessGatewayId",request:Q,params:{gatewayType:r},showSearch:!0,rules:[{required:!0}],convertValue:s=>{if(s&&s!=="-")return{value:s,label:s}}},"group"):null)}),e.jsx(L,{label:o("assets.tags"),name:"tags",fieldProps:{mode:"tags"},request:async()=>(await S.getTags()).map(s=>({label:s,value:s})),showSearch:!0}),e.jsx(Ee,{name:"groupId",label:o("assets.group"),allowClear:!0,request:async()=>{let r=await S.getGroups();return M(r)},fieldProps:{treeDefaultExpandAll:!0}}),e.jsx(de,{label:o("general.remark"),name:"description",fieldProps:{rows:4}}),e.jsx(Oe,{defaultActiveKey:["advanced_setting"],ghost:!0,expandIcon:({isActive:r})=>e.jsx(De,{rotate:r?90:0}),style:{background:i.colorBgContainer},items:[{label:o("assets.advanced_setting"),key:"advanced_setting",children:e.jsx(V,{name:["protocol"],children:({protocol:r})=>e.jsx(xs,{protocol:r})}),style:G}]})]}),e.jsx(Me,{open:j,handleOk:async r=>{const s=await S.decrypt(t,r);h.current?.setFieldsValue({password:s.password,privateKey:s.privateKey,passphrase:s.passphrase}),b(!0),m(!1)},handleCancel:()=>m(!1)})]})},bs=({open:t,onClose:a,assetId:p,groupId:d,copy:o})=>{let{t:h}=N();const x=c.useRef(null);let y=h(p?"actions.edit":"actions.new");o&&(y=h("actions.copy"));const u=1200,b=()=>{const m=x.current?.querySelector("form");if(m){if(typeof m.requestSubmit=="function"){m.requestSubmit();return}m.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0}))}},j=e.jsxs(ue,{size:8,children:[e.jsx(B,{onClick:a,children:h("actions.cancel")}),e.jsx(B,{type:"primary",onClick:b,children:h("actions.save")})]});return e.jsx("div",{children:e.jsx(_e,{title:y,extra:j,onClose:a,open:t,width:u,destroyOnHidden:!0,children:e.jsx("div",{ref:x,children:e.jsx(fs,{assetId:p,groupId:d,copy:o,onClose:a})})})})},te=S;function js(){Qe(`${Xe()}/admin/assets/sample`)}const Ds=()=>{const{isMobile:t}=$e(),a=c.useRef(null);let[p,d]=Be();const o=c.useMemo(()=>{const n={};return p.forEach((l,f)=>{n[f]=l}),n},[p]),h=c.useCallback(n=>{const l={...o};Object.entries(n).forEach(([A,O])=>{O?l[A]=O:delete l[A]}),!(Object.keys(l).length===Object.keys(o).length&&Object.entries(l).every(([A,O])=>o[A]===O))&&d(l)},[o,d]);let[x,y]=c.useState([]),[u,b]=c.useState(p.get("groupId")||""),[j,m]=c.useState([]);const C=n=>{n.startsWith("group_")?b(n.substring(6)):n.startsWith("asset_")?b(""):b(n)};let[w,T]=c.useState([]),[D,K]=c.useState(!1),[Y,R]=c.useState(!1),[z,E]=c.useState({open:!1,assetId:void 0,groupId:void 0,copy:!1}),M=Ve(),{t:i}=N(),{modal:G,message:P}=ce.useApp();const[F,Q]=c.useState(()=>{const n=localStorage.getItem("asset-tree-collapsed");return n?JSON.parse(n):!1}),r=o.assetId;c.useEffect(()=>{localStorage.setItem("asset-tree-collapsed",JSON.stringify(F))},[F]),c.useEffect(()=>{r&&E(n=>n.open&&n.assetId===r?n:{open:!0,assetId:r,groupId:n.groupId,copy:!1})},[r]),c.useEffect(()=>{h({groupId:u||void 0}),a.current?.setPageInfo({pageSize:10,current:1}),a.current?.reload()},[h,u]);const s=re({queryKey:["tags"],queryFn:S.getTags,refetchOnWindowFocus:!1}),g=Array.isArray(s.data)?s.data.filter(n=>n!=="-"):[];c.useEffect(()=>{a.current?.setPageInfo({current:1}),a.current?.reload()},[w]);let I=ie({mutationFn:S.checking,onSuccess:()=>{a.current?.reload()}});ie({mutationFn:n=>S.updateSortPosition(n),onSuccess:()=>{P.success(i("general.success"))}});const _=e.jsxs(e.Fragment,{children:[e.jsx(J,{onClick:js,children:i("actions.download_import_sample")}),e.jsx("div",{children:i("assets.import_asset_tip")})]}),X=(n,l)=>{E({open:!0,assetId:n,groupId:l?.groupId,copy:l?.copy??!1}),h({assetId:n})},W=[{title:i("assets.sort"),dataIndex:"sort",width:60,className:"drag-visible",hideInSearch:!0,fixed:"left"},{title:i("assets.logo"),dataIndex:"logo",hideInSearch:!0,width:t?40:60,render:(n,l)=>l.logo?e.jsx("img",{src:l.logo,alt:l.name,className:"w-6 h-6"}):e.jsx("div",{className:ye("w-6 h-6 rounded flex items-center justify-center font-bold text-white text-xs",We(l.protocol)),children:l.name[0]}),fixed:"left"},{title:i("general.name"),dataIndex:"name",sorter:!0,hideInSearch:!0,width:t?120:200,render:(n,l)=>{const f=()=>X(l.id,{groupId:l.groupId});return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"cursor-pointer text-blue-600 hover:underline",onClick:f,children:n}),!t&&e.jsx(ae,{title:l.description,children:e.jsx("div",{className:"text-gray-500 line-clamp-1",children:l.description})})]})},fixed:"left"},{title:i("assets.alias"),dataIndex:"alias",sorter:!0,hideInSearch:!0,width:t?80:140,hideInTable:t},{title:i("assets.group"),dataIndex:"groupFullName",key:"groupFullName",width:t?80:150,render:(n,l)=>e.jsx("div",{className:ee("cursor-pointer hover:text-blue-500 underline",t&&"text-xs line-clamp-2"),onClick:()=>{K(!0),y([l.id])},children:n}),hideInSearch:!0},{title:i("assets.protocol"),dataIndex:"protocol",key:"protocol",sorter:!0,hideInSearch:!0,width:t?60:80,render:(n,l)=>e.jsx("span",{className:ye("rounded-md px-1.5 py-1 text-white font-bold",He(l.protocol)),style:{fontSize:t?8:9},children:l.protocol.toUpperCase()})},{title:i("assets.network"),dataIndex:"network",key:"network",hideInSearch:!0,width:t?90:160,hideInTable:t,render:(n,l)=>`${l.ip+":"+l.port}`},{title:i("assets.tags"),dataIndex:"tags",key:"tags",hideInSearch:!0,width:t?80:120,hideInTable:t,render:n=>{if(!n||n==="-")return;let l;if(Array.isArray(n))l=n;else if(typeof n=="string")l=n.split(",").filter(f=>f.trim());else return;return l.map(f=>e.jsx(ne,{children:f},f))}},{title:i("general.status"),dataIndex:"status",key:"status",sorter:!0,hideInSearch:!0,width:t?70:100,render:(n,l)=>{switch(n){case"testing":return e.jsx(le,{status:"processing",text:i("assets.testing")});case"active":return e.jsx(le,{status:"success",text:i("assets.active")});case"inactive":return e.jsx(ae,{title:l.statusText,children:e.jsx(le,{status:"error",text:i("general.offline")})})}}},{title:i("actions.label"),valueType:"option",key:"option",width:t?80:120,render:(n,l,f,q)=>{const A=l.id;return[e.jsx("a",{href:(()=>{let O={id:A,name:l.name,protocol:l.protocol,status:l.status,wolEnabled:l.attrs?.["wol-enabled"]||!1};return`/access?asset=${Ye(O)}`})(),target:"_blank",rel:"noopener noreferrer",className:"ant-btn ant-btn-default ant-btn-sm",children:t?i("assets.access").substring(0,2):i("assets.access")},`btn-access-${A}`),e.jsx(Ke,{onSelect:O=>{switch(O){case"copy":X(l.id,{groupId:l.groupId,copy:!0});break;case"edit":X(l.id,{groupId:l.groupId});break;case"view-authorised-asset":M(`/authorised-asset?assetId=${l.id}`);break;case"delete":G.confirm({title:i("general.confirm_delete"),okText:i("actions.delete"),onOk:async()=>{o.assetId===l.id&&(h({assetId:void 0}),E({open:!1,assetId:void 0,groupId:void 0,copy:!1})),await te.deleteById(l.id),a.current?.reload()}})}},menus:[{key:"copy",name:i("assets.copy")},{key:"edit",name:i("actions.edit")},{key:"view-authorised-asset",name:`${i("actions.authorized")}${i("menus.identity.submenus.user")}`},{key:"delete",name:i("actions.delete"),danger:!0}]},`perm-action-${A}`)]},fixed:"right"}],H=async n=>{let l=await te.importAsset(n),f=l.error,q=l.errorAssets;return f===""?G.success({title:i("assets.import_asset_success"),content:i("general.success")}):G.error({title:i("assets.import_asset_error"),content:e.jsxs("div",{children:[e.jsx("p",{children:i("assets.import_asset_error_title")}),e.jsx("hr",{className:"h-px my-2 bg-gray-200 border-0 dark:bg-gray-700"}),e.jsx("ul",{children:q.map(A=>e.jsxs("li",{children:[A.name,":",A.error]}))})]})}),a.current?.reload(),!1},$={columns:W,actionRef:a,request:async(n={},l,f)=>{let[q,A]=ds(l);q===""&&A===""&&(q="desc",A="sort");let O={pageIndex:n.current,pageSize:n.pageSize,order:q,field:A,keyword:n.keyword,tags:w.length>0?w.join(","):void 0,groupId:u},pe=await te.getPaging(O);return{data:pe.items,success:!0,total:pe.total}},dragSortKey:"sort",columnsState:{persistenceKey:"assets-table-v2",persistenceType:"localStorage"},rowSelection:{selections:[ge.SELECTION_ALL,ge.SELECTION_INVERT]},options:{search:!0},search:!1,tableAlertOptionRender:({selectedRowKeys:n})=>e.jsxs(ue,{size:16,children:[e.jsx(J,{onClick:()=>{y(n),K(!0)},children:i("assets.change_group")}),e.jsx(J,{onClick:()=>{y(n),R(!0)},children:i("assets.change_gateway")}),e.jsx(J,{onClick:()=>{I.mutate(n)},children:i("assets.conn_test")}),e.jsx(J,{danger:!0,onClick:async()=>{G.confirm({title:i("general.confirm_delete"),onOk:async()=>{await te.deleteById(n.join(",")),a.current?.reload()}})},children:i("actions.delete")})]}),rowKey:"id",pagination:{defaultPageSize:10,showSizeChanger:!t},dateFormatter:"string",headerTitle:i("menus.resource.submenus.asset"),toolBarRender:()=>[e.jsx(B,{onClick:()=>{M("/authorised-asset")},color:"purple",variant:"dashed",children:i("actions.authorized")},"auth"),u&&e.jsx(B,{onClick:()=>M(`/authorised-asset?assetGroupId=${u}`),children:`${i("authorised.label.asset_group")}${i("actions.authorized")}`},"group-auth"),e.jsx(B,{type:"primary",onClick:()=>{h({assetId:void 0}),E({open:!0,assetId:void 0,groupId:u,copy:!1})},children:i("actions.new")},"add"),e.jsx(ve,{content:_,children:e.jsx(ke,{maxCount:1,beforeUpload:H,showUploadList:!1,children:e.jsx(B,{children:i("assets.import")})})},"import")]},v=g.length===0?null:e.jsxs("div",{className:"flex items-center flex-wrap pt-4 pb-0 px-[24px]",children:[e.jsx("span",{className:"text-gray-500 text-sm",children:i("assets.tags")}),e.jsx(ne.CheckableTag,{checked:w.length===0,onChange:()=>T([]),children:i("general.all")}),g.map(n=>e.jsx(ne.CheckableTag,{checked:w.includes(n),onChange:l=>{T(f=>l?[...f,n]:f.filter(q=>q!==n))},children:n},n))]});return e.jsxs("div",{children:[e.jsx("div",{className:ee("px-4",t&&"px-2"),children:t?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mb-4 bg-white dark:bg-gray-800 rounded-lg",children:e.jsx(fe,{selected:u,onSelect:C})}),v,e.jsx(xe,{...$})]}):e.jsxs("div",{className:ee("grid gap-4 transition-all duration-300",F?"grid-cols-[48px_1fr]":"grid-cols-[240px_1fr]"),children:[e.jsxs("div",{className:"relative rounded-md bg-gray-50 dark:bg-[#141414]",children:[!F&&e.jsx(fe,{selected:u,onSelect:C}),e.jsx("div",{className:ee("absolute top-4 bg-gray-100 p-1.5 rounded dark:bg-gray-800 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors",F?"left-2":"right-4"),onClick:()=>Q(!F),children:F?e.jsx(ss,{className:"w-4 h-4"}):e.jsx(ts,{className:"w-4 h-4"})})]}),e.jsxs("div",{className:"overflow-hidden",children:[v,e.jsx(xe,{...$,scroll:{x:"max-content"}})]})]})}),e.jsx(ps,{assetIds:x,open:D,onClose:()=>{K(!1),y([]),a.current?.reload()}}),e.jsx(as,{type:"asset",resourceIds:x,open:Y,onClose:()=>{R(!1),y([]),a.current?.reload()}}),e.jsx(bs,{open:z.open,onClose:()=>{h({assetId:void 0}),E({open:!1,assetId:void 0,groupId:void 0,copy:!1}),a.current?.reload()},assetId:z.assetId,groupId:z.groupId,copy:z.copy})]})};export{Ds as default}; diff --git a/server/resource/build/assets/AssetPage-CInWNumO.js b/server/resource/build/assets/AssetPage-CInWNumO.js deleted file mode 100644 index b35a1228a..000000000 --- a/server/resource/build/assets/AssetPage-CInWNumO.js +++ /dev/null @@ -1 +0,0 @@ -import{f as d,S as e,U as Ie,aK as je,aT as k,b2 as ae,aP as we,aC as Ce,au as _e,aI as de,bs as Z,bJ as ve,bK as ke,aL as L,aU as ce,av as B,c0 as Te,bl as Ae,bO as U,aM as oe,bH as V,b4 as Pe,aN as he,T as Fe,c1 as Ne,a_ as ue,aO as Re,bY as qe,aV as me,bA as Ee,c2 as Oe,c3 as Ke,bi as ne,c4 as le,bI as De,bp as ge,bz as xe}from"./antd-Afm2kNt7.js";import{u as N,d as ze,e as re,T as Se,B as Ge,g as Le,h as ie,M as Me,m as Ue,w as $e,b as Be,a as Ve,C as We,x as ee,E as He,F as Ye,G as Qe,H as Xe}from"./index-BdfI9ZEv.js";import{a as S}from"./asset-api-CdGgZMNY.js";import{N as J}from"./NButton-DoPcvKBF.js";import{P as Je,C as Ze,a as es,b as ss,c as ts,A as as}from"./AssetGatewayChoose-DPYRzxwL.js";import{c as ye}from"./charts-DWBuA5Za.js";import{a as rs}from"./agent-gateway-api-C1FfOeZ1.js";import{s as ns}from"./ssh-gateway-api-CfWrAhC0.js";import{g as ls}from"./gateway-group-api-Ckni5YAK.js";import{U as os}from"./upload-D2Oc5RCX.js";import{c as is}from"./credential-api-Byw61SQu.js";import{s as ds}from"./storage-api-BOyaRg9s.js";import{g as cs}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";import"./website-api-rU4LiJu6.js";const us=({open:t,handleOk:a,handleCancel:p,confirmLoading:c,op:o,node:h={title:"",key:"",children:[]}})=>{const x=d.useRef(null);let{t:y}=N();const u=d.useRef(null);d.useEffect(()=>{t&&setTimeout(()=>{u.current?.focus()},300)},[t]);const b=async()=>h,j=()=>{x.current?.validateFields().then(async m=>{a(m)})};return e.jsx("div",{children:e.jsx(Ie,{title:y(o==="edit"?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{j()},onCancel:()=>{p()},confirmLoading:c,children:e.jsxs(je,{formRef:x,request:b,submitter:!1,autoFocus:!0,children:[e.jsx(k,{hidden:!0,name:"key"}),e.jsx(k,{name:"title",label:y("general.name"),rules:[{required:!0}],fieldProps:{ref:u,onPressEnter:m=>{j()}}})]})})})},fe=({selected:t,onSelect:a})=>{let{t:p}=N();const[c,o]=d.useState([]);let[h,x]=d.useState(!1),[y,u]=d.useState(),[b,j]=d.useState(),[m,C]=d.useState(),[w,A]=d.useState([]),[K,D]=d.useState([]);const[Y]=ze();let R=re({queryKey:["assets/tree"],queryFn:S.getGroups});d.useEffect(()=>{D(t?["group_"+t]:[])},[t]),d.useEffect(()=>{if(Array.isArray(R.data)&&R.data.length>0){o(R.data);let s=z(R.data);A(s)}},[R.data]);const z=s=>{let g=[];return Array.isArray(s)&&s.forEach(I=>{g.push(I.key),I.children&&(g=g.concat(z(I.children)))}),g},E=s=>{S.setGroups(s).then(()=>{o(s)})},M=s=>{const g=s.node.key,I=s.dragNode.key;if(I==="default")return;const _=s.node.pos.split("-"),X=s.dropPosition-Number(_[_.length-1]),W=(v,n,l)=>{for(let f=0;f{l.splice(n,1),$=v}),!s.dropToGap)W(H,g,v=>{v.children=v.children||[],v.children.unshift($)});else{let v=[],n;W(H,g,(l,f,q)=>{v=q,n=f}),X===-1?v.splice(n,0,$):v.splice(n+1,0,$)}E(H)},i=(s,g,I)=>g.map(_=>_.key===s?(_.title=I.title,_):(_.children&&(_.children=i(s,_.children,I)),_)),G=(s,g,I)=>s?g.map(_=>(_.key===s&&(_.children=_.children?[..._.children,I]:[I]),_.children&&(_.children=G(s,_.children,I)),_)):(g.push(I),g),[P,F]=d.useState(null),Q=[{label:p("actions.new"),key:"add",icon:e.jsx(Je,{className:"h-4 w-4"}),onClick:()=>{u(P.node.key),j(void 0),x(!0),C("add")}},{label:p("actions.edit"),key:"edit",icon:e.jsx(Ze,{className:"h-4 w-4"}),onClick:()=>{u(P.node.key),j(P.node),x(!0),C("edit")}},{label:p("actions.delete"),key:"delete",danger:!0,icon:e.jsx(Se,{className:"h-4 w-4"}),onClick:()=>{let s=P.node.key;s.startsWith("group_")&&(s=s.substring(6)),S.deleteGroup(s).then(()=>{R.refetch()})}}],r=({event:s,node:g})=>{g.key==="default"||g.key?.toString().startsWith("asset_")||(s.preventDefault(),F({pageX:s.pageX,pageY:s.pageY,node:g}))};return e.jsxs("div",{children:[e.jsx("div",{className:"px-4 pt-4 flex items-center justify-between",children:e.jsxs("div",{className:"font-medium text-[15px] flex items-center gap-2",children:[e.jsx(ae,{title:p("actions.new"),children:e.jsx(es,{className:"h-4 w-4 cursor-pointer",onClick:()=>{u(void 0),j(void 0),x(!0),C("add")}})}),e.jsx(ae,{title:p("assets.group_tip"),children:e.jsx("div",{className:"cursor-pointer",children:p("assets.group")})})]})}),e.jsx(we,{draggable:!0,blockNode:!0,onDrop:M,treeData:c,expandedKeys:w,onExpand:A,style:{backgroundColor:Y.isDark?Y.backgroundColor:"#F9FAFB",padding:8},selectedKeys:K,onSelect:s=>{D(s),s.length>0?a(s[0]):a("")},onRightClick:r}),P&&e.jsx(Ce,{menu:{items:Q},open:!0,trigger:["contextMenu"],onOpenChange:s=>!s&&F(null),overlayStyle:{position:"absolute",left:P.pageX,top:P.pageY},children:e.jsx("div",{style:{position:"fixed",top:P.pageY,left:P.pageX,width:0,height:0}})}),e.jsx(us,{op:m,open:h,confirmLoading:!1,node:b,handleCancel:()=>{x(!1),u(void 0)},handleOk:s=>{let g=[];s.key?g=i(s.key,c,s):(s.key="AG_"+Ge(),s.children=[],g=G(y,c,s)),console.log("newTreeData",y,s,g),E([...g]),x(!1),u(void 0)}})]})},ps=({assetIds:t,open:a,onClose:p})=>{let{t:c}=N();const[o,h]=d.useState([]);let[x,y]=d.useState([]),[u,b]=d.useState(""),j=re({queryKey:["assets/groups"],queryFn:S.getGroups});d.useEffect(()=>{a?j.refetch():b("")},[a]),d.useEffect(()=>{if(Array.isArray(j.data)&&j.data.length>0){h(j.data);let w=m(j.data);y(w)}},[j.data]);const m=w=>{let A=[];return Array.isArray(w)&&w.forEach(K=>{A.push(K.key),K.children&&(A=A.concat(m(K.children)))}),A},C=w=>{S.changeGroup({assetIds:t,groupId:w}).then(()=>{p()})};return e.jsx("div",{children:e.jsx(_e,{title:c("assets.change_group"),onClose:p,open:a,children:e.jsx(we,{blockNode:!0,treeData:o,expandedKeys:x,onExpand:y,selectedKeys:[u],style:{padding:4},onSelect:w=>{w&&w.length>0&&(b(w[0]),C(w[0]))}})})})},hs=({value:t,onChange:a})=>{const{t:p}=N(),{message:c}=de.useApp(),[o,h]=d.useState(t||""),x=re({queryKey:["get-logos"],queryFn:S.getLogos});d.useEffect(()=>{h(t||"")},[t]);const y=m=>{h(m),a?.(m)},u=m=>m.size/1024/1024?!0:(c.error("Image must smaller than 1MB!"),!1),b=({file:m})=>{const C=new FileReader;m&&(C.readAsDataURL(m),C.onloadend=function(){const w=C.result;y(w)})},j=()=>e.jsx("div",{children:e.jsxs("div",{className:"grid grid-cols-8 gap-2",children:[Array.isArray(x.data)?x.data.map(m=>e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2",onClick:()=>y(m.data),children:e.jsx("img",{src:m.data,alt:m.name},m.name)},m.name)):[],e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-red-500 flex items-center justify-center",onClick:()=>y(""),children:e.jsx(Se,{className:"text-red-500 h-4 w-4"})}),e.jsx(ke,{maxCount:1,showUploadList:!1,customRequest:b,beforeUpload:u,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-blue-500 flex items-center justify-center",children:e.jsx(os,{className:"text-blue-500 h-4 w-4"})})})]})});return e.jsx(Z.Item,{name:"logo",label:p("assets.logo"),children:e.jsx(ve,{placement:"rightTop",content:j(),children:e.jsx("div",{className:"w-10 h-10 border border-dashed rounded-lg p-2 flex items-center justify-center cursor-pointer hover:border-blue-500",children:o?e.jsx("img",{className:"",src:o,alt:"logo"}):""})})})},ms=({accountType:t,protocol:a,assetId:p,copy:c,decrypted:o,setDecrypted:h,onViewSecret:x,formRef:y})=>{const{t:u}=N();if(t==="credential")return e.jsx(L,{label:u("menus.resource.submenus.credential"),name:"credentialId",rules:[{required:!0}],request:async()=>(await is.getAll()).map(j=>({label:j.name,value:j.id})),showSearch:!0});switch(t){case"password":return e.jsxs(e.Fragment,{children:[e.jsx(k,{label:u("menus.identity.submenus.user"),name:"username"}),e.jsx(k.Password,{label:u("assets.password"),name:"password",fieldProps:{placeholder:p&&!c?"******":void 0,iconRender:b=>b?e.jsx(Te,{}):e.jsx(Ae,{}),visibilityToggle:{onVisibleChange:b=>{p&&!c&&b&&!o&&x()}}}})]});case"private-key":return e.jsxs(e.Fragment,{children:[e.jsx(k,{label:u("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(ce,{label:u("assets.private_key"),name:"privateKey",rules:[{required:!0}],fieldProps:{rows:4,allowClear:!0,placeholder:p&&!c?"******":void 0}}),e.jsx(Z.Item,{label:null,children:e.jsx("div",{className:"-mt-2",children:e.jsx(B,{color:"purple",variant:"filled",onClick:x,children:u("actions.view_private_key")})})}),e.jsx(k.Password,{label:u("assets.passphrase"),name:"passphrase",fieldProps:{placeholder:p&&!c?"******":void 0}})]});default:return null}},be=({protocol:t})=>{const{t:a}=N();return e.jsxs(e.Fragment,{children:[e.jsx(L,{name:["attrs","color-depth"],label:a("assets.color_depth"),fieldProps:{options:[{value:"",label:a("general.default")},{value:"8",label:"8"},{value:"16",label:"16"},{value:"24",label:"24"},{value:"32",label:"32"}]}}),e.jsx(U,{name:["attrs","force-lossless"],label:a("assets.force_lossless")}),e.jsx(oe,{name:["attrs","width"],label:a("assets.width"),fieldProps:{precision:0}}),e.jsx(oe,{name:["attrs","height"],label:a("assets.height"),fieldProps:{precision:0}}),t==="rdp"&&e.jsxs(e.Fragment,{children:[e.jsx(L,{name:["attrs","resize-method"],label:a("assets.resize_method"),fieldProps:{options:[{value:"",label:a("general.default")},{value:"display-update",label:a("assets.resize_methods.display_update")},{value:"reconnect",label:a("assets.resize_methods.reconnect")}]}}),e.jsx(V,{name:[["attrs","resize-method"]],children:({attrs:p})=>{const c=p?.["resize-method"];let o=a("assets.resize_method_extra");switch(c){case"display-update":o=a("assets.resize_methods.display_update_desc");break;case"reconnect":o=a("assets.resize_methods.reconnect_desc");break;default:o=a("assets.resize_method_extra")}return e.jsx("div",{style:{marginTop:"-16px",marginBottom:"16px",marginLeft:"calc(16.666667% + 8px)",fontSize:"12px",color:"#666"},children:o})}})]})]})},gs=()=>{const{t}=N();return e.jsxs(e.Fragment,{children:[e.jsx(L,{name:["attrs","security"],label:t("assets.security.mode"),fieldProps:{options:[{value:"any",label:t("assets.security.modes.any")},{value:"nla",label:t("assets.security.modes.nla")},{value:"nla-ext",label:t("assets.security.modes.nla_ext")},{value:"tls",label:t("assets.security.modes.tls")},{value:"vmconnect",label:t("assets.security.modes.vmconnect")},{value:"rdp",label:t("assets.security.modes.rdp")}]}}),e.jsx(V,{name:[["attrs","security"]],children:({attrs:a})=>{const p=a?.security;let c=t("assets.security.mode_extra");switch(p){case"any":c=t("assets.security.modes.any_desc");break;case"nla":c=t("assets.security.modes.nla_desc");break;case"nla-ext":c=t("assets.security.modes.nla_ext_desc");break;case"tls":c=t("assets.security.modes.tls_desc");break;case"vmconnect":c=t("assets.security.modes.vmconnect_desc");break;case"rdp":c=t("assets.security.modes.rdp_desc");break;default:c=t("assets.security.mode_extra")}return e.jsx("div",{style:{marginTop:"-16px",marginBottom:"16px",marginLeft:"calc(16.666667% + 8px)",fontSize:"12px",color:"#666"},children:c})}}),e.jsx(U,{name:["attrs","ignore-cert"],label:t("assets.security.ignore_cert"),extra:t("assets.security.ignore_cert_extra")}),e.jsx(U,{name:["attrs","cert-tofu"],label:t("assets.security.cert_tofu"),extra:t("assets.security.cert_tofu_extra")}),e.jsx(k,{name:["attrs","cert-fingerprints"],label:t("assets.security.cert_fingerprints"),extra:t("assets.security.cert_fingerprints_extra"),placeholder:t("assets.security.cert_fingerprints_placeholder")}),e.jsx(U,{name:["attrs","disable-auth"],label:t("assets.security.disable_auth"),extra:t("assets.security.disable_auth_extra")})]})},se=()=>{const{t}=N();return e.jsxs(e.Fragment,{children:[e.jsx(U,{name:["attrs","wol-enabled"],label:t("assets.wol.enabled"),tooltip:t("assets.wol.settings")}),e.jsx(V,{name:["attrs","wol-enabled"],children:a=>!a.attrs||!a.attrs["wol-enabled"]?null:e.jsxs(e.Fragment,{children:[e.jsx(k,{name:["attrs","wol-mac-addr"],label:t("assets.wol.mac_addr"),placeholder:t("assets.wol.mac_addr_placeholder"),rules:[{pattern:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,message:t("assets.wol.mac_addr_invalid")}]}),e.jsx(k,{name:["attrs","wol-broadcast"],label:t("assets.wol.broadcast"),placeholder:t("assets.wol.broadcast_placeholder"),initialValue:"255.255.255.255"}),e.jsx(oe,{name:["attrs","wol-wakeup-delay"],label:t("assets.wol.wakeup_delay"),placeholder:t("assets.wol.wakeup_delay_placeholder"),tooltip:t("assets.wol.wakeup_delay_tooltip"),min:0,max:300,initialValue:30,fieldProps:{addonAfter:t("general.second")}})]})})]})},xs=({protocol:t})=>{const{t:a}=N(),p=()=>[{key:"security_settings",label:a("assets.security.settings"),forceRender:!0,children:e.jsx(gs,{})},{key:"display_settings",label:a("assets.display_settings"),children:e.jsx(be,{protocol:"rdp"})},{key:"audio_settings",label:a("assets.audio_settings"),forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(U,{name:["attrs","disable-audio"],label:a("assets.disable_audio")}),e.jsx(U,{name:["attrs","enable-audio-input"],label:a("assets.enable_audio_input")})]})},{key:"domain",label:a("assets.rdp_domain"),forceRender:!0,children:e.jsx(k,{name:["attrs","domain"],label:a("assets.rdp_domain")})},{key:"PDU",label:"PDU",forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(k,{name:["attrs","preconnection-id"],label:a("assets.preconnection_id")}),e.jsx(k,{name:["attrs","preconnection-blob"],label:a("assets.preconnection_blob")})]})},{key:"remote-app",label:"Remote App",forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(k,{name:["attrs","remote-app"],label:a("assets.remote_app")}),e.jsx(k,{name:["attrs","remote-app-dir"],label:a("assets.remote_app_dir")}),e.jsx(k,{name:["attrs","remote-app-args"],label:a("assets.remote_app_args")})]})},{key:"rdp-drive",label:a("assets.rdp_drive"),forceRender:!0,children:e.jsxs(e.Fragment,{children:[e.jsx(U,{name:["attrs","enable-drive"],checkedChildren:a("general.enabled"),unCheckedChildren:a("general.disabled"),label:a("assets.rdp_drive")}),e.jsx(L,{name:["attrs","drive-path"],label:a("assets.rdp_drive_path"),extra:a("assets.rdp_drive_path_extra"),request:async()=>(await ds.getShares()).map(u=>({label:u.name,value:u.id}))})]})},{key:"wol-settings",label:a("assets.wol.settings"),forceRender:!0,children:e.jsx(se,{})}],c=()=>[{key:"display_settings",label:a("assets.display_settings"),children:e.jsx(be,{protocol:"vnc"})},{key:"wol-settings",label:a("assets.wol.settings"),children:e.jsx(se,{})}],o=()=>[{key:"wol-settings",label:a("assets.wol.settings"),children:e.jsx(se,{})}],h=()=>[{label:a("assets.terminal_settings"),key:"terminal_settings",forceRender:!0,children:e.jsxs("div",{children:[e.jsx(he,{name:["attrs","disableAliveCheck"],label:a("assets.disable_alive_check"),extra:a("assets.disable_alive_check_extra")}),e.jsx(he,{name:["attrs","disableDetectOS"],label:a("assets.disable_detect_os"),extra:a("assets.disable_detect_os_extra")}),e.jsx(ce,{label:a("assets.env"),name:["attrs","env"],placeholder:a("assets.env_placeholder"),fieldProps:{rows:4,allowClear:!0}})]})},{key:"wol-settings",label:a("assets.wol.settings"),forceRender:!0,children:e.jsx(se,{})}],x=()=>{switch(t){case"rdp":return p();case"vnc":return c();case"telnet":return o();case"ssh":return h();default:return[]}};return t?e.jsx(Pe,{items:x()}):null},ys={labelCol:{span:4},wrapperCol:{span:10}},fs=function({assetId:t,groupId:a,copy:p,onClose:c}){let{t:o}=N();const h=d.useRef(null);let[x,y]=d.useState(),[u,b]=d.useState(!1),[j,m]=d.useState(!1),[C,w]=d.useState(!1),{message:A}=de.useApp();d.useEffect(()=>{Le.getSecurityTokenSupportTypes().then(r=>{w(r.length>0)})},[]);const K=async()=>{if(C)m(!0);else{const r=await S.decrypt(t,"");h.current?.setFieldsValue({password:r.password,privateKey:r.privateKey,passphrase:r.passphrase}),b(!0)}},D=async()=>{if(t){let r=await S.getById(t);return Ue.hasText(r.logo)&&y(r.logo),p===!0&&(r.password="",r.privateKey="",r.passphrase="",r.alias=""),typeof r.tags=="string"&&r.tags?r.tags=r.tags.split(",").filter(s=>s):r.tags||(r.tags=[]),r.accessGatewayId&&r.accessGatewayId!=="-"&&(r.gatewayType="ssh"),r}return{protocol:"ssh",port:22,accountType:"password",attrs:{"disable-audio":!0,"enable-drive":!0,security:"any","ignore-cert":!0},groupId:a,tags:[]}};let R=ie({mutationFn:async r=>{r.logo=x,Array.isArray(r.tags)&&(r.tags=r.tags.join(",")),r.gatewayType||(r.accessGatewayId="-"),delete r.gatewayType,!p&&r.id?await S.updateById(r.id,r):(delete r.id,await S.create(r))},onSuccess:()=>{A.success(o("general.success")),c&&c()}});const z=async r=>{h.current?.validateFields().then(()=>{R.mutate(r)})},E=r=>r==="telnet"?null:e.jsxs(e.Fragment,{children:[e.jsx(me.Group,{label:o("assets.account_type"),name:"accountType",rules:[{required:!0}],options:[{label:o("assets.password"),value:"password"},{label:o("assets.private_key"),value:"private-key",disabled:r!=="ssh"},{label:o("menus.resource.submenus.credential"),value:"credential"}]}),e.jsx(V,{name:["accountType"],children:({accountType:s})=>e.jsx(ms,{accountType:s,protocol:r,assetId:t,copy:p,decrypted:u,setDecrypted:b,onViewSecret:K,formRef:h})})]}),M=r=>r.map(s=>{const g={title:s.title,value:s.key,children:[]};return s.children&&(g.children=M(s.children)),g}),{token:i}=Fe.useToken(),G={marginBottom:24,background:i.colorFillAlter,borderRadius:i.borderRadiusLG,border:"none"},P=async()=>(await ns.getAll()).map(s=>({label:s.name,value:s.id})),F=async()=>(await rs.getAll()).map(s=>({label:s.name,value:s.id})),Q=async()=>(await ls.getAll()).map(s=>({label:s.name,value:s.id}));return e.jsxs("div",{className:"px-4",children:[e.jsxs(je,{...ys,formRef:h,layout:"horizontal",request:D,onFinish:z,children:[e.jsx(k,{hidden:!0,name:"id"}),e.jsx(hs,{value:x,onChange:y}),e.jsx(k,{name:"name",label:o("general.name"),rules:[{required:!0}]}),e.jsx(k,{name:"alias",label:o("assets.alias"),placeholder:o("assets.alias_placeholder"),extra:o("assets.alias_tip"),rules:[{pattern:/^[A-Za-z][A-Za-z0-9_-]*$/,message:o("assets.alias_invalid")}]}),e.jsx(Ne,{label:o("assets.protocol"),name:"protocol",rules:[{required:!0}],valueEnum:{ssh:"SSH",rdp:"RDP",vnc:"VNC",telnet:"Telnet"},fieldProps:{onChange:r=>{let s=0;switch(r){case"rdp":s=3389;break;case"vnc":s=5900;break;case"ssh":s=22;break;case"telnet":s=23;break}h.current.setFieldsValue({port:s})}}}),e.jsx(Z.Item,{label:o("assets.addr"),className:"nesting-form-item",children:e.jsxs(ue.Compact,{block:!0,children:[e.jsx(Z.Item,{noStyle:!0,name:"ip",rules:[{required:!0}],children:e.jsx(Re,{style:{width:"70%"},placeholder:"127.0.0.1",onKeyDown:r=>{r.key===" "&&r.preventDefault()}})}),e.jsx(Z.Item,{noStyle:!0,name:"port",rules:[{required:!0}],children:e.jsx(qe,{style:{width:"30%"},min:1,max:65535,placeholder:"0"})})]})}),e.jsx(V,{name:["protocol"],children:({protocol:r})=>E(r)}),e.jsx(me.Group,{label:o("assets.gateway_type"),name:"gatewayType",options:[{label:o("assets.no_gateway"),value:""},{label:o("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:o("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:o("menus.gateway.submenus.gateway_group"),value:"group"}]}),e.jsx(V,{name:["gatewayType"],children:({gatewayType:r})=>r==="ssh"?e.jsx(L,{label:o("menus.gateway.submenus.ssh_gateway"),name:"accessGatewayId",request:P,params:{gatewayType:r},showSearch:!0,rules:[{required:!0}],debounceTime:0,convertValue:s=>{if(s&&s!=="-")return{value:s,label:s}}},"ssh"):r==="agent"?e.jsx(L,{label:o("menus.gateway.submenus.agent_gateway"),name:"accessGatewayId",request:F,params:{gatewayType:r},showSearch:!0,rules:[{required:!0}],debounceTime:0,convertValue:s=>{if(s&&s!=="-")return{value:s,label:s}}},"agent"):r==="group"?e.jsx(L,{label:o("menus.gateway.submenus.gateway_group"),name:"accessGatewayId",request:Q,params:{gatewayType:r},showSearch:!0,rules:[{required:!0}],convertValue:s=>{if(s&&s!=="-")return{value:s,label:s}}},"group"):null}),e.jsx(L,{label:o("assets.tags"),name:"tags",fieldProps:{mode:"tags"},request:async()=>(await S.getTags()).map(s=>({label:s,value:s})),showSearch:!0}),e.jsx(Ee,{name:"groupId",label:o("assets.group"),allowClear:!0,request:async()=>{let r=await S.getGroups();return M(r)},fieldProps:{treeDefaultExpandAll:!0}}),e.jsx(ce,{label:o("general.remark"),name:"description",fieldProps:{rows:4}}),e.jsx(Oe,{defaultActiveKey:["advanced_setting"],ghost:!0,expandIcon:({isActive:r})=>e.jsx(Ke,{rotate:r?90:0}),style:{background:i.colorBgContainer},items:[{label:o("assets.advanced_setting"),key:"advanced_setting",children:e.jsx(V,{name:["protocol"],children:({protocol:r})=>e.jsx(xs,{protocol:r})}),style:G}]})]}),e.jsx(Me,{open:j,handleOk:async r=>{const s=await S.decrypt(t,r);h.current?.setFieldsValue({password:s.password,privateKey:s.privateKey,passphrase:s.passphrase}),b(!0),m(!1)},handleCancel:()=>m(!1)})]})},bs=({open:t,onClose:a,assetId:p,groupId:c,copy:o})=>{let{t:h}=N();const x=d.useRef(null);let y=h(p?"actions.edit":"actions.new");o&&(y=h("actions.copy"));const u=1200,b=()=>{const m=x.current?.querySelector("form");if(m){if(typeof m.requestSubmit=="function"){m.requestSubmit();return}m.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0}))}},j=e.jsxs(ue,{size:8,children:[e.jsx(B,{onClick:a,children:h("actions.cancel")}),e.jsx(B,{type:"primary",onClick:b,children:h("actions.save")})]});return e.jsx("div",{children:e.jsx(_e,{title:y,extra:j,onClose:a,open:t,width:u,destroyOnHidden:!0,children:e.jsx("div",{ref:x,children:e.jsx(fs,{assetId:p,groupId:c,copy:o,onClose:a})})})})},te=S;function js(){Qe(`${Xe()}/admin/assets/sample`)}const Ks=()=>{const{isMobile:t}=$e(),a=d.useRef(null);let[p,c]=Be();const o=d.useMemo(()=>{const n={};return p.forEach((l,f)=>{n[f]=l}),n},[p]),h=d.useCallback(n=>{const l={...o};Object.entries(n).forEach(([T,O])=>{O?l[T]=O:delete l[T]}),!(Object.keys(l).length===Object.keys(o).length&&Object.entries(l).every(([T,O])=>o[T]===O))&&c(l)},[o,c]);let[x,y]=d.useState([]),[u,b]=d.useState(p.get("groupId")||""),[j,m]=d.useState([]);const C=n=>{n.startsWith("group_")?b(n.substring(6)):n.startsWith("asset_")?b(""):b(n)};let[w,A]=d.useState([]),[K,D]=d.useState(!1),[Y,R]=d.useState(!1),[z,E]=d.useState({open:!1,assetId:void 0,groupId:void 0,copy:!1}),M=Ve(),{t:i}=N(),{modal:G,message:P}=de.useApp();const[F,Q]=d.useState(()=>{const n=localStorage.getItem("asset-tree-collapsed");return n?JSON.parse(n):!1}),r=o.assetId;d.useEffect(()=>{localStorage.setItem("asset-tree-collapsed",JSON.stringify(F))},[F]),d.useEffect(()=>{r&&E(n=>n.open&&n.assetId===r?n:{open:!0,assetId:r,groupId:n.groupId,copy:!1})},[r]),d.useEffect(()=>{h({groupId:u||void 0}),a.current?.setPageInfo({pageSize:10,current:1}),a.current?.reload()},[h,u]);const s=re({queryKey:["tags"],queryFn:S.getTags,refetchOnWindowFocus:!1}),g=Array.isArray(s.data)?s.data.filter(n=>n!=="-"):[];d.useEffect(()=>{a.current?.setPageInfo({current:1}),a.current?.reload()},[w]);let I=ie({mutationFn:S.checking,onSuccess:()=>{a.current?.reload()}});ie({mutationFn:n=>S.updateSortPosition(n),onSuccess:()=>{P.success(i("general.success"))}});const _=e.jsxs(e.Fragment,{children:[e.jsx(J,{onClick:js,children:i("actions.download_import_sample")}),e.jsx("div",{children:i("assets.import_asset_tip")})]}),X=(n,l)=>{E({open:!0,assetId:n,groupId:l?.groupId,copy:l?.copy??!1}),h({assetId:n})},W=[{title:i("assets.sort"),dataIndex:"sort",width:60,className:"drag-visible",hideInSearch:!0,fixed:"left"},{title:i("assets.logo"),dataIndex:"logo",hideInSearch:!0,width:t?40:60,render:(n,l)=>l.logo?e.jsx("img",{src:l.logo,alt:l.name,className:"w-6 h-6"}):e.jsx("div",{className:ye("w-6 h-6 rounded flex items-center justify-center font-bold text-white text-xs",We(l.protocol)),children:l.name[0]}),fixed:"left"},{title:i("general.name"),dataIndex:"name",sorter:!0,hideInSearch:!0,width:t?120:200,render:(n,l)=>{const f=()=>X(l.id,{groupId:l.groupId});return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"cursor-pointer text-blue-600 hover:underline",onClick:f,children:n}),!t&&e.jsx(ae,{title:l.description,children:e.jsx("div",{className:"text-gray-500 line-clamp-1",children:l.description})})]})},fixed:"left"},{title:i("assets.alias"),dataIndex:"alias",sorter:!0,hideInSearch:!0,width:t?80:140,hideInTable:t},{title:i("assets.group"),dataIndex:"groupFullName",key:"groupFullName",width:t?80:150,render:(n,l)=>e.jsx("div",{className:ee("cursor-pointer hover:text-blue-500 underline",t&&"text-xs line-clamp-2"),onClick:()=>{D(!0),y([l.id])},children:n}),hideInSearch:!0},{title:i("assets.protocol"),dataIndex:"protocol",key:"protocol",sorter:!0,hideInSearch:!0,width:t?60:80,render:(n,l)=>e.jsx("span",{className:ye("rounded-md px-1.5 py-1 text-white font-bold",He(l.protocol)),style:{fontSize:t?8:9},children:l.protocol.toUpperCase()})},{title:i("assets.network"),dataIndex:"network",key:"network",hideInSearch:!0,width:t?90:160,hideInTable:t,render:(n,l)=>`${l.ip+":"+l.port}`},{title:i("assets.tags"),dataIndex:"tags",key:"tags",hideInSearch:!0,width:t?80:120,hideInTable:t,render:n=>{if(!n||n==="-")return;let l;if(Array.isArray(n))l=n;else if(typeof n=="string")l=n.split(",").filter(f=>f.trim());else return;return l.map(f=>e.jsx(ne,{children:f},f))}},{title:i("general.status"),dataIndex:"status",key:"status",sorter:!0,hideInSearch:!0,width:t?70:100,render:(n,l)=>{switch(n){case"testing":return e.jsx(le,{status:"processing",text:i("assets.testing")});case"active":return e.jsx(le,{status:"success",text:i("assets.active")});case"inactive":return e.jsx(ae,{title:l.statusText,children:e.jsx(le,{status:"error",text:i("general.offline")})})}}},{title:i("actions.label"),valueType:"option",key:"option",width:t?80:120,render:(n,l,f,q)=>{const T=l.id;return[e.jsx("a",{href:(()=>{let O={id:T,name:l.name,protocol:l.protocol,status:l.status,wolEnabled:l.attrs?.["wol-enabled"]||!1};return`/access?asset=${Ye(O)}`})(),target:"_blank",rel:"noopener noreferrer",className:"ant-btn ant-btn-default ant-btn-sm",children:t?i("assets.access").substring(0,2):i("assets.access")},`btn-access-${T}`),e.jsx(De,{onSelect:O=>{switch(O){case"copy":X(l.id,{groupId:l.groupId,copy:!0});break;case"edit":X(l.id,{groupId:l.groupId});break;case"view-authorised-asset":M(`/authorised-asset?assetId=${l.id}`);break;case"delete":G.confirm({title:i("general.confirm_delete"),okText:i("actions.delete"),onOk:async()=>{o.assetId===l.id&&(h({assetId:void 0}),E({open:!1,assetId:void 0,groupId:void 0,copy:!1})),await te.deleteById(l.id),a.current?.reload()}})}},menus:[{key:"copy",name:i("assets.copy")},{key:"edit",name:i("actions.edit")},{key:"view-authorised-asset",name:`${i("actions.authorized")}${i("menus.identity.submenus.user")}`},{key:"delete",name:i("actions.delete"),danger:!0}]},`perm-action-${T}`)]},fixed:"right"}],H=async n=>{let l=await te.importAsset(n),f=l.error,q=l.errorAssets;return f===""?G.success({title:i("assets.import_asset_success"),content:i("general.success")}):G.error({title:i("assets.import_asset_error"),content:e.jsxs("div",{children:[e.jsx("p",{children:i("assets.import_asset_error_title")}),e.jsx("hr",{className:"h-px my-2 bg-gray-200 border-0 dark:bg-gray-700"}),e.jsx("ul",{children:q.map(T=>e.jsxs("li",{children:[T.name,":",T.error]}))})]})}),a.current?.reload(),!1},$={columns:W,actionRef:a,request:async(n={},l,f)=>{let[q,T]=cs(l);q===""&&T===""&&(q="desc",T="sort");let O={pageIndex:n.current,pageSize:n.pageSize,order:q,field:T,keyword:n.keyword,tags:w.length>0?w.join(","):void 0,groupId:u},pe=await te.getPaging(O);return{data:pe.items,success:!0,total:pe.total}},dragSortKey:"sort",columnsState:{persistenceKey:"assets-table-v2",persistenceType:"localStorage"},rowSelection:{selections:[ge.SELECTION_ALL,ge.SELECTION_INVERT]},options:{search:!0},search:!1,tableAlertOptionRender:({selectedRowKeys:n})=>e.jsxs(ue,{size:16,children:[e.jsx(J,{onClick:()=>{y(n),D(!0)},children:i("assets.change_group")}),e.jsx(J,{onClick:()=>{y(n),R(!0)},children:i("assets.change_gateway")}),e.jsx(J,{onClick:()=>{I.mutate(n)},children:i("assets.conn_test")}),e.jsx(J,{danger:!0,onClick:async()=>{G.confirm({title:i("general.confirm_delete"),onOk:async()=>{await te.deleteById(n.join(",")),a.current?.reload()}})},children:i("actions.delete")})]}),rowKey:"id",pagination:{defaultPageSize:10,showSizeChanger:!t},dateFormatter:"string",headerTitle:i("menus.resource.submenus.asset"),toolBarRender:()=>[e.jsx(B,{onClick:()=>{M("/authorised-asset")},color:"purple",variant:"dashed",children:i("actions.authorized")},"auth"),u&&e.jsx(B,{onClick:()=>M(`/authorised-asset?assetGroupId=${u}`),children:`${i("authorised.label.asset_group")}${i("actions.authorized")}`},"group-auth"),e.jsx(B,{type:"primary",onClick:()=>{h({assetId:void 0}),E({open:!0,assetId:void 0,groupId:u,copy:!1})},children:i("actions.new")},"add"),e.jsx(ve,{content:_,children:e.jsx(ke,{maxCount:1,beforeUpload:H,showUploadList:!1,children:e.jsx(B,{children:i("assets.import")})})},"import")]},v=g.length===0?null:e.jsxs("div",{className:"flex items-center flex-wrap pt-4 pb-0 px-[24px]",children:[e.jsx("span",{className:"text-gray-500 text-sm",children:i("assets.tags")}),e.jsx(ne.CheckableTag,{checked:w.length===0,onChange:()=>A([]),children:i("general.all")}),g.map(n=>e.jsx(ne.CheckableTag,{checked:w.includes(n),onChange:l=>{A(f=>l?[...f,n]:f.filter(q=>q!==n))},children:n},n))]});return e.jsxs("div",{children:[e.jsx("div",{className:ee("px-4",t&&"px-2"),children:t?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mb-4 bg-white dark:bg-gray-800 rounded-lg",children:e.jsx(fe,{selected:u,onSelect:C})}),v,e.jsx(xe,{...$})]}):e.jsxs("div",{className:ee("grid gap-4 transition-all duration-300",F?"grid-cols-[48px_1fr]":"grid-cols-[240px_1fr]"),children:[e.jsxs("div",{className:"relative rounded-md bg-gray-50 dark:bg-[#141414]",children:[!F&&e.jsx(fe,{selected:u,onSelect:C}),e.jsx("div",{className:ee("absolute top-4 bg-gray-100 p-1.5 rounded dark:bg-gray-800 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors",F?"left-2":"right-4"),onClick:()=>Q(!F),children:F?e.jsx(ss,{className:"w-4 h-4"}):e.jsx(ts,{className:"w-4 h-4"})})]}),e.jsxs("div",{className:"overflow-hidden",children:[v,e.jsx(xe,{...$,scroll:{x:"max-content"}})]})]})}),e.jsx(ps,{assetIds:x,open:K,onClose:()=>{D(!1),y([]),a.current?.reload()}}),e.jsx(as,{type:"asset",resourceIds:x,open:Y,onClose:()=>{R(!1),y([]),a.current?.reload()}}),e.jsx(bs,{open:z.open,onClose:()=>{h({assetId:void 0}),E({open:!1,assetId:void 0,groupId:void 0,copy:!1}),a.current?.reload()},assetId:z.assetId,groupId:z.groupId,copy:z.copy})]})};export{Ks as default}; diff --git a/server/resource/build/assets/AuthorisedAssetPage-Bnh0QZ4Y.js b/server/resource/build/assets/AuthorisedAssetPage-BX2rNWSk.js similarity index 88% rename from server/resource/build/assets/AuthorisedAssetPage-Bnh0QZ4Y.js rename to server/resource/build/assets/AuthorisedAssetPage-BX2rNWSk.js index 1f2923c39..d7d76b031 100644 --- a/server/resource/build/assets/AuthorisedAssetPage-Bnh0QZ4Y.js +++ b/server/resource/build/assets/AuthorisedAssetPage-BX2rNWSk.js @@ -1 +1 @@ -import{f as u,S as r,bh as x,aS as b,bz as P,bp as g,av as v}from"./antd-Afm2kNt7.js";import{a as f}from"./authorised-asset-api-CAfIRme-.js";import{U as w,D as N,A as R,a as _}from"./QuerySelects-DHrAMegb.js";import{N as y}from"./NButton-DoPcvKBF.js";import{N as m}from"./NLink-BW2w3qR4.js";import{u as T,a as E,b as z}from"./index-BdfI9ZEv.js";import"./user-api-LAxz6xgj.js";import"./department-api-BBDEkNE1.js";import"./asset-api-CdGgZMNY.js";import"./website-api-rU4LiJu6.js";import"./database-asset-api-CCmdFIKr.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const H=()=>{const{t:s}=T(),c=u.useRef(null),p=u.useRef(null);let S=E();const[l,I]=z(),o=u.useMemo(()=>({userId:l.get("userId")||void 0,departmentId:l.get("departmentId")||void 0,assetGroupId:l.get("assetGroupId")||void 0,assetId:l.get("assetId")||void 0}),[l]),j=u.useMemo(()=>Object.fromEntries(Object.entries(o).filter(([,t])=>t)),[o]);u.useEffect(()=>{p.current?.setFieldsValue(o)},[o]);const h=u.useCallback(e=>{const t={};Object.entries(e).forEach(([n,d])=>{d&&(t[n]=String(d))}),!(Object.keys(t).length===Object.keys(o).length&&Object.entries(t).every(([n,d])=>o[n]===d))&&I(t)},[I,o]),A=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:s("menus.identity.submenus.user"),dataIndex:"userName",formItemProps:{name:"userId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(w,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/user/${t.userId}`,children:e}))},{title:s("menus.identity.submenus.department"),dataIndex:"departmentName",formItemProps:{name:"departmentId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(N,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/department/${t.departmentId}`,children:e}))},{title:s("menus.resource.submenus.asset"),dataIndex:"assetName",formItemProps:{name:"assetId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(R,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/asset?assetId=${t.assetId}`,children:e}))},{title:s("authorised.label.asset_group"),dataIndex:"assetGroupName",formItemProps:{name:"assetGroupId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(_,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/asset?groupId=${t.assetGroupId}`,children:e}))},{title:s("assets.limit_time"),key:"expiredAt",dataIndex:"expiredAt",hideInSearch:!0,render:(e,t)=>{if(t.expiredAt===0)return"-";let i=x(t.expiredAt);const a=x(),n=i.diff(a,"day");let d="";return n>7?d="text-green-500":n>0?d="text-yellow-500":d="text-red-500",r.jsx("div",{className:d,children:i.format("YYYY-MM-DD HH:mm:ss")})},width:180},{title:s("authorised.label.authorised_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:s("actions.label"),valueType:"option",key:"option",width:50,render:(e,t,i,a)=>[r.jsx(b,{title:s("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(t.id),c.current?.reload()},children:r.jsx(y,{danger:!0,children:s("actions.unbind")},"unbind")},"unbind-confirm")]}];return r.jsx("div",{children:r.jsx(P,{columns:A,actionRef:c,formRef:p,params:j,form:{initialValues:o},onSubmit:e=>h(e),onReset:()=>h({}),request:async(e={},t,i)=>{let a={pageIndex:e.current,pageSize:e.pageSize,userId:e.userId,departmentId:e.departmentId,assetGroupId:e.assetGroupId,assetId:e.assetId},n=await f.paging(a);return{data:n.items,success:!0,total:n.total}},rowKey:"id",search:{labelWidth:"auto"},rowSelection:{selections:[g.SELECTION_ALL,g.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:e})=>r.jsx(b,{title:s("general.confirm_delete"),onConfirm:async()=>{await Promise.all(e.map(t=>f.deleteById(String(t)))),c.current?.reload()},children:r.jsx(y,{danger:!0,children:s("actions.unbind")})}),pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:s("actions.authorized"),toolBarRender:()=>[r.jsx(v,{type:"primary",onClick:()=>{S("/authorised-asset/post")},children:s("actions.authorized")},"button")]})})};export{H as default}; +import{f as u,S as r,bh as x,aS as b,bz as P,bp as g,av as v}from"./antd-Afm2kNt7.js";import{a as f}from"./authorised-asset-api-DxGTPNvM.js";import{U as w,D as N,A as R,a as _}from"./QuerySelects-HiP3pg4d.js";import{N as y}from"./NButton-DoPcvKBF.js";import{N as m}from"./NLink-Dl2yFaN4.js";import{u as T,a as E,b as z}from"./index-DQXwuKC5.js";import"./user-api-BJxKseSg.js";import"./department-api-fa0GHZbt.js";import"./asset-api-1abjsV5s.js";import"./website-api-CiGWjL7L.js";import"./database-asset-api-BQeUyDt2.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const H=()=>{const{t:s}=T(),c=u.useRef(null),p=u.useRef(null);let S=E();const[l,I]=z(),o=u.useMemo(()=>({userId:l.get("userId")||void 0,departmentId:l.get("departmentId")||void 0,assetGroupId:l.get("assetGroupId")||void 0,assetId:l.get("assetId")||void 0}),[l]),j=u.useMemo(()=>Object.fromEntries(Object.entries(o).filter(([,t])=>t)),[o]);u.useEffect(()=>{p.current?.setFieldsValue(o)},[o]);const h=u.useCallback(e=>{const t={};Object.entries(e).forEach(([n,d])=>{d&&(t[n]=String(d))}),!(Object.keys(t).length===Object.keys(o).length&&Object.entries(t).every(([n,d])=>o[n]===d))&&I(t)},[I,o]),A=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:s("menus.identity.submenus.user"),dataIndex:"userName",formItemProps:{name:"userId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(w,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/user/${t.userId}`,children:e}))},{title:s("menus.identity.submenus.department"),dataIndex:"departmentName",formItemProps:{name:"departmentId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(N,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/department/${t.departmentId}`,children:e}))},{title:s("menus.resource.submenus.asset"),dataIndex:"assetName",formItemProps:{name:"assetId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(R,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/asset?assetId=${t.assetId}`,children:e}))},{title:s("authorised.label.asset_group"),dataIndex:"assetGroupName",formItemProps:{name:"assetGroupId"},renderFormItem:(e,{type:t,defaultRender:i,...a},n)=>t==="form"?null:r.jsx(_,{...a}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/asset?groupId=${t.assetGroupId}`,children:e}))},{title:s("assets.limit_time"),key:"expiredAt",dataIndex:"expiredAt",hideInSearch:!0,render:(e,t)=>{if(t.expiredAt===0)return"-";let i=x(t.expiredAt);const a=x(),n=i.diff(a,"day");let d="";return n>7?d="text-green-500":n>0?d="text-yellow-500":d="text-red-500",r.jsx("div",{className:d,children:i.format("YYYY-MM-DD HH:mm:ss")})},width:180},{title:s("authorised.label.authorised_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:s("actions.label"),valueType:"option",key:"option",width:50,render:(e,t,i,a)=>[r.jsx(b,{title:s("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(t.id),c.current?.reload()},children:r.jsx(y,{danger:!0,children:s("actions.unbind")},"unbind")},"unbind-confirm")]}];return r.jsx("div",{children:r.jsx(P,{columns:A,actionRef:c,formRef:p,params:j,form:{initialValues:o},onSubmit:e=>h(e),onReset:()=>h({}),request:async(e={},t,i)=>{let a={pageIndex:e.current,pageSize:e.pageSize,userId:e.userId,departmentId:e.departmentId,assetGroupId:e.assetGroupId,assetId:e.assetId},n=await f.paging(a);return{data:n.items,success:!0,total:n.total}},rowKey:"id",search:{labelWidth:"auto"},rowSelection:{selections:[g.SELECTION_ALL,g.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:e})=>r.jsx(b,{title:s("general.confirm_delete"),onConfirm:async()=>{await Promise.all(e.map(t=>f.deleteById(String(t)))),c.current?.reload()},children:r.jsx(y,{danger:!0,children:s("actions.unbind")})}),pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:s("actions.authorized"),toolBarRender:()=>[r.jsx(v,{type:"primary",onClick:()=>{S("/authorised-asset/post")},children:s("actions.authorized")},"button")]})})};export{H as default}; diff --git a/server/resource/build/assets/AuthorisedAssetPost-BFbI-Qae.js b/server/resource/build/assets/AuthorisedAssetPost-vCyEAP3r.js similarity index 86% rename from server/resource/build/assets/AuthorisedAssetPost-BFbI-Qae.js rename to server/resource/build/assets/AuthorisedAssetPost-vCyEAP3r.js index 8d2b4694b..aafd715d9 100644 --- a/server/resource/build/assets/AuthorisedAssetPost-BFbI-Qae.js +++ b/server/resource/build/assets/AuthorisedAssetPost-vCyEAP3r.js @@ -1 +1 @@ -import{f as l,S as r,aK as g,aL as u,bA as d,bs as j,a_ as y,be as w,bB as P,bh as o,bg as E}from"./antd-Afm2kNt7.js";import{c as S}from"./command-filter-api-DlKwuBlA.js";import{s as v}from"./strategy-api-D3jzAEr4.js";import{u as F}from"./user-api-LAxz6xgj.js";import{d as N}from"./department-api-BBDEkNE1.js";import{a as h}from"./asset-api-CdGgZMNY.js";import{a as D}from"./authorised-asset-api-CAfIRme-.js";import{u as k,a as I}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const W=()=>{const m=l.useRef(null);let{t:a}=k();const[n,i]=l.useState(),[c,p]=l.useState(!0);let f=I();l.useEffect(()=>{open||(i(void 0),p(!0))},[open]);const x=e=>{p(e.target.checked),e.target.checked===!0?i(o(0)):i(o())},b=(e,t)=>{console.log(e,t),i(e)},A=e=>e&&e{n?e.expiredAt=n.valueOf():e.expiredAt=0,await D.post(e),E.success(a("general.success")),m.current?.resetFields(),f("/authorised-asset")},children:[r.jsx(u,{label:a("menus.identity.submenus.user"),name:"userIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await F.getAll()).map(t=>({label:t.nickname,value:t.id}))}),r.jsx(d,{label:a("menus.identity.submenus.department"),name:"departmentIds",fieldProps:{showSearch:!0,multiple:!0,treeDefaultExpandAll:!0},request:async()=>await N.getTree()}),r.jsx(d,{label:a("authorised.label.asset_group"),name:"assetGroupIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>{let e=await h.getGroups();function t(s){s.value=s.id,s.children&&s.children.forEach(t)}return e.forEach(s=>{t(s)}),e}}),r.jsx(d,{label:a("menus.resource.submenus.asset"),name:"assetIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>{let e=await h.tree();function t(s){s.value=s.id,s.isLeaf?s.title=s.title+" ("+s.extra?.network+")":s.disabled=!0,s.children&&s.children.forEach(t)}return e.forEach(s=>{t(s)}),e}}),r.jsx(u,{label:a("menus.authorised.submenus.command_filter"),name:"commandFilterId",fieldProps:{showSearch:!0},request:async()=>(await S.getAll()).map(t=>({label:t.name,value:t.id}))}),r.jsx(u,{label:a("authorised.label.strategy"),name:"strategyId",fieldProps:{showSearch:!0},request:async()=>(await v.getAll()).map(t=>({label:t.name,value:t.id}))}),r.jsx(j.Item,{label:a("assets.limit_time"),name:"expiredAt",children:r.jsxs(y,{children:[r.jsx(w,{onChange:x,checked:c,children:a("authorised.label.never_expired")}),!c&&r.jsx(P,{onChange:b,value:n,format:"YYYY-MM-DD HH:mm:ss",disabledDate:A,showTime:{defaultValue:o("00:00:00","HH:mm:ss")}})]})})]})]})};export{W as default}; +import{f as l,S as r,aK as g,aL as u,bA as d,bs as j,a_ as y,be as w,bB as P,bh as o,bg as E}from"./antd-Afm2kNt7.js";import{c as S}from"./command-filter-api-BxXGNaHY.js";import{s as v}from"./strategy-api-z9cMxeja.js";import{u as F}from"./user-api-BJxKseSg.js";import{d as N}from"./department-api-fa0GHZbt.js";import{a as h}from"./asset-api-1abjsV5s.js";import{a as D}from"./authorised-asset-api-DxGTPNvM.js";import{u as k,a as I}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const W=()=>{const m=l.useRef(null);let{t:a}=k();const[n,i]=l.useState(),[c,p]=l.useState(!0);let f=I();l.useEffect(()=>{open||(i(void 0),p(!0))},[open]);const x=e=>{p(e.target.checked),e.target.checked===!0?i(o(0)):i(o())},b=(e,t)=>{console.log(e,t),i(e)},A=e=>e&&e{n?e.expiredAt=n.valueOf():e.expiredAt=0,await D.post(e),E.success(a("general.success")),m.current?.resetFields(),f("/authorised-asset")},children:[r.jsx(u,{label:a("menus.identity.submenus.user"),name:"userIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await F.getAll()).map(t=>({label:t.nickname,value:t.id}))}),r.jsx(d,{label:a("menus.identity.submenus.department"),name:"departmentIds",fieldProps:{showSearch:!0,multiple:!0,treeDefaultExpandAll:!0},request:async()=>await N.getTree()}),r.jsx(d,{label:a("authorised.label.asset_group"),name:"assetGroupIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>{let e=await h.getGroups();function t(s){s.value=s.id,s.children&&s.children.forEach(t)}return e.forEach(s=>{t(s)}),e}}),r.jsx(d,{label:a("menus.resource.submenus.asset"),name:"assetIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>{let e=await h.tree();function t(s){s.value=s.id,s.isLeaf?s.title=s.title+" ("+s.extra?.network+")":s.disabled=!0,s.children&&s.children.forEach(t)}return e.forEach(s=>{t(s)}),e}}),r.jsx(u,{label:a("menus.authorised.submenus.command_filter"),name:"commandFilterId",fieldProps:{showSearch:!0},request:async()=>(await S.getAll()).map(t=>({label:t.name,value:t.id}))}),r.jsx(u,{label:a("authorised.label.strategy"),name:"strategyId",fieldProps:{showSearch:!0},request:async()=>(await v.getAll()).map(t=>({label:t.name,value:t.id}))}),r.jsx(j.Item,{label:a("assets.limit_time"),name:"expiredAt",children:r.jsxs(y,{children:[r.jsx(w,{onChange:x,checked:c,children:a("authorised.label.never_expired")}),!c&&r.jsx(P,{onChange:b,value:n,format:"YYYY-MM-DD HH:mm:ss",disabledDate:A,showTime:{defaultValue:o("00:00:00","HH:mm:ss")}})]})})]})]})};export{W as default}; diff --git a/server/resource/build/assets/AuthorisedDatabaseAssetPage-D8lUCC84.js b/server/resource/build/assets/AuthorisedDatabaseAssetPage-CQMQnnFB.js similarity index 87% rename from server/resource/build/assets/AuthorisedDatabaseAssetPage-D8lUCC84.js rename to server/resource/build/assets/AuthorisedDatabaseAssetPage-CQMQnnFB.js index aed019b78..9cdd1f920 100644 --- a/server/resource/build/assets/AuthorisedDatabaseAssetPage-D8lUCC84.js +++ b/server/resource/build/assets/AuthorisedDatabaseAssetPage-CQMQnnFB.js @@ -1 +1 @@ -import{f as o,S as r,bh as x,aS as b,bz as w,bp as y,av as P}from"./antd-Afm2kNt7.js";import{a as l}from"./authorised-database-asset-api-CrMo0xb4.js";import{U as v,D as N,c as T}from"./QuerySelects-DHrAMegb.js";import{N as g}from"./NButton-DoPcvKBF.js";import{N as c}from"./NLink-BW2w3qR4.js";import{u as E,a as _,b as z}from"./index-BdfI9ZEv.js";import"./user-api-LAxz6xgj.js";import"./department-api-BBDEkNE1.js";import"./asset-api-CdGgZMNY.js";import"./website-api-rU4LiJu6.js";import"./database-asset-api-CCmdFIKr.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const $=()=>{const{t:a}=E(),m=o.useRef(null),f=o.useRef(null),S=_(),[u,p]=z(),i=o.useMemo(()=>({userId:u.get("userId")||void 0,departmentId:u.get("departmentId")||void 0,assetId:u.get("assetId")||void 0}),[u]),j=o.useMemo(()=>Object.fromEntries(Object.entries(i).filter(([,t])=>t)),[i]);o.useEffect(()=>{f.current?.setFieldsValue(i)},[i]);const h=o.useCallback(e=>{const t={};Object.entries(e).forEach(([d,n])=>{n&&(t[d]=String(n))}),!(Object.keys(t).length===Object.keys(i).length&&Object.entries(t).every(([d,n])=>i[d]===n))&&p(t)},[p,i]),A=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:a("menus.identity.submenus.user"),dataIndex:"userName",formItemProps:{name:"userId"},renderFormItem:(e,{type:t,...s})=>t==="form"?null:r.jsx(v,{...s}),render:((e,t)=>e==="-"?"-":r.jsx(c,{to:`/user/${t.userId}`,children:e}))},{title:a("menus.identity.submenus.department"),dataIndex:"departmentName",formItemProps:{name:"departmentId"},renderFormItem:(e,{type:t,...s})=>t==="form"?null:r.jsx(N,{...s}),render:((e,t)=>e==="-"?"-":r.jsx(c,{to:`/department/${t.departmentId}`,children:e}))},{title:a("menus.resource.submenus.database_asset"),dataIndex:"assetName",formItemProps:{name:"assetId"},renderFormItem:(e,{type:t,...s})=>t==="form"?null:r.jsx(T,{...s}),render:((e,t)=>e==="-"?"-":r.jsx(c,{to:"/database-asset",children:e}))},{title:a("assets.limit_time"),key:"expiredAt",dataIndex:"expiredAt",hideInSearch:!0,render:(e,t)=>{if(t.expiredAt===0)return"-";const s=x(t.expiredAt),I=x(),d=s.diff(I,"day");let n="";return d>7?n="text-green-500":d>0?n="text-yellow-500":n="text-red-500",r.jsx("div",{className:n,children:s.format("YYYY-MM-DD HH:mm:ss")})},width:180},{title:a("authorised.label.authorised_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:a("actions.label"),valueType:"option",key:"option",width:50,render:(e,t)=>[r.jsx(b,{title:a("general.confirm_delete"),onConfirm:async()=>{await l.deleteById(t.id),m.current?.reload()},children:r.jsx(g,{danger:!0,children:a("actions.unbind")},"unbind")},"unbind-confirm")]}];return r.jsx("div",{children:r.jsx(w,{columns:A,actionRef:m,formRef:f,params:j,form:{initialValues:i},onSubmit:e=>h(e),onReset:()=>h({}),request:async(e={})=>{const t={pageIndex:e.current,pageSize:e.pageSize,userId:e.userId,departmentId:e.departmentId,assetId:e.assetId},s=await l.paging(t);return{data:s.items,success:!0,total:s.total}},rowKey:"id",search:{labelWidth:"auto"},rowSelection:{selections:[y.SELECTION_ALL,y.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:e})=>r.jsx(b,{title:a("general.confirm_delete"),onConfirm:async()=>{await Promise.all(e.map(t=>l.deleteById(String(t)))),m.current?.reload()},children:r.jsx(g,{danger:!0,children:a("actions.unbind")})}),pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:a("actions.authorized"),toolBarRender:()=>[r.jsx(P,{type:"primary",onClick:()=>{S("/authorised-database-asset/post")},children:a("actions.authorized")},"button")]})})};export{$ as default}; +import{f as o,S as r,bh as x,aS as b,bz as w,bp as y,av as P}from"./antd-Afm2kNt7.js";import{a as l}from"./authorised-database-asset-api-u0MMVZQN.js";import{U as v,D as N,c as T}from"./QuerySelects-HiP3pg4d.js";import{N as g}from"./NButton-DoPcvKBF.js";import{N as c}from"./NLink-Dl2yFaN4.js";import{u as E,a as _,b as z}from"./index-DQXwuKC5.js";import"./user-api-BJxKseSg.js";import"./department-api-fa0GHZbt.js";import"./asset-api-1abjsV5s.js";import"./website-api-CiGWjL7L.js";import"./database-asset-api-BQeUyDt2.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const $=()=>{const{t:a}=E(),m=o.useRef(null),f=o.useRef(null),S=_(),[u,p]=z(),i=o.useMemo(()=>({userId:u.get("userId")||void 0,departmentId:u.get("departmentId")||void 0,assetId:u.get("assetId")||void 0}),[u]),j=o.useMemo(()=>Object.fromEntries(Object.entries(i).filter(([,t])=>t)),[i]);o.useEffect(()=>{f.current?.setFieldsValue(i)},[i]);const h=o.useCallback(e=>{const t={};Object.entries(e).forEach(([d,n])=>{n&&(t[d]=String(n))}),!(Object.keys(t).length===Object.keys(i).length&&Object.entries(t).every(([d,n])=>i[d]===n))&&p(t)},[p,i]),A=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:a("menus.identity.submenus.user"),dataIndex:"userName",formItemProps:{name:"userId"},renderFormItem:(e,{type:t,...s})=>t==="form"?null:r.jsx(v,{...s}),render:((e,t)=>e==="-"?"-":r.jsx(c,{to:`/user/${t.userId}`,children:e}))},{title:a("menus.identity.submenus.department"),dataIndex:"departmentName",formItemProps:{name:"departmentId"},renderFormItem:(e,{type:t,...s})=>t==="form"?null:r.jsx(N,{...s}),render:((e,t)=>e==="-"?"-":r.jsx(c,{to:`/department/${t.departmentId}`,children:e}))},{title:a("menus.resource.submenus.database_asset"),dataIndex:"assetName",formItemProps:{name:"assetId"},renderFormItem:(e,{type:t,...s})=>t==="form"?null:r.jsx(T,{...s}),render:((e,t)=>e==="-"?"-":r.jsx(c,{to:"/database-asset",children:e}))},{title:a("assets.limit_time"),key:"expiredAt",dataIndex:"expiredAt",hideInSearch:!0,render:(e,t)=>{if(t.expiredAt===0)return"-";const s=x(t.expiredAt),I=x(),d=s.diff(I,"day");let n="";return d>7?n="text-green-500":d>0?n="text-yellow-500":n="text-red-500",r.jsx("div",{className:n,children:s.format("YYYY-MM-DD HH:mm:ss")})},width:180},{title:a("authorised.label.authorised_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:a("actions.label"),valueType:"option",key:"option",width:50,render:(e,t)=>[r.jsx(b,{title:a("general.confirm_delete"),onConfirm:async()=>{await l.deleteById(t.id),m.current?.reload()},children:r.jsx(g,{danger:!0,children:a("actions.unbind")},"unbind")},"unbind-confirm")]}];return r.jsx("div",{children:r.jsx(w,{columns:A,actionRef:m,formRef:f,params:j,form:{initialValues:i},onSubmit:e=>h(e),onReset:()=>h({}),request:async(e={})=>{const t={pageIndex:e.current,pageSize:e.pageSize,userId:e.userId,departmentId:e.departmentId,assetId:e.assetId},s=await l.paging(t);return{data:s.items,success:!0,total:s.total}},rowKey:"id",search:{labelWidth:"auto"},rowSelection:{selections:[y.SELECTION_ALL,y.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:e})=>r.jsx(b,{title:a("general.confirm_delete"),onConfirm:async()=>{await Promise.all(e.map(t=>l.deleteById(String(t)))),m.current?.reload()},children:r.jsx(g,{danger:!0,children:a("actions.unbind")})}),pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:a("actions.authorized"),toolBarRender:()=>[r.jsx(P,{type:"primary",onClick:()=>{S("/authorised-database-asset/post")},children:a("actions.authorized")},"button")]})})};export{$ as default}; diff --git a/server/resource/build/assets/AuthorisedDatabaseAssetPost-DCLaLxbv.js b/server/resource/build/assets/AuthorisedDatabaseAssetPost-BrzKzr0W.js similarity index 86% rename from server/resource/build/assets/AuthorisedDatabaseAssetPost-DCLaLxbv.js rename to server/resource/build/assets/AuthorisedDatabaseAssetPost-BrzKzr0W.js index 785a866af..6c5e48294 100644 --- a/server/resource/build/assets/AuthorisedDatabaseAssetPost-DCLaLxbv.js +++ b/server/resource/build/assets/AuthorisedDatabaseAssetPost-BrzKzr0W.js @@ -1 +1 @@ -import{f as o,S as s,aK as x,aL as n,bs as f,a_ as A,be as j,bB as g,bh as r,bg as y}from"./antd-Afm2kNt7.js";import{u as v}from"./user-api-LAxz6xgj.js";import{d as w}from"./department-api-BBDEkNE1.js";import{d as D}from"./database-asset-api-CCmdFIKr.js";import{a as S}from"./authorised-database-asset-api-CrMo0xb4.js";import{u as P,a as k}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Y=()=>{const d=o.useRef(null),{t:a}=P(),[i,m]=o.useState(),[l,u]=o.useState(!0),c=k(),p=e=>{u(e.target.checked),e.target.checked===!0?m(r(0)):m(r())},h=e=>{m(e)},b=e=>e&&e{i?e.expiredAt=i.valueOf():e.expiredAt=0,await S.post(e),y.success(a("general.success")),d.current?.resetFields(),c("/authorised-database-asset")},children:[s.jsx(n,{label:a("menus.identity.submenus.user"),name:"userIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await v.getAll()).map(t=>({label:t.nickname,value:t.id}))}),s.jsx(n,{label:a("menus.identity.submenus.department"),name:"departmentIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await w.getAll()).map(t=>({label:t.name,value:t.id}))}),s.jsx(n,{label:a("menus.resource.submenus.database_asset"),name:"assetIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await D.getAll()).map(t=>({label:t.name,value:t.id}))}),s.jsx(f.Item,{label:a("assets.limit_time"),name:"expiredAt",children:s.jsxs(A,{children:[s.jsx(j,{onChange:p,checked:l,children:a("authorised.label.never_expired")}),!l&&s.jsx(g,{onChange:h,value:i,format:"YYYY-MM-DD HH:mm:ss",disabledDate:b,showTime:{defaultValue:r("00:00:00","HH:mm:ss")}})]})})]})]})};export{Y as default}; +import{f as o,S as s,aK as x,aL as n,bs as f,a_ as A,be as j,bB as g,bh as r,bg as y}from"./antd-Afm2kNt7.js";import{u as v}from"./user-api-BJxKseSg.js";import{d as w}from"./department-api-fa0GHZbt.js";import{d as D}from"./database-asset-api-BQeUyDt2.js";import{a as S}from"./authorised-database-asset-api-u0MMVZQN.js";import{u as P,a as k}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Y=()=>{const d=o.useRef(null),{t:a}=P(),[i,m]=o.useState(),[l,u]=o.useState(!0),c=k(),p=e=>{u(e.target.checked),e.target.checked===!0?m(r(0)):m(r())},h=e=>{m(e)},b=e=>e&&e{i?e.expiredAt=i.valueOf():e.expiredAt=0,await S.post(e),y.success(a("general.success")),d.current?.resetFields(),c("/authorised-database-asset")},children:[s.jsx(n,{label:a("menus.identity.submenus.user"),name:"userIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await v.getAll()).map(t=>({label:t.nickname,value:t.id}))}),s.jsx(n,{label:a("menus.identity.submenus.department"),name:"departmentIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await w.getAll()).map(t=>({label:t.name,value:t.id}))}),s.jsx(n,{label:a("menus.resource.submenus.database_asset"),name:"assetIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await D.getAll()).map(t=>({label:t.name,value:t.id}))}),s.jsx(f.Item,{label:a("assets.limit_time"),name:"expiredAt",children:s.jsxs(A,{children:[s.jsx(j,{onChange:p,checked:l,children:a("authorised.label.never_expired")}),!l&&s.jsx(g,{onChange:h,value:i,format:"YYYY-MM-DD HH:mm:ss",disabledDate:b,showTime:{defaultValue:r("00:00:00","HH:mm:ss")}})]})})]})]})};export{Y as default}; diff --git a/server/resource/build/assets/AuthorisedWebsitePage-O4HuiOP6.js b/server/resource/build/assets/AuthorisedWebsitePage-C91itGU-.js similarity index 89% rename from server/resource/build/assets/AuthorisedWebsitePage-O4HuiOP6.js rename to server/resource/build/assets/AuthorisedWebsitePage-C91itGU-.js index 5c181f84a..9fa247d7f 100644 --- a/server/resource/build/assets/AuthorisedWebsitePage-O4HuiOP6.js +++ b/server/resource/build/assets/AuthorisedWebsitePage-C91itGU-.js @@ -1 +1 @@ -import{f as u,S as r,bh as h,aS as x,bz as P,bp as w,av as v}from"./antd-Afm2kNt7.js";import{a as f}from"./authorised-website-api-BRQ745lC.js";import{U as N,D as R,W as _,b as A}from"./QuerySelects-DHrAMegb.js";import{N as g}from"./NButton-DoPcvKBF.js";import{N as m}from"./NLink-BW2w3qR4.js";import{u as T,a as E,b as z}from"./index-BdfI9ZEv.js";import"./user-api-LAxz6xgj.js";import"./department-api-BBDEkNE1.js";import"./asset-api-CdGgZMNY.js";import"./website-api-rU4LiJu6.js";import"./database-asset-api-CCmdFIKr.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const q=()=>{const{t:i}=T(),c=u.useRef(null),p=u.useRef(null);let y=E();const[l,b]=z(),o=u.useMemo(()=>({userId:l.get("userId")||void 0,departmentId:l.get("departmentId")||void 0,websiteGroupId:l.get("websiteGroupId")||void 0,websiteId:l.get("websiteId")||void 0}),[l]),S=u.useMemo(()=>Object.fromEntries(Object.entries(o).filter(([,t])=>t)),[o]);u.useEffect(()=>{p.current?.setFieldsValue(o)},[o]);const I=u.useCallback(e=>{const t={};Object.entries(e).forEach(([s,d])=>{d&&(t[s]=String(d))}),!(Object.keys(t).length===Object.keys(o).length&&Object.entries(t).every(([s,d])=>o[s]===d))&&b(t)},[b,o]),j=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:i("menus.identity.submenus.user"),dataIndex:"userName",formItemProps:{name:"userId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(N,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/user/${t.userId}`,children:e}))},{title:i("menus.identity.submenus.department"),dataIndex:"departmentName",formItemProps:{name:"departmentId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(R,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/department/${t.departmentId}`,children:e}))},{title:i("menus.resource.submenus.website"),dataIndex:"websiteName",formItemProps:{name:"websiteId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(_,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/website?websiteId=${t.websiteId}`,children:e}))},{title:i("authorised.label.website_group"),dataIndex:"websiteGroupName",formItemProps:{name:"websiteGroupId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(A,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/website?groupId=${t.websiteGroupId}`,children:e}))},{title:i("assets.limit_time"),key:"expiredAt",dataIndex:"expiredAt",hideInSearch:!0,render:(e,t)=>{if(t.expiredAt===0)return"-";let a=h(t.expiredAt);const n=h(),s=a.diff(n,"day");let d="";return s>7?d="text-green-500":s>0?d="text-yellow-500":d="text-red-500",r.jsx("div",{className:d,children:a.format("YYYY-MM-DD HH:mm:ss")})},width:180},{title:i("authorised.label.authorised_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:i("actions.label"),valueType:"option",key:"option",width:50,render:(e,t,a,n)=>[r.jsx(x,{title:i("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(t.id),c.current?.reload()},children:r.jsx(g,{danger:!0,children:i("actions.unbind")},"unbind")},"unbind-confirm")]}];return r.jsx("div",{children:r.jsx(P,{columns:j,actionRef:c,formRef:p,params:S,form:{initialValues:o},onSubmit:e=>I(e),onReset:()=>I({}),request:async(e={},t,a)=>{let n={pageIndex:e.current,pageSize:e.pageSize,userId:e.userId,departmentId:e.departmentId,websiteGroupId:e.websiteGroupId,websiteId:e.websiteId},s=await f.paging(n);return{data:s.items,success:!0,total:s.total}},rowKey:"id",search:{labelWidth:"auto"},rowSelection:{selections:[w.SELECTION_ALL,w.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:e})=>r.jsx(x,{title:i("general.confirm_delete"),onConfirm:async()=>{await Promise.all(e.map(t=>f.deleteById(String(t)))),c.current?.reload()},children:r.jsx(g,{danger:!0,children:i("actions.unbind")})}),pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:i("actions.authorized"),toolBarRender:()=>[r.jsx(v,{type:"primary",onClick:()=>{y("/authorised-website/post")},children:i("actions.authorized")},"button")]})})};export{q as default}; +import{f as u,S as r,bh as h,aS as x,bz as P,bp as w,av as v}from"./antd-Afm2kNt7.js";import{a as f}from"./authorised-website-api-DLMeAD6d.js";import{U as N,D as R,W as _,b as A}from"./QuerySelects-HiP3pg4d.js";import{N as g}from"./NButton-DoPcvKBF.js";import{N as m}from"./NLink-Dl2yFaN4.js";import{u as T,a as E,b as z}from"./index-DQXwuKC5.js";import"./user-api-BJxKseSg.js";import"./department-api-fa0GHZbt.js";import"./asset-api-1abjsV5s.js";import"./website-api-CiGWjL7L.js";import"./database-asset-api-BQeUyDt2.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const q=()=>{const{t:i}=T(),c=u.useRef(null),p=u.useRef(null);let y=E();const[l,b]=z(),o=u.useMemo(()=>({userId:l.get("userId")||void 0,departmentId:l.get("departmentId")||void 0,websiteGroupId:l.get("websiteGroupId")||void 0,websiteId:l.get("websiteId")||void 0}),[l]),S=u.useMemo(()=>Object.fromEntries(Object.entries(o).filter(([,t])=>t)),[o]);u.useEffect(()=>{p.current?.setFieldsValue(o)},[o]);const I=u.useCallback(e=>{const t={};Object.entries(e).forEach(([s,d])=>{d&&(t[s]=String(d))}),!(Object.keys(t).length===Object.keys(o).length&&Object.entries(t).every(([s,d])=>o[s]===d))&&b(t)},[b,o]),j=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:i("menus.identity.submenus.user"),dataIndex:"userName",formItemProps:{name:"userId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(N,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/user/${t.userId}`,children:e}))},{title:i("menus.identity.submenus.department"),dataIndex:"departmentName",formItemProps:{name:"departmentId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(R,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/department/${t.departmentId}`,children:e}))},{title:i("menus.resource.submenus.website"),dataIndex:"websiteName",formItemProps:{name:"websiteId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(_,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/website?websiteId=${t.websiteId}`,children:e}))},{title:i("authorised.label.website_group"),dataIndex:"websiteGroupName",formItemProps:{name:"websiteGroupId"},renderFormItem:(e,{type:t,defaultRender:a,...n},s)=>t==="form"?null:r.jsx(A,{...n}),render:((e,t)=>e==="-"?"-":r.jsx(m,{to:`/website?groupId=${t.websiteGroupId}`,children:e}))},{title:i("assets.limit_time"),key:"expiredAt",dataIndex:"expiredAt",hideInSearch:!0,render:(e,t)=>{if(t.expiredAt===0)return"-";let a=h(t.expiredAt);const n=h(),s=a.diff(n,"day");let d="";return s>7?d="text-green-500":s>0?d="text-yellow-500":d="text-red-500",r.jsx("div",{className:d,children:a.format("YYYY-MM-DD HH:mm:ss")})},width:180},{title:i("authorised.label.authorised_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:i("actions.label"),valueType:"option",key:"option",width:50,render:(e,t,a,n)=>[r.jsx(x,{title:i("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(t.id),c.current?.reload()},children:r.jsx(g,{danger:!0,children:i("actions.unbind")},"unbind")},"unbind-confirm")]}];return r.jsx("div",{children:r.jsx(P,{columns:j,actionRef:c,formRef:p,params:S,form:{initialValues:o},onSubmit:e=>I(e),onReset:()=>I({}),request:async(e={},t,a)=>{let n={pageIndex:e.current,pageSize:e.pageSize,userId:e.userId,departmentId:e.departmentId,websiteGroupId:e.websiteGroupId,websiteId:e.websiteId},s=await f.paging(n);return{data:s.items,success:!0,total:s.total}},rowKey:"id",search:{labelWidth:"auto"},rowSelection:{selections:[w.SELECTION_ALL,w.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:e})=>r.jsx(x,{title:i("general.confirm_delete"),onConfirm:async()=>{await Promise.all(e.map(t=>f.deleteById(String(t)))),c.current?.reload()},children:r.jsx(g,{danger:!0,children:i("actions.unbind")})}),pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:i("actions.authorized"),toolBarRender:()=>[r.jsx(v,{type:"primary",onClick:()=>{y("/authorised-website/post")},children:i("actions.authorized")},"button")]})})};export{q as default}; diff --git a/server/resource/build/assets/AuthorisedWebsitePost-CkpOhlat.js b/server/resource/build/assets/AuthorisedWebsitePost-COc7i5eT.js similarity index 89% rename from server/resource/build/assets/AuthorisedWebsitePost-CkpOhlat.js rename to server/resource/build/assets/AuthorisedWebsitePost-COc7i5eT.js index b3850419f..41be21ed0 100644 --- a/server/resource/build/assets/AuthorisedWebsitePost-CkpOhlat.js +++ b/server/resource/build/assets/AuthorisedWebsitePost-COc7i5eT.js @@ -1 +1 @@ -import{f as l,S as s,aK as w,aL as g,bA as n,bs as j,a_ as y,be as P,bB as v,bh as d,bg as p}from"./antd-Afm2kNt7.js";import{u as D}from"./user-api-LAxz6xgj.js";import{d as E}from"./department-api-BBDEkNE1.js";import{w as h}from"./website-api-rU4LiJu6.js";import{a as S}from"./authorised-website-api-BRQ745lC.js";import{u as k,a as F}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Y=()=>{const m=l.useRef(null);let{t:r}=k();const[o,i]=l.useState(),[u,c]=l.useState(!0);let f=F();l.useEffect(()=>{i(void 0),c(!0)},[]);const b=e=>{c(e.target.checked),e.target.checked===!0?i(void 0):i(d())},x=(e,t)=>{console.log(e,t),i(e)},A=e=>e&&e{u||!o?e.expiredAt=0:e.expiredAt=o.valueOf();try{await S.authorise(e),p.success(r("general.success")),m.current?.resetFields(),f("/authorised-website")}catch{p.error(r("authorised.authorise_failed"))}},children:[s.jsx(g,{label:r("menus.identity.submenus.user"),name:"userIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await D.getAll()).map(t=>({label:t.nickname,value:t.id}))}),s.jsx(n,{label:r("menus.identity.submenus.department"),name:"departmentIds",fieldProps:{showSearch:!0,multiple:!0,treeDefaultExpandAll:!0},request:async()=>await E.getTree()}),s.jsx(n,{label:r("authorised.label.website_group"),name:"websiteGroupIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>{let e=await h.getGroups();function t(a){a.value=a.key,a.isLeaf||a.children&&a.children.forEach(t)}return e.forEach(a=>{t(a)}),e}}),s.jsx(n,{label:r("menus.resource.submenus.website"),name:"websiteIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>(await h.getAll()).map(t=>({title:t.name+" ("+t.targetUrl+")",key:t.id,value:t.id,isLeaf:!0}))}),s.jsx(j.Item,{label:r("assets.limit_time"),name:"expiredAt",children:s.jsxs(y,{children:[s.jsx(P,{onChange:b,checked:u,children:r("authorised.label.never_expired")}),!u&&s.jsx(v,{onChange:x,value:o,format:"YYYY-MM-DD HH:mm:ss",disabledDate:A,showTime:{defaultValue:d("00:00:00","HH:mm:ss")}})]})})]})]})};export{Y as default}; +import{f as l,S as s,aK as w,aL as g,bA as n,bs as j,a_ as y,be as P,bB as v,bh as d,bg as p}from"./antd-Afm2kNt7.js";import{u as D}from"./user-api-BJxKseSg.js";import{d as E}from"./department-api-fa0GHZbt.js";import{w as h}from"./website-api-CiGWjL7L.js";import{a as S}from"./authorised-website-api-DLMeAD6d.js";import{u as k,a as F}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Y=()=>{const m=l.useRef(null);let{t:r}=k();const[o,i]=l.useState(),[u,c]=l.useState(!0);let f=F();l.useEffect(()=>{i(void 0),c(!0)},[]);const b=e=>{c(e.target.checked),e.target.checked===!0?i(void 0):i(d())},x=(e,t)=>{console.log(e,t),i(e)},A=e=>e&&e{u||!o?e.expiredAt=0:e.expiredAt=o.valueOf();try{await S.authorise(e),p.success(r("general.success")),m.current?.resetFields(),f("/authorised-website")}catch{p.error(r("authorised.authorise_failed"))}},children:[s.jsx(g,{label:r("menus.identity.submenus.user"),name:"userIds",fieldProps:{mode:"multiple",showSearch:!0},request:async()=>(await D.getAll()).map(t=>({label:t.nickname,value:t.id}))}),s.jsx(n,{label:r("menus.identity.submenus.department"),name:"departmentIds",fieldProps:{showSearch:!0,multiple:!0,treeDefaultExpandAll:!0},request:async()=>await E.getTree()}),s.jsx(n,{label:r("authorised.label.website_group"),name:"websiteGroupIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>{let e=await h.getGroups();function t(a){a.value=a.key,a.isLeaf||a.children&&a.children.forEach(t)}return e.forEach(a=>{t(a)}),e}}),s.jsx(n,{label:r("menus.resource.submenus.website"),name:"websiteIds",fieldProps:{multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>(await h.getAll()).map(t=>({title:t.name+" ("+t.targetUrl+")",key:t.id,value:t.id,isLeaf:!0}))}),s.jsx(j.Item,{label:r("assets.limit_time"),name:"expiredAt",children:s.jsxs(y,{children:[s.jsx(P,{onChange:b,checked:u,children:r("authorised.label.never_expired")}),!u&&s.jsx(v,{onChange:x,value:o,format:"YYYY-MM-DD HH:mm:ss",disabledDate:A,showTime:{defaultValue:d("00:00:00","HH:mm:ss")}})]})})]})]})};export{Y as default}; diff --git a/server/resource/build/assets/BrowserPage-xofuPwAx.js b/server/resource/build/assets/BrowserPage-B9fb62o-.js similarity index 98% rename from server/resource/build/assets/BrowserPage-xofuPwAx.js rename to server/resource/build/assets/BrowserPage-B9fb62o-.js index 45cc6d578..5a5606cf7 100644 --- a/server/resource/build/assets/BrowserPage-xofuPwAx.js +++ b/server/resource/build/assets/BrowserPage-B9fb62o-.js @@ -1,4 +1,4 @@ -import{f as c,S as s}from"./antd-Afm2kNt7.js";import{b as i,o as l,aj as h}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const w=()=>{let[e]=i(),r=l(e.get("websiteId"),"");return c.useEffect(()=>{h.accessWebsite(r).then(t=>{window.location.href=t})},[]),s.jsx("div",{className:"flex items-center justify-center h-screen",children:s.jsx("div",{className:"loader",children:s.jsxs("div",{className:"truckWrapper",children:[s.jsx("div",{className:"truckBody",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 198 93",className:"trucksvg",children:[s.jsx("path",{strokeWidth:"3",stroke:"#282828",fill:"#F83D3D",d:"M135 22.5H177.264C178.295 22.5 179.22 23.133 179.594 24.0939L192.33 56.8443C192.442 57.1332 192.5 57.4404 192.5 57.7504V89C192.5 90.3807 191.381 91.5 190 91.5H135C133.619 91.5 132.5 90.3807 132.5 89V25C132.5 23.6193 133.619 22.5 135 22.5Z"}),s.jsx("path",{strokeWidth:"3",stroke:"#282828",fill:"#7D7C7C",d:"M146 33.5H181.741C182.779 33.5 183.709 34.1415 184.078 35.112L190.538 52.112C191.16 53.748 189.951 55.5 188.201 55.5H146C144.619 55.5 143.5 54.3807 143.5 53V36C143.5 34.6193 144.619 33.5 146 33.5Z"}),s.jsx("path",{strokeWidth:"2",stroke:"#282828",fill:"#282828",d:"M150 65C150 65.39 149.763 65.8656 149.127 66.2893C148.499 66.7083 147.573 67 146.5 67C145.427 67 144.501 66.7083 143.873 66.2893C143.237 65.8656 143 65.39 143 65C143 64.61 143.237 64.1344 143.873 63.7107C144.501 63.2917 145.427 63 146.5 63C147.573 63 148.499 63.2917 149.127 63.7107C149.763 64.1344 150 64.61 150 65Z"}),s.jsx("rect",{strokeWidth:"2",stroke:"#282828",fill:"#FFFCAB",rx:"1",height:"7",width:"5",y:"63",x:"187"}),s.jsx("rect",{strokeWidth:"2",stroke:"#282828",fill:"#282828",rx:"1",height:"11",width:"4",y:"81",x:"193"}),s.jsx("rect",{strokeWidth:"3",stroke:"#282828",fill:"#DFDFDF",rx:"2.5",height:"90",width:"121",y:"1.5",x:"6.5"}),s.jsx("rect",{strokeWidth:"2",stroke:"#282828",fill:"#DFDFDF",rx:"2",height:"4",width:"6",y:"84",x:"1"})]})}),s.jsxs("div",{className:"truckTires",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30",className:"tiresvg",children:[s.jsx("circle",{strokeWidth:"3",stroke:"#282828",fill:"#282828",r:"13.5",cy:"15",cx:"15"}),s.jsx("circle",{fill:"#DFDFDF",r:"7",cy:"15",cx:"15"})]}),s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30",className:"tiresvg",children:[s.jsx("circle",{strokeWidth:"3",stroke:"#282828",fill:"#282828",r:"13.5",cy:"15",cx:"15"}),s.jsx("circle",{fill:"#DFDFDF",r:"7",cy:"15",cx:"15"})]})]}),s.jsx("div",{className:"road"}),s.jsx("svg",{xmlSpace:"preserve",viewBox:"0 0 453.459 453.459",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg",id:"Capa_1",version:"1.1",fill:"#000000",className:"lampPost",children:s.jsx("path",{d:`M252.882,0c-37.781,0-68.686,29.953-70.245,67.358h-6.917v8.954c-26.109,2.163-45.463,10.011-45.463,19.366h9.993\r +import{f as c,S as s}from"./antd-Afm2kNt7.js";import{b as i,o as l,aj as h}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const w=()=>{let[e]=i(),r=l(e.get("websiteId"),"");return c.useEffect(()=>{h.accessWebsite(r).then(t=>{window.location.href=t})},[]),s.jsx("div",{className:"flex items-center justify-center h-screen",children:s.jsx("div",{className:"loader",children:s.jsxs("div",{className:"truckWrapper",children:[s.jsx("div",{className:"truckBody",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 198 93",className:"trucksvg",children:[s.jsx("path",{strokeWidth:"3",stroke:"#282828",fill:"#F83D3D",d:"M135 22.5H177.264C178.295 22.5 179.22 23.133 179.594 24.0939L192.33 56.8443C192.442 57.1332 192.5 57.4404 192.5 57.7504V89C192.5 90.3807 191.381 91.5 190 91.5H135C133.619 91.5 132.5 90.3807 132.5 89V25C132.5 23.6193 133.619 22.5 135 22.5Z"}),s.jsx("path",{strokeWidth:"3",stroke:"#282828",fill:"#7D7C7C",d:"M146 33.5H181.741C182.779 33.5 183.709 34.1415 184.078 35.112L190.538 52.112C191.16 53.748 189.951 55.5 188.201 55.5H146C144.619 55.5 143.5 54.3807 143.5 53V36C143.5 34.6193 144.619 33.5 146 33.5Z"}),s.jsx("path",{strokeWidth:"2",stroke:"#282828",fill:"#282828",d:"M150 65C150 65.39 149.763 65.8656 149.127 66.2893C148.499 66.7083 147.573 67 146.5 67C145.427 67 144.501 66.7083 143.873 66.2893C143.237 65.8656 143 65.39 143 65C143 64.61 143.237 64.1344 143.873 63.7107C144.501 63.2917 145.427 63 146.5 63C147.573 63 148.499 63.2917 149.127 63.7107C149.763 64.1344 150 64.61 150 65Z"}),s.jsx("rect",{strokeWidth:"2",stroke:"#282828",fill:"#FFFCAB",rx:"1",height:"7",width:"5",y:"63",x:"187"}),s.jsx("rect",{strokeWidth:"2",stroke:"#282828",fill:"#282828",rx:"1",height:"11",width:"4",y:"81",x:"193"}),s.jsx("rect",{strokeWidth:"3",stroke:"#282828",fill:"#DFDFDF",rx:"2.5",height:"90",width:"121",y:"1.5",x:"6.5"}),s.jsx("rect",{strokeWidth:"2",stroke:"#282828",fill:"#DFDFDF",rx:"2",height:"4",width:"6",y:"84",x:"1"})]})}),s.jsxs("div",{className:"truckTires",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30",className:"tiresvg",children:[s.jsx("circle",{strokeWidth:"3",stroke:"#282828",fill:"#282828",r:"13.5",cy:"15",cx:"15"}),s.jsx("circle",{fill:"#DFDFDF",r:"7",cy:"15",cx:"15"})]}),s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 30 30",className:"tiresvg",children:[s.jsx("circle",{strokeWidth:"3",stroke:"#282828",fill:"#282828",r:"13.5",cy:"15",cx:"15"}),s.jsx("circle",{fill:"#DFDFDF",r:"7",cy:"15",cx:"15"})]})]}),s.jsx("div",{className:"road"}),s.jsx("svg",{xmlSpace:"preserve",viewBox:"0 0 453.459 453.459",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/svg",id:"Capa_1",version:"1.1",fill:"#000000",className:"lampPost",children:s.jsx("path",{d:`M252.882,0c-37.781,0-68.686,29.953-70.245,67.358h-6.917v8.954c-26.109,2.163-45.463,10.011-45.463,19.366h9.993\r c-1.65,5.146-2.507,10.54-2.507,16.017c0,28.956,23.558,52.514,52.514,52.514c28.956,0,52.514-23.558,52.514-52.514\r c0-5.478-0.856-10.872-2.506-16.017h9.992c0-9.354-19.352-17.204-45.463-19.366v-8.954h-6.149C200.189,38.779,223.924,16,252.882,16\r c29.952,0,54.32,24.368,54.32,54.32c0,28.774-11.078,37.009-25.105,47.437c-17.444,12.968-37.216,27.667-37.216,78.884v113.914\r diff --git a/server/resource/build/assets/CertificatePage-S9M5FoJH.js b/server/resource/build/assets/CertificatePage-B2tj9A2w.js similarity index 98% rename from server/resource/build/assets/CertificatePage-S9M5FoJH.js rename to server/resource/build/assets/CertificatePage-B2tj9A2w.js index b88edd87f..881bdf7f4 100644 --- a/server/resource/build/assets/CertificatePage-S9M5FoJH.js +++ b/server/resource/build/assets/CertificatePage-B2tj9A2w.js @@ -1,2 +1,2 @@ -var V=Object.defineProperty;var X=(t,c,a)=>c in t?V(t,c,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[c]=a;var _=(t,c,a)=>X(t,typeof c!="symbol"?c+"":c,a);import{f,S as e,U as q,aK as W,aT as g,aV as U,bH as G,aU as D,aM as J,bO as Y,aI as H,au as Z,a_ as N,a$ as Q,av as b,b2 as $,c5 as ee,c6 as se,c7 as te,bi as j,c4 as T,bI as re,bz as ae}from"./antd-Afm2kNt7.js";import{g as ne}from"./sort-BOdE-yay.js";import{u as C,m as K,r as P,H as ie,I as le,h as L}from"./index-BdfI9ZEv.js";import{N as E}from"./NButton-DoPcvKBF.js";import{c as M}from"./certificate-api-Dxdo9Mos.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const oe=M,ce=({open:t,handleOk:c,handleCancel:a,confirmLoading:i,id:l})=>{const d=f.useRef(null);let{t:o}=C();const m=async()=>l?await oe.getById(l):{type:"self-signed",renewBefore:30,requireClientAuth:!1};return e.jsx(q,{title:o(l?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{d.current?.validateFields().then(async x=>{c(x)})},onCancel:()=>{a()},confirmLoading:i,children:e.jsxs(W,{formRef:d,request:m,submitter:!1,children:[e.jsx(g,{hidden:!0,name:"id"}),e.jsx(g,{name:"commonName",label:o("assets.domain"),rules:[{required:!0}],disabled:K.hasText(l)}),e.jsx(U.Group,{label:o("assets.certificates.type"),name:"type",rules:[{required:!0}],options:[{label:o("assets.certificates.self_signed"),value:"self-signed"},{label:o("assets.certificates.issued"),value:"issued"},{label:o("assets.certificates.imported"),value:"imported"}],disabled:K.hasText(l)}),e.jsx(G,{name:["type"],children:({type:x})=>{switch(x){case"self-signed":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"p-4 border rounded-lg space-y-1 mb-4",children:[e.jsx("div",{className:"font-medium",children:o("assets.certificates.self_signed_tip_title")}),e.jsxs("div",{children:[o("assets.certificates.self_signed_root_ca_cert_path")," ./data/root_ca_cert.pem"]}),e.jsxs("div",{children:[o("assets.certificates.self_signed_root_ca_key_path")," ./data/root_ca_key.pem"]})]}),e.jsx(Y,{name:"requireClientAuth",label:"mTLS"})]});case"issued":return e.jsx(e.Fragment,{children:e.jsx(J,{label:o("assets.certificates.renew_before"),name:"renewBefore",rules:[{required:!0}],fieldProps:{addonAfter:o("general.days"),min:0,max:3650,step:1}})});case"imported":return e.jsxs(e.Fragment,{children:[e.jsx(D,{label:o("assets.cert"),name:"certificate",fieldProps:{rows:4,allowClear:!0},rules:[{required:!0}]}),e.jsx(D,{label:o("assets.private_key"),name:"privateKey",fieldProps:{rows:4,allowClear:!0},rules:[{required:!0}]})]})}}})]})})};class de{constructor(){_(this,"group","admin/dns-providers");_(this,"get",async()=>await P.get(`/${this.group}/config`));_(this,"set",async c=>await P.put(`/${this.group}/config`,c));_(this,"remove",async()=>{await P.delete(`/${this.group}/config`)})}}let z=new de;const ue=({open:t,handleOk:c,handleCancel:a})=>{const i=f.useRef(null);let{t:l}=C(),[d,o]=f.useState(!1),{modal:m,message:x}=H.useApp();const w=async()=>{const u=await z.get();return u.ok===!0?(o(!0),u):{type:"tencentcloud"}};return e.jsx(q,{title:l("assets.dns_provider_config"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{i.current?.validateFields().then(async u=>{c(u)})},onCancel:a,confirmLoading:!1,okText:l("assets.dns_providers.set"),okButtonProps:{disabled:d},cancelButtonProps:{color:"red",variant:"filled",disabled:!d,onClick:async()=>{m.confirm({title:l("assets.dns_providers.remove_confirm_title"),content:l("assets.dns_providers.remove_confirm_content"),onOk:()=>{z.remove().then(()=>{i.current?.setFieldsValue({type:"tencentcloud",tencentcloud:{secretId:"",secretKey:""},alidns:{accessKeyId:"",accessKeySecret:""},cloudflare:{apiToken:"",zoneToken:""},huaweicloud:{accessKeyId:"",secretAccessKey:""}}),o(!1),x.open({type:"success",content:l("general.success")})})}})}},cancelText:l("assets.dns_providers.remove"),children:e.jsxs(W,{formRef:i,request:w,submitter:!1,disabled:d,children:[e.jsx(g,{hidden:!0,name:"id"}),e.jsx(U.Group,{label:l("assets.dns_providers.type"),name:"type",rules:[{required:!0}],options:[{label:l("assets.dns_providers.tencentcloud"),value:"tencentcloud"},{label:l("assets.dns_providers.alidns"),value:"alidns"},{label:l("assets.dns_providers.huaweicloud"),value:"huaweicloud"},{label:l("assets.dns_providers.cloudflare"),value:"cloudflare"}]}),e.jsx(G,{name:["type"],children:({type:u})=>{switch(u){case"tencentcloud":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"SecretId",name:["tencentcloud","secretId"]}),e.jsx(g,{label:"SecretKey",name:["tencentcloud","secretKey"]})]});case"alidns":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"AccessKeyId",name:["alidns","accessKeyId"]}),e.jsx(g,{label:"AccessKeySecret",name:["alidns","accessKeySecret"]})]});case"huaweicloud":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"AccessKeyId",name:["huaweicloud","accessKeyId"]}),e.jsx(g,{label:"SecretAccessKey",name:["huaweicloud","secretAccessKey"]})]});case"cloudflare":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"ApiToken",name:["cloudflare","apiToken"]}),e.jsx(g,{label:"ZoneToken",name:["cloudflare","zoneToken"]})]})}}})]})})},{Text:y}=Q,fe=({open:t,onClose:c})=>{let{t:a}=C();const[i,l]=f.useState([]),[d,o]=f.useState(!1),[m,x]=f.useState(!0),w=f.useRef(null),u=f.useRef(null),S=r=>{try{const s=JSON.parse(r);let p=s.msg||"";s.logger&&s.logger!=="default"&&(p=`[${s.logger}] ${p}`);const n=[];return s.identifier&&n.push(`identifier=${s.identifier}`),s.challenge_type&&n.push(`challenge_type=${s.challenge_type}`),s.ca&&n.push(`ca=${s.ca}`),s.account&&n.push(`account=${s.account}`),s.status_code&&n.push(`status=${s.status_code}`),s.method&&n.push(`method=${s.method}`),s.url&&n.push(`url=${s.url}`),s.error&&n.push(`error=${s.error}`),s.count&&n.push(`count=${s.count}`),s.names&&Array.isArray(s.names)&&n.push(`names=[${s.names.join(", ")}]`),n.length>0&&(p+=` (${n.join(", ")})`),{timestamp:s.time||new Date().toISOString(),level:(s.level||"INFO").toUpperCase(),message:p||r,raw:r}}catch{const s=r.match(/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\s+(\w+)\s+(.+)/);return s?{timestamp:s[1],level:s[2].toUpperCase(),message:s[3],raw:r}:{timestamp:new Date().toISOString().replace("T"," ").substring(0,19),level:"INFO",message:r,raw:r}}},k=r=>{switch(r.toUpperCase()){case"ERROR":return"#ff4d4f";case"WARN":case"WARNING":return"#faad14";case"INFO":return"#1890ff";case"DEBUG":return"#52c41a";default:return"#d9d9d9"}},R=r=>{switch(r.toUpperCase()){case"ERROR":return"ERR";case"WARN":case"WARNING":return"WRN";case"INFO":return"INF";case"DEBUG":return"DBG";default:return"LOG"}};f.useEffect(()=>{if(!t)return;const r=new EventSource(`${ie()}/admin/certificates/issued/log?X-Auth-Token=${le()}`);return r.onmessage=s=>{if(!d){const p=S(s.data);l(n=>[...n,p])}},r.onerror=s=>{console.error("SSE connection error:",s),r.close()},()=>{r.close()}},[t,d]),f.useEffect(()=>{m&&!d&&w.current?.scrollIntoView({behavior:"smooth"})},[i,m,d]);const I=()=>{if(u.current){const{scrollTop:r,scrollHeight:s,clientHeight:p}=u.current,n=r+p>=s-10;x(n)}},A=()=>{const r=i.map(h=>h.raw).join(` +var V=Object.defineProperty;var X=(t,c,a)=>c in t?V(t,c,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[c]=a;var _=(t,c,a)=>X(t,typeof c!="symbol"?c+"":c,a);import{f,S as e,U as q,aK as W,aT as g,aV as U,bH as G,aU as D,aM as J,bO as Y,aI as H,au as Z,a_ as N,a$ as Q,av as b,b2 as $,c5 as ee,c6 as se,c7 as te,bi as j,c4 as T,bI as re,bz as ae}from"./antd-Afm2kNt7.js";import{g as ne}from"./sort-BOdE-yay.js";import{u as C,m as K,r as P,H as ie,I as le,h as L}from"./index-DQXwuKC5.js";import{N as E}from"./NButton-DoPcvKBF.js";import{c as M}from"./certificate-api-CCI2Z4Qf.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const oe=M,ce=({open:t,handleOk:c,handleCancel:a,confirmLoading:i,id:l})=>{const d=f.useRef(null);let{t:o}=C();const m=async()=>l?await oe.getById(l):{type:"self-signed",renewBefore:30,requireClientAuth:!1};return e.jsx(q,{title:o(l?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{d.current?.validateFields().then(async x=>{c(x)})},onCancel:()=>{a()},confirmLoading:i,children:e.jsxs(W,{formRef:d,request:m,submitter:!1,children:[e.jsx(g,{hidden:!0,name:"id"}),e.jsx(g,{name:"commonName",label:o("assets.domain"),rules:[{required:!0}],disabled:K.hasText(l)}),e.jsx(U.Group,{label:o("assets.certificates.type"),name:"type",rules:[{required:!0}],options:[{label:o("assets.certificates.self_signed"),value:"self-signed"},{label:o("assets.certificates.issued"),value:"issued"},{label:o("assets.certificates.imported"),value:"imported"}],disabled:K.hasText(l)}),e.jsx(G,{name:["type"],children:({type:x})=>{switch(x){case"self-signed":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"p-4 border rounded-lg space-y-1 mb-4",children:[e.jsx("div",{className:"font-medium",children:o("assets.certificates.self_signed_tip_title")}),e.jsxs("div",{children:[o("assets.certificates.self_signed_root_ca_cert_path")," ./data/root_ca_cert.pem"]}),e.jsxs("div",{children:[o("assets.certificates.self_signed_root_ca_key_path")," ./data/root_ca_key.pem"]})]}),e.jsx(Y,{name:"requireClientAuth",label:"mTLS"})]});case"issued":return e.jsx(e.Fragment,{children:e.jsx(J,{label:o("assets.certificates.renew_before"),name:"renewBefore",rules:[{required:!0}],fieldProps:{addonAfter:o("general.days"),min:0,max:3650,step:1}})});case"imported":return e.jsxs(e.Fragment,{children:[e.jsx(D,{label:o("assets.cert"),name:"certificate",fieldProps:{rows:4,allowClear:!0},rules:[{required:!0}]}),e.jsx(D,{label:o("assets.private_key"),name:"privateKey",fieldProps:{rows:4,allowClear:!0},rules:[{required:!0}]})]})}}})]})})};class de{constructor(){_(this,"group","admin/dns-providers");_(this,"get",async()=>await P.get(`/${this.group}/config`));_(this,"set",async c=>await P.put(`/${this.group}/config`,c));_(this,"remove",async()=>{await P.delete(`/${this.group}/config`)})}}let z=new de;const ue=({open:t,handleOk:c,handleCancel:a})=>{const i=f.useRef(null);let{t:l}=C(),[d,o]=f.useState(!1),{modal:m,message:x}=H.useApp();const w=async()=>{const u=await z.get();return u.ok===!0?(o(!0),u):{type:"tencentcloud"}};return e.jsx(q,{title:l("assets.dns_provider_config"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{i.current?.validateFields().then(async u=>{c(u)})},onCancel:a,confirmLoading:!1,okText:l("assets.dns_providers.set"),okButtonProps:{disabled:d},cancelButtonProps:{color:"red",variant:"filled",disabled:!d,onClick:async()=>{m.confirm({title:l("assets.dns_providers.remove_confirm_title"),content:l("assets.dns_providers.remove_confirm_content"),onOk:()=>{z.remove().then(()=>{i.current?.setFieldsValue({type:"tencentcloud",tencentcloud:{secretId:"",secretKey:""},alidns:{accessKeyId:"",accessKeySecret:""},cloudflare:{apiToken:"",zoneToken:""},huaweicloud:{accessKeyId:"",secretAccessKey:""}}),o(!1),x.open({type:"success",content:l("general.success")})})}})}},cancelText:l("assets.dns_providers.remove"),children:e.jsxs(W,{formRef:i,request:w,submitter:!1,disabled:d,children:[e.jsx(g,{hidden:!0,name:"id"}),e.jsx(U.Group,{label:l("assets.dns_providers.type"),name:"type",rules:[{required:!0}],options:[{label:l("assets.dns_providers.tencentcloud"),value:"tencentcloud"},{label:l("assets.dns_providers.alidns"),value:"alidns"},{label:l("assets.dns_providers.huaweicloud"),value:"huaweicloud"},{label:l("assets.dns_providers.cloudflare"),value:"cloudflare"}]}),e.jsx(G,{name:["type"],children:({type:u})=>{switch(u){case"tencentcloud":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"SecretId",name:["tencentcloud","secretId"]}),e.jsx(g,{label:"SecretKey",name:["tencentcloud","secretKey"]})]});case"alidns":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"AccessKeyId",name:["alidns","accessKeyId"]}),e.jsx(g,{label:"AccessKeySecret",name:["alidns","accessKeySecret"]})]});case"huaweicloud":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"AccessKeyId",name:["huaweicloud","accessKeyId"]}),e.jsx(g,{label:"SecretAccessKey",name:["huaweicloud","secretAccessKey"]})]});case"cloudflare":return e.jsxs(e.Fragment,{children:[e.jsx(g,{label:"ApiToken",name:["cloudflare","apiToken"]}),e.jsx(g,{label:"ZoneToken",name:["cloudflare","zoneToken"]})]})}}})]})})},{Text:y}=Q,fe=({open:t,onClose:c})=>{let{t:a}=C();const[i,l]=f.useState([]),[d,o]=f.useState(!1),[m,x]=f.useState(!0),w=f.useRef(null),u=f.useRef(null),S=r=>{try{const s=JSON.parse(r);let p=s.msg||"";s.logger&&s.logger!=="default"&&(p=`[${s.logger}] ${p}`);const n=[];return s.identifier&&n.push(`identifier=${s.identifier}`),s.challenge_type&&n.push(`challenge_type=${s.challenge_type}`),s.ca&&n.push(`ca=${s.ca}`),s.account&&n.push(`account=${s.account}`),s.status_code&&n.push(`status=${s.status_code}`),s.method&&n.push(`method=${s.method}`),s.url&&n.push(`url=${s.url}`),s.error&&n.push(`error=${s.error}`),s.count&&n.push(`count=${s.count}`),s.names&&Array.isArray(s.names)&&n.push(`names=[${s.names.join(", ")}]`),n.length>0&&(p+=` (${n.join(", ")})`),{timestamp:s.time||new Date().toISOString(),level:(s.level||"INFO").toUpperCase(),message:p||r,raw:r}}catch{const s=r.match(/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\s+(\w+)\s+(.+)/);return s?{timestamp:s[1],level:s[2].toUpperCase(),message:s[3],raw:r}:{timestamp:new Date().toISOString().replace("T"," ").substring(0,19),level:"INFO",message:r,raw:r}}},k=r=>{switch(r.toUpperCase()){case"ERROR":return"#ff4d4f";case"WARN":case"WARNING":return"#faad14";case"INFO":return"#1890ff";case"DEBUG":return"#52c41a";default:return"#d9d9d9"}},R=r=>{switch(r.toUpperCase()){case"ERROR":return"ERR";case"WARN":case"WARNING":return"WRN";case"INFO":return"INF";case"DEBUG":return"DBG";default:return"LOG"}};f.useEffect(()=>{if(!t)return;const r=new EventSource(`${ie()}/admin/certificates/issued/log?X-Auth-Token=${le()}`);return r.onmessage=s=>{if(!d){const p=S(s.data);l(n=>[...n,p])}},r.onerror=s=>{console.error("SSE connection error:",s),r.close()},()=>{r.close()}},[t,d]),f.useEffect(()=>{m&&!d&&w.current?.scrollIntoView({behavior:"smooth"})},[i,m,d]);const I=()=>{if(u.current){const{scrollTop:r,scrollHeight:s,clientHeight:p}=u.current,n=r+p>=s-10;x(n)}},A=()=>{const r=i.map(h=>h.raw).join(` `),s=new Blob([r],{type:"text/plain"}),p=URL.createObjectURL(s),n=document.createElement("a");n.href=p,n.download=`certificate-logs-${new Date().toISOString().split("T")[0]}.log`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(p)},O=()=>{o(!d)};return e.jsx(Z,{title:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsx("span",{children:a("assets.certificates.issued_log")}),e.jsxs(N,{children:[e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[i.length," ",a("assets.certificates.log_viewer.stats.total_logs")]}),e.jsx($,{title:a(d?"assets.certificates.log_viewer.actions.resume":"assets.certificates.log_viewer.actions.pause"),children:e.jsx(b,{size:"small",icon:d?e.jsx(ee,{}):e.jsx(se,{}),onClick:O,type:d?"primary":"default"})}),e.jsx($,{title:a("assets.certificates.log_viewer.actions.download"),children:e.jsx(b,{size:"small",icon:e.jsx(te,{}),onClick:A,disabled:i.length===0})})]})]}),onClose:c,open:t,width:window.innerWidth*.85,styles:{body:{padding:0}},children:e.jsxs("div",{style:{height:"100%",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{padding:"8px 16px",backgroundColor:"#f5f5f5",borderBottom:"1px solid #d9d9d9",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(N,{children:[e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[a("general.status"),": ",d?e.jsx(y,{type:"warning",children:a("assets.certificates.log_viewer.status.paused")}):e.jsx(y,{type:"success",children:a("assets.certificates.log_viewer.status.realtime")})]}),!m&&e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[a("assets.certificates.log_viewer.stats.auto_scroll"),": ",e.jsx(y,{type:"warning",children:a("assets.certificates.log_viewer.status.auto_scroll_disabled")})]})]}),e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[a("assets.certificates.log_viewer.stats.last_update"),": ",i.length>0?i[i.length-1].timestamp:a("general.no")]})]}),e.jsxs("div",{ref:u,onScroll:I,style:{flex:1,backgroundColor:"#0d1117",color:"#c9d1d9",fontFamily:"'Fira Code', 'Consolas', 'Monaco', monospace",fontSize:"13px",lineHeight:"1.5",padding:"12px",overflowY:"auto",overflowX:"hidden"},children:[i.length===0?e.jsxs("div",{style:{textAlign:"center",color:"#8b949e",marginTop:"50px"},children:[e.jsx("div",{style:{fontSize:"24px",marginBottom:"16px",fontWeight:"bold"},children:"LOG"}),e.jsx("div",{children:a("assets.certificates.log_viewer.stats.no_data")}),e.jsx("div",{style:{fontSize:"12px",marginTop:"8px"},children:a("assets.certificates.log_viewer.stats.no_data_desc")})]}):i.map((r,s)=>e.jsx("div",{style:{marginBottom:"2px",padding:"4px 6px",borderRadius:"3px",backgroundColor:r.level==="ERROR"?"rgba(248, 81, 73, 0.1)":r.level==="WARN"||r.level==="WARNING"?"rgba(250, 173, 20, 0.1)":"transparent",borderLeft:`3px solid ${k(r.level)}`,transition:"all 0.2s ease"},children:e.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"6px"},children:[e.jsx("span",{style:{color:k(r.level),fontSize:"10px",fontWeight:"bold",minWidth:"28px",textAlign:"center",backgroundColor:"rgba(255,255,255,0.1)",borderRadius:"2px",padding:"1px 2px"},children:R(r.level)}),e.jsx("span",{style:{color:"#8b949e",fontSize:"11px",minWidth:"140px",fontFamily:"monospace"},children:r.timestamp}),e.jsx("span",{style:{flex:1,wordBreak:"break-word",whiteSpace:"pre-wrap",lineHeight:"1.4"},children:r.message})]})},s)),e.jsx("div",{ref:w})]}),i.length>0&&e.jsxs("div",{style:{padding:"8px 16px",backgroundColor:"#f5f5f5",borderTop:"1px solid #d9d9d9",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(N,{children:[e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[a("general.error"),": ",i.filter(r=>r.level==="ERROR").length]}),e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[a("assets.certificates.log_viewer.stats.warnings"),": ",i.filter(r=>r.level==="WARN"||r.level==="WARNING").length]}),e.jsxs(y,{type:"secondary",style:{fontSize:"12px"},children:[a("assets.certificates.log_viewer.stats.info"),": ",i.filter(r=>r.level==="INFO").length]})]}),!m&&e.jsx(b,{size:"small",type:"link",onClick:()=>{x(!0),w.current?.scrollIntoView({behavior:"smooth"})},children:a("assets.certificates.log_viewer.actions.scroll_to_bottom")})]})]})})},v=M,be=()=>{const{t}=C(),c=f.useRef(null);let[a,i]=f.useState(!1),[l,d]=f.useState(),[o,m]=f.useState(!1),[x,w]=f.useState(!1);const{message:u,modal:S}=H.useApp(),k=async r=>{r.id?await v.updateById(r.id,r):await v.create(r)};let R=L({mutationFn:z.set,onSuccess:()=>{m(!1),u.open({type:"success",content:t("general.success")})}}),I=L({mutationFn:k,onSuccess:()=>{c.current?.reload(),i(!1),d(void 0),A()}});function A(){u.open({type:"success",content:t("general.success")})}const O=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("assets.domain"),dataIndex:"commonName",hideInSearch:!0},{title:t("assets.certificates.type"),dataIndex:"type",key:"type",hideInSearch:!0,width:160,render:(r,s)=>{switch(s.type){case"self-signed":return e.jsx(j,{bordered:!1,color:"blue",children:t("assets.certificates.self_signed")});case"issued":return e.jsx(j,{bordered:!1,color:"orange",children:t("assets.certificates.issued")});case"imported":return e.jsx(j,{bordered:!1,color:"volcano",children:t("assets.certificates.imported")})}}},{title:"mTLS",dataIndex:"requireClientAuth",key:"requireClientAuth",hideInSearch:!0,width:100,render:(r,s)=>s.requireClientAuth?e.jsx(j,{bordered:!1,color:"green-inverse",children:t("general.yes")}):e.jsx(j,{bordered:!1,color:"gray",children:t("general.no")})},{title:t("assets.certificates.is_default"),dataIndex:"isDefault",key:"isDefault",hideInSearch:!0,width:100,render:(r,s)=>s.isDefault?e.jsx(j,{bordered:!1,color:"green-inverse",children:t("general.yes")}):e.jsx(j,{bordered:!1,color:"gray",children:t("general.no")}),tooltip:t("assets.certificates.is_default_tooltip")},{title:t("assets.certificates.issuer"),dataIndex:"issuer",hideInSearch:!0,ellipsis:!0},{title:t("assets.certificates.issuedStatus"),dataIndex:"issuedStatus",key:"issuedStatus",hideInSearch:!0,width:120,render:(r,s)=>{switch(s.issuedStatus){case"pending":return e.jsx(T,{status:"processing",text:t("assets.certificates.issuedPending")});case"success":return e.jsx(T,{status:"success",text:t("assets.certificates.issuedSuccess")});case"failed":return e.jsx($,{title:s.issuedError,children:e.jsx(T,{status:"error",text:t("assets.certificates.issuedFailed")})})}}},{title:t("assets.certificates.not_after"),dataIndex:"notAfter",key:"notAfter",hideInSearch:!0,valueType:"dateTime",width:191,defaultSortOrder:"ascend",sorter:!0},{title:t("actions.label"),valueType:"option",key:"option",width:180,render:(r,s,p,n)=>[e.jsx(E,{onClick:()=>{v.updateAsDefault(s.id).then(()=>{n.reload()})},disabled:s.isDefault,children:t("assets.certificates.set_as_default")},"set_as_default"),e.jsx(E,{onClick:()=>{i(!0),d(s.id)},disabled:s.type==="self-signed",children:t("actions.edit")},"edit"),e.jsx(re,{menus:[{key:"download",name:t("assets.certificates.download"),onClick:()=>{v.download(s.id,s.commonName)}},{key:"renew",name:t("assets.certificates.renew"),disabled:s.type!=="issued",onClick:()=>{S.confirm({title:t("assets.certificates.renew_confirm"),content:t("assets.certificates.renew_confirm_content"),onOk:async()=>{try{const h=await v.renew(s.id);h.success?(u.success(t("general.success")),c.current?.reload()):h.warning?u.warning(h.error||t("general.failed")):u.error(h.error||t("general.failed"))}catch(h){const F=h?.response?.data?.message||h?.message||t("general.failed");u.error(F)}}})}},{key:"delete",name:t("actions.delete"),danger:!0,onClick:()=>{S.confirm({title:t("general.confirm_delete"),onOk:async()=>{await v.deleteById(s.id),c.current?.reload()}})}}]},"actionGroup")]}];return e.jsxs("div",{className:"",children:[e.jsx(ae,{columns:O,actionRef:c,request:async(r={},s,p)=>{let[n,h]=ne(s),F={pageIndex:r.current,pageSize:r.pageSize,order:n,field:h,keyword:r.keyword},B=await v.getPaging(F);return{data:B.items,success:!0,total:B.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.resource.submenus.certificate"),toolBarRender:()=>[e.jsx(b,{type:"primary",onClick:()=>{i(!0)},children:t("actions.new")},"new"),e.jsx(b,{color:"purple",variant:"filled",onClick:()=>{m(!0)},children:t("assets.dns_providers.set")},"dns-set"),e.jsx(b,{color:"orange",variant:"filled",onClick:()=>{w(!0)},children:t("assets.certificates.issued_log")},"dns-log")]}),e.jsx(ce,{id:l,open:a,confirmLoading:I.isPending,handleCancel:()=>{i(!1),d(void 0)},handleOk:I.mutate}),e.jsx(ue,{open:o,handleCancel:()=>{m(!1)},handleOk:R.mutate}),e.jsx(fe,{open:x,onClose:()=>{w(!1)}})]})};export{be as default}; diff --git a/server/resource/build/assets/CommandFilterDetail-DF5yiZYa.js b/server/resource/build/assets/CommandFilterDetail-BeaIU-md.js similarity index 97% rename from server/resource/build/assets/CommandFilterDetail-DF5yiZYa.js rename to server/resource/build/assets/CommandFilterDetail-BeaIU-md.js index 3e08668db..097ebcd05 100644 --- a/server/resource/build/assets/CommandFilterDetail-DF5yiZYa.js +++ b/server/resource/build/assets/CommandFilterDetail-BeaIU-md.js @@ -1 +1 @@ -import{S as e,bL as f,f as c,U as R,aK as T,aT as w,aM as q,aV as F,aN as A,aI as B,bi as x,c4 as S,aS as K,bz as O,av as z,b4 as N}from"./antd-Afm2kNt7.js";import{c as M}from"./command-filter-api-DlKwuBlA.js";import{u as h,A as W,h as D,p as U,b as E,o as G}from"./index-BdfI9ZEv.js";import{g as L}from"./sort-BOdE-yay.js";import{N as P}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const $=M,H=({id:o})=>{let{t}=h();const i=async()=>({success:!0,data:await $.getById(o)});return e.jsx("div",{className:"page-detail-info",children:e.jsxs(f,{column:1,request:i,children:[e.jsx(f.Item,{label:t("general.name"),dataIndex:"name"}),e.jsx(f.Item,{label:t("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})};class V extends W{constructor(){super("admin/command-filter-rules")}}const b=new V,J=b,Q=({open:o,handleOk:t,handleCancel:i,confirmLoading:s,id:n})=>{const l=c.useRef(null);let{t:a}=h();const d=async()=>n?await J.getById(n):{type:"command",priority:50,action:"reject",enabled:!0};return e.jsx(R,{title:a(n?"actions.edit":"actions.new"),open:o,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async u=>{t(u)})},onCancel:()=>{i()},confirmLoading:s,children:e.jsxs(T,{formRef:l,request:d,submitter:!1,children:[e.jsx(w,{hidden:!0,name:"id"}),e.jsx(q,{label:a("identity.policy.priority"),name:"priority",rules:[{required:!0}],extra:a("authorised.command_filter.rule.priority_extra"),min:1,max:100,fieldProps:{precision:0}}),e.jsx(F.Group,{label:a("authorised.command_filter.rule.type.label"),name:"type",rules:[{required:!0}],options:[{value:"command",label:a("authorised.command_filter.rule.type.command")},{value:"regexp",label:a("authorised.command_filter.rule.type.regexp")}]}),e.jsx(w,{label:a("authorised.command_filter.rule.match_content"),name:"command",rules:[{required:!0}]}),e.jsx(F.Group,{label:a("identity.policy.action.label"),name:"action",rules:[{required:!0}],options:[{value:"allow",label:a("identity.policy.action.allow")},{value:"reject",label:a("identity.policy.action.reject")}]}),e.jsx(A,{label:a("general.status"),name:"enabled",rules:[{required:!0}]})]})})},g=b,X=({id:o})=>{const{t}=h(),i=c.useRef(null);let[s,n]=c.useState(!1),[l,a]=c.useState();const{message:d}=B.useApp();let m=D({mutationFn:async r=>{r.commandFilterId=o,r.id?await g.updateById(r.id,r):await g.create(r)},onSuccess:()=>{i.current?.reload(),n(!1),a(void 0),p()}});function p(){d.open({type:"success",content:t("general.success")})}const _=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("identity.policy.priority"),key:"priority",dataIndex:"priority",sorter:!0,hideInSearch:!0},{title:t("authorised.command_filter.rule.type.label"),key:"type",dataIndex:"type",hideInSearch:!0,render:(r=>r==="regexp"?e.jsx(x,{color:"blue",children:t("authorised.command_filter.rule.type.regexp")}):e.jsx(x,{color:"geekblue",children:t("authorised.command_filter.rule.type.command")}))},{title:t("authorised.command_filter.rule.match_content"),key:"command",dataIndex:"command",sorter:!0},{title:t("identity.policy.action.label"),key:"action",dataIndex:"action",hideInSearch:!0,render:(r=>{switch(r){case"allow":return e.jsx(x,{color:"green",children:t("identity.policy.action.allow")});case"reject":return e.jsx(x,{color:"red",children:t("identity.policy.action.reject")})}})},{title:t("general.status"),key:"enabled",dataIndex:"enabled",hideInSearch:!0,render:(r=>r===!0?e.jsx(S,{status:"processing",text:t("general.enabled")}):e.jsx(S,{status:"default",text:t("general.disabled")}))},{title:t("actions.label"),valueType:"option",key:"option",render:(r,y,C,j)=>[e.jsx(P,{onClick:()=>{n(!0),a(y.id)},children:t("actions.edit")},"edit"),e.jsx(K,{title:t("general.confirm_delete"),onConfirm:async()=>{await g.deleteById(y.id),i.current?.reload()},children:e.jsx(P,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return e.jsxs("div",{children:[e.jsx(O,{columns:_,actionRef:i,request:async(r={},y,C)=>{let[j,k]=L(y),v={pageIndex:r.current,pageSize:r.pageSize,order:j,field:k,name:r.name,commandFilterId:o},I=await b.getPaging(v);return{data:I.items,success:!0,total:I.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("authorised.command_filter.options.rule"),toolBarRender:()=>[e.jsx(z,{type:"primary",onClick:()=>{n(!0)},children:t("actions.new")},"button")]}),e.jsx(Q,{id:l,open:s,confirmLoading:m.isPending,handleCancel:()=>{n(!1),a(void 0)},handleOk:m.mutate})]})},oe=()=>{const t=U().commandFilterId,[i,s]=E();let n=G(i.get("activeKey"),"info"),{t:l}=h(),[a,d]=c.useState(n);const u=p=>{d(p),s({activeKey:p})},m=[{label:l("actions.detail"),key:"info",children:e.jsx(H,{id:t})},{label:l("authorised.command_filter.options.rule"),key:"rules",children:e.jsx(X,{id:t})}];return e.jsx("div",{className:"px-4",children:e.jsx(N,{activeKey:a,onChange:u,items:m})})};export{oe as default}; +import{S as e,bL as f,f as c,U as R,aK as T,aT as w,aM as q,aV as F,aN as A,aI as B,bi as x,c4 as S,aS as K,bz as O,av as z,b4 as N}from"./antd-Afm2kNt7.js";import{c as M}from"./command-filter-api-BxXGNaHY.js";import{u as h,A as W,h as D,p as U,b as E,o as G}from"./index-DQXwuKC5.js";import{g as L}from"./sort-BOdE-yay.js";import{N as P}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const $=M,H=({id:o})=>{let{t}=h();const i=async()=>({success:!0,data:await $.getById(o)});return e.jsx("div",{className:"page-detail-info",children:e.jsxs(f,{column:1,request:i,children:[e.jsx(f.Item,{label:t("general.name"),dataIndex:"name"}),e.jsx(f.Item,{label:t("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})};class V extends W{constructor(){super("admin/command-filter-rules")}}const b=new V,J=b,Q=({open:o,handleOk:t,handleCancel:i,confirmLoading:s,id:n})=>{const l=c.useRef(null);let{t:a}=h();const d=async()=>n?await J.getById(n):{type:"command",priority:50,action:"reject",enabled:!0};return e.jsx(R,{title:a(n?"actions.edit":"actions.new"),open:o,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async u=>{t(u)})},onCancel:()=>{i()},confirmLoading:s,children:e.jsxs(T,{formRef:l,request:d,submitter:!1,children:[e.jsx(w,{hidden:!0,name:"id"}),e.jsx(q,{label:a("identity.policy.priority"),name:"priority",rules:[{required:!0}],extra:a("authorised.command_filter.rule.priority_extra"),min:1,max:100,fieldProps:{precision:0}}),e.jsx(F.Group,{label:a("authorised.command_filter.rule.type.label"),name:"type",rules:[{required:!0}],options:[{value:"command",label:a("authorised.command_filter.rule.type.command")},{value:"regexp",label:a("authorised.command_filter.rule.type.regexp")}]}),e.jsx(w,{label:a("authorised.command_filter.rule.match_content"),name:"command",rules:[{required:!0}]}),e.jsx(F.Group,{label:a("identity.policy.action.label"),name:"action",rules:[{required:!0}],options:[{value:"allow",label:a("identity.policy.action.allow")},{value:"reject",label:a("identity.policy.action.reject")}]}),e.jsx(A,{label:a("general.status"),name:"enabled",rules:[{required:!0}]})]})})},g=b,X=({id:o})=>{const{t}=h(),i=c.useRef(null);let[s,n]=c.useState(!1),[l,a]=c.useState();const{message:d}=B.useApp();let m=D({mutationFn:async r=>{r.commandFilterId=o,r.id?await g.updateById(r.id,r):await g.create(r)},onSuccess:()=>{i.current?.reload(),n(!1),a(void 0),p()}});function p(){d.open({type:"success",content:t("general.success")})}const _=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("identity.policy.priority"),key:"priority",dataIndex:"priority",sorter:!0,hideInSearch:!0},{title:t("authorised.command_filter.rule.type.label"),key:"type",dataIndex:"type",hideInSearch:!0,render:(r=>r==="regexp"?e.jsx(x,{color:"blue",children:t("authorised.command_filter.rule.type.regexp")}):e.jsx(x,{color:"geekblue",children:t("authorised.command_filter.rule.type.command")}))},{title:t("authorised.command_filter.rule.match_content"),key:"command",dataIndex:"command",sorter:!0},{title:t("identity.policy.action.label"),key:"action",dataIndex:"action",hideInSearch:!0,render:(r=>{switch(r){case"allow":return e.jsx(x,{color:"green",children:t("identity.policy.action.allow")});case"reject":return e.jsx(x,{color:"red",children:t("identity.policy.action.reject")})}})},{title:t("general.status"),key:"enabled",dataIndex:"enabled",hideInSearch:!0,render:(r=>r===!0?e.jsx(S,{status:"processing",text:t("general.enabled")}):e.jsx(S,{status:"default",text:t("general.disabled")}))},{title:t("actions.label"),valueType:"option",key:"option",render:(r,y,C,j)=>[e.jsx(P,{onClick:()=>{n(!0),a(y.id)},children:t("actions.edit")},"edit"),e.jsx(K,{title:t("general.confirm_delete"),onConfirm:async()=>{await g.deleteById(y.id),i.current?.reload()},children:e.jsx(P,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return e.jsxs("div",{children:[e.jsx(O,{columns:_,actionRef:i,request:async(r={},y,C)=>{let[j,k]=L(y),v={pageIndex:r.current,pageSize:r.pageSize,order:j,field:k,name:r.name,commandFilterId:o},I=await b.getPaging(v);return{data:I.items,success:!0,total:I.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("authorised.command_filter.options.rule"),toolBarRender:()=>[e.jsx(z,{type:"primary",onClick:()=>{n(!0)},children:t("actions.new")},"button")]}),e.jsx(Q,{id:l,open:s,confirmLoading:m.isPending,handleCancel:()=>{n(!1),a(void 0)},handleOk:m.mutate})]})},oe=()=>{const t=U().commandFilterId,[i,s]=E();let n=G(i.get("activeKey"),"info"),{t:l}=h(),[a,d]=c.useState(n);const u=p=>{d(p),s({activeKey:p})},m=[{label:l("actions.detail"),key:"info",children:e.jsx(H,{id:t})},{label:l("authorised.command_filter.options.rule"),key:"rules",children:e.jsx(X,{id:t})}];return e.jsx("div",{className:"px-4",children:e.jsx(N,{activeKey:a,onChange:u,items:m})})};export{oe as default}; diff --git a/server/resource/build/assets/CommandFilterPage-b_7r890m.js b/server/resource/build/assets/CommandFilterPage-DaXaMByx.js similarity index 95% rename from server/resource/build/assets/CommandFilterPage-b_7r890m.js rename to server/resource/build/assets/CommandFilterPage-DaXaMByx.js index cbc3a81fa..a9a3f826c 100644 --- a/server/resource/build/assets/CommandFilterPage-b_7r890m.js +++ b/server/resource/build/assets/CommandFilterPage-DaXaMByx.js @@ -1 +1 @@ -import{f as m,S as e,U as v,aK as I,aT as y,aI as T,aS as P,bI as F,bz as R,av as B}from"./antd-Afm2kNt7.js";import{c as w}from"./command-filter-api-DlKwuBlA.js";import{u as b,h as K,a as O}from"./index-BdfI9ZEv.js";import{g as z}from"./sort-BOdE-yay.js";import{N as j}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const A=w,_=({open:t,handleOk:o,handleCancel:u,confirmLoading:r,id:s})=>{const i=m.useRef(null);let{t:l}=b();const f=async()=>s?await A.getById(s):{};return e.jsx(v,{title:l(s?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{i.current?.validateFields().then(async d=>{o(d)})},onCancel:()=>{u()},confirmLoading:r,children:e.jsxs(I,{formRef:i,request:f,submitter:!1,children:[e.jsx(y,{hidden:!0,name:"id"}),e.jsx(y,{name:"name",label:l("general.name"),rules:[{required:!0}]})]})})},c=w,G=()=>{const{t}=b(),o=m.useRef(null);let[u,r]=m.useState(!1),[s,i]=m.useState();const{message:l}=T.useApp();let d=K({mutationFn:async a=>{a.id?await c.updateById(a.id,a):await c.create(a)},onSuccess:()=>{i(void 0),r(!1),o.current?.reload()}}),g=O();const S=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",render:(a,n)=>e.jsx("a",{onClick:()=>{r(!0),i(n.id)},children:a})},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0},{title:t("actions.label"),valueType:"option",key:"option",render:(a,n,k,x)=>[e.jsx(j,{onClick:()=>{r(!0),i(n.id)},children:t("actions.edit")},"edit"),e.jsx(P,{title:t("general.confirm_delete"),onConfirm:async()=>{await c.deleteById(n.id),o.current?.reload()},children:e.jsx(j,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm"),e.jsx(F,{onSelect:p=>{switch(p){case"command-filter-detail":g(`/command-filter/${n.id}?activeKey=info`);break;case"command-filter-rule":g(`/command-filter/${n.id}?activeKey=rules`);break}},menus:[{key:"command-filter-detail",name:t("actions.detail")},{key:"command-filter-rule",name:t("authorised.command_filter.options.rule")}]},"actionGroup")]}];return e.jsxs("div",{children:[e.jsx(R,{columns:S,actionRef:o,request:async(a={},n,k)=>{let[x,p]=z(n),C={pageIndex:a.current,pageSize:a.pageSize,order:x,field:p,name:a.name},h=await c.getPaging(C);return{data:h.items,success:!0,total:h.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.authorised.submenus.command_filter"),toolBarRender:()=>[e.jsx(B,{type:"primary",onClick:()=>{r(!0)},children:t("actions.new")},"button")]}),e.jsx(_,{id:s,open:u,confirmLoading:d.isPending,handleCancel:()=>{r(!1),i(void 0)},handleOk:d.mutate})]})};export{G as default}; +import{f as m,S as e,U as v,aK as I,aT as y,aI as T,aS as P,bI as F,bz as R,av as B}from"./antd-Afm2kNt7.js";import{c as w}from"./command-filter-api-BxXGNaHY.js";import{u as b,h as K,a as O}from"./index-DQXwuKC5.js";import{g as z}from"./sort-BOdE-yay.js";import{N as j}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const A=w,_=({open:t,handleOk:o,handleCancel:u,confirmLoading:r,id:s})=>{const i=m.useRef(null);let{t:l}=b();const f=async()=>s?await A.getById(s):{};return e.jsx(v,{title:l(s?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{i.current?.validateFields().then(async d=>{o(d)})},onCancel:()=>{u()},confirmLoading:r,children:e.jsxs(I,{formRef:i,request:f,submitter:!1,children:[e.jsx(y,{hidden:!0,name:"id"}),e.jsx(y,{name:"name",label:l("general.name"),rules:[{required:!0}]})]})})},c=w,G=()=>{const{t}=b(),o=m.useRef(null);let[u,r]=m.useState(!1),[s,i]=m.useState();const{message:l}=T.useApp();let d=K({mutationFn:async a=>{a.id?await c.updateById(a.id,a):await c.create(a)},onSuccess:()=>{i(void 0),r(!1),o.current?.reload()}}),g=O();const S=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",render:(a,n)=>e.jsx("a",{onClick:()=>{r(!0),i(n.id)},children:a})},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0},{title:t("actions.label"),valueType:"option",key:"option",render:(a,n,k,x)=>[e.jsx(j,{onClick:()=>{r(!0),i(n.id)},children:t("actions.edit")},"edit"),e.jsx(P,{title:t("general.confirm_delete"),onConfirm:async()=>{await c.deleteById(n.id),o.current?.reload()},children:e.jsx(j,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm"),e.jsx(F,{onSelect:p=>{switch(p){case"command-filter-detail":g(`/command-filter/${n.id}?activeKey=info`);break;case"command-filter-rule":g(`/command-filter/${n.id}?activeKey=rules`);break}},menus:[{key:"command-filter-detail",name:t("actions.detail")},{key:"command-filter-rule",name:t("authorised.command_filter.options.rule")}]},"actionGroup")]}];return e.jsxs("div",{children:[e.jsx(R,{columns:S,actionRef:o,request:async(a={},n,k)=>{let[x,p]=z(n),C={pageIndex:a.current,pageSize:a.pageSize,order:x,field:p,name:a.name},h=await c.getPaging(C);return{data:h.items,success:!0,total:h.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.authorised.submenus.command_filter"),toolBarRender:()=>[e.jsx(B,{type:"primary",onClick:()=>{r(!0)},children:t("actions.new")},"button")]}),e.jsx(_,{id:s,open:u,confirmLoading:d.isPending,handleCancel:()=>{r(!1),i(void 0)},handleOk:d.mutate})]})};export{G as default}; diff --git a/server/resource/build/assets/CredentialPage-C35A_WzA.js b/server/resource/build/assets/CredentialPage-Die5iQYX.js similarity index 98% rename from server/resource/build/assets/CredentialPage-C35A_WzA.js rename to server/resource/build/assets/CredentialPage-Die5iQYX.js index fab4e7f19..ec8447414 100644 --- a/server/resource/build/assets/CredentialPage-C35A_WzA.js +++ b/server/resource/build/assets/CredentialPage-Die5iQYX.js @@ -1 +1 @@ -import{f as d,S as e,U as T,aK as _,aT as m,aV as K,bH as O,c0 as S,bl as C,aU as A,av as j,aI as B,bi as I,bd as q,aS as M,bz as z}from"./antd-Afm2kNt7.js";import{c as k}from"./credential-api-Byw61SQu.js";import{u as F,M as V,h as N}from"./index-BdfI9ZEv.js";import{g as U}from"./sort-BOdE-yay.js";import{N as w}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const b=k,E=({open:t,handleOk:u,handleCancel:h,confirmLoading:c,id:i})=>{const l=d.useRef(null);let{t:a}=F(),[x,p]=d.useState(!1),[y,o]=d.useState(!1);d.useEffect(()=>{t||(p(!1),o(!1))},[t]);const s=async()=>i?await b.getById(i):{type:"password"};return e.jsxs(T,{title:a(i?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async r=>{u(r)})},onCancel:()=>{h()},confirmLoading:c,children:[e.jsxs(_,{formRef:l,request:s,submitter:!1,children:[e.jsx(m,{hidden:!0,name:"id"}),e.jsx(m,{name:"name",label:a("general.name"),rules:[{required:!0}]}),e.jsx(K.Group,{label:a("assets.type"),name:"type",rules:[{required:!0}],options:[{label:a("assets.password"),value:"password"},{label:a("assets.private_key"),value:"private-key"}]}),e.jsx(m,{label:a("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(O,{name:["type"],children:({type:r})=>{switch(r){case"private-key":return e.jsxs(e.Fragment,{children:[e.jsx(A,{label:a("assets.private_key"),name:"privateKey",fieldProps:{rows:4,allowClear:!0}}),e.jsxs("div",{className:"mb-4 -mt-2 flex items-center gap-2",children:[e.jsx(j,{color:"geekblue",variant:"filled",onClick:async()=>{l.current?.setFieldsValue({privateKey:`${await b.genPrivateKey()}`})},children:a("assets.generate_private_key")}),i&&e.jsx(j,{color:"purple",variant:"filled",onClick:async()=>{o(!0)},children:a("actions.view_private_key")})]}),e.jsx(m.Password,{label:a("assets.passphrase"),name:"passphrase",fieldProps:{iconRender:n=>n?e.jsx(S,{}):e.jsx(C,{}),visibilityToggle:{onVisibleChange:n=>{i&&n&&!x&&o(!0)}}}})]});case"password":return e.jsx(e.Fragment,{children:e.jsx(m.Password,{label:a("assets.password"),name:"password",fieldProps:{iconRender:n=>n?e.jsx(S,{}):e.jsx(C,{}),visibilityToggle:{onVisibleChange:n=>{i&&n&&!x&&o(!0)}}}})})}}})]}),e.jsx(V,{open:y,handleOk:async r=>{const n=await b.decrypt(i,r);l.current?.setFieldsValue(n),p(!0),o(!1)},handleCancel:()=>o(!1)})]})},f=k,X=()=>{const{t}=F(),u=d.useRef(null);let[h,c]=d.useState(!1),[i,l]=d.useState();const{message:a}=B.useApp();let p=N({mutationFn:async s=>{s.id?await f.updateById(s.id,s):await f.create(s)},onSuccess:()=>{u.current?.reload(),c(!1),l(void 0),y()}});function y(){a.open({type:"success",content:t("general.success")})}const o=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",hideInSearch:!0},{title:t("assets.type"),dataIndex:"type",key:"type",hideInSearch:!0,render:(s,r)=>s==="private-key"?e.jsx(I,{color:"green",children:t("assets.private_key")}):e.jsx(I,{color:"red",children:t("assets.password")})},{title:t("menus.identity.submenus.user"),dataIndex:"username",key:"username",hideInSearch:!0},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:191},{title:t("actions.label"),valueType:"option",key:"option",width:150,render:(s,r,n,v)=>[e.jsx(w,{disabled:r.type!=="private-key",onClick:async()=>{let g=await k.getPublicKey(r.id);q(g),y()},children:t("assets.copy_public_key")},"download-public-key"),e.jsx(w,{onClick:()=>{c(!0),l(r.id)},children:t("actions.edit")},"edit"),e.jsx(M,{title:t("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(r.id),u.current?.reload()},children:e.jsx(w,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return e.jsxs("div",{className:"",children:[e.jsx(z,{columns:o,actionRef:u,request:async(s={},r,n)=>{let[v,g]=U(r),R={pageIndex:s.current,pageSize:s.pageSize,order:v,field:g,keyword:s.keyword},P=await f.getPaging(R);return{data:P.items,success:!0,total:P.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.resource.submenus.credential"),toolBarRender:()=>[e.jsx(j,{type:"primary",onClick:()=>{c(!0)},children:t("actions.new")},"button")]}),e.jsx(E,{id:i,open:h,confirmLoading:p.isPending,handleCancel:()=>{c(!1),l(void 0)},handleOk:p.mutate})]})};export{X as default}; +import{f as d,S as e,U as T,aK as _,aT as m,aV as K,bH as O,c0 as S,bl as C,aU as A,av as j,aI as B,bi as I,bd as q,aS as M,bz as z}from"./antd-Afm2kNt7.js";import{c as k}from"./credential-api-DP_sN2cX.js";import{u as F,M as V,h as N}from"./index-DQXwuKC5.js";import{g as U}from"./sort-BOdE-yay.js";import{N as w}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const b=k,E=({open:t,handleOk:u,handleCancel:h,confirmLoading:c,id:i})=>{const l=d.useRef(null);let{t:a}=F(),[x,p]=d.useState(!1),[y,o]=d.useState(!1);d.useEffect(()=>{t||(p(!1),o(!1))},[t]);const s=async()=>i?await b.getById(i):{type:"password"};return e.jsxs(T,{title:a(i?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async r=>{u(r)})},onCancel:()=>{h()},confirmLoading:c,children:[e.jsxs(_,{formRef:l,request:s,submitter:!1,children:[e.jsx(m,{hidden:!0,name:"id"}),e.jsx(m,{name:"name",label:a("general.name"),rules:[{required:!0}]}),e.jsx(K.Group,{label:a("assets.type"),name:"type",rules:[{required:!0}],options:[{label:a("assets.password"),value:"password"},{label:a("assets.private_key"),value:"private-key"}]}),e.jsx(m,{label:a("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(O,{name:["type"],children:({type:r})=>{switch(r){case"private-key":return e.jsxs(e.Fragment,{children:[e.jsx(A,{label:a("assets.private_key"),name:"privateKey",fieldProps:{rows:4,allowClear:!0}}),e.jsxs("div",{className:"mb-4 -mt-2 flex items-center gap-2",children:[e.jsx(j,{color:"geekblue",variant:"filled",onClick:async()=>{l.current?.setFieldsValue({privateKey:`${await b.genPrivateKey()}`})},children:a("assets.generate_private_key")}),i&&e.jsx(j,{color:"purple",variant:"filled",onClick:async()=>{o(!0)},children:a("actions.view_private_key")})]}),e.jsx(m.Password,{label:a("assets.passphrase"),name:"passphrase",fieldProps:{iconRender:n=>n?e.jsx(S,{}):e.jsx(C,{}),visibilityToggle:{onVisibleChange:n=>{i&&n&&!x&&o(!0)}}}})]});case"password":return e.jsx(e.Fragment,{children:e.jsx(m.Password,{label:a("assets.password"),name:"password",fieldProps:{iconRender:n=>n?e.jsx(S,{}):e.jsx(C,{}),visibilityToggle:{onVisibleChange:n=>{i&&n&&!x&&o(!0)}}}})})}}})]}),e.jsx(V,{open:y,handleOk:async r=>{const n=await b.decrypt(i,r);l.current?.setFieldsValue(n),p(!0),o(!1)},handleCancel:()=>o(!1)})]})},f=k,X=()=>{const{t}=F(),u=d.useRef(null);let[h,c]=d.useState(!1),[i,l]=d.useState();const{message:a}=B.useApp();let p=N({mutationFn:async s=>{s.id?await f.updateById(s.id,s):await f.create(s)},onSuccess:()=>{u.current?.reload(),c(!1),l(void 0),y()}});function y(){a.open({type:"success",content:t("general.success")})}const o=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",hideInSearch:!0},{title:t("assets.type"),dataIndex:"type",key:"type",hideInSearch:!0,render:(s,r)=>s==="private-key"?e.jsx(I,{color:"green",children:t("assets.private_key")}):e.jsx(I,{color:"red",children:t("assets.password")})},{title:t("menus.identity.submenus.user"),dataIndex:"username",key:"username",hideInSearch:!0},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:191},{title:t("actions.label"),valueType:"option",key:"option",width:150,render:(s,r,n,v)=>[e.jsx(w,{disabled:r.type!=="private-key",onClick:async()=>{let g=await k.getPublicKey(r.id);q(g),y()},children:t("assets.copy_public_key")},"download-public-key"),e.jsx(w,{onClick:()=>{c(!0),l(r.id)},children:t("actions.edit")},"edit"),e.jsx(M,{title:t("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(r.id),u.current?.reload()},children:e.jsx(w,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return e.jsxs("div",{className:"",children:[e.jsx(z,{columns:o,actionRef:u,request:async(s={},r,n)=>{let[v,g]=U(r),R={pageIndex:s.current,pageSize:s.pageSize,order:v,field:g,keyword:s.keyword},P=await f.getPaging(R);return{data:P.items,success:!0,total:P.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.resource.submenus.credential"),toolBarRender:()=>[e.jsx(j,{type:"primary",onClick:()=>{c(!0)},children:t("actions.new")},"button")]}),e.jsx(E,{id:i,open:h,confirmLoading:p.isPending,handleCancel:()=>{c(!1),l(void 0)},handleOk:p.mutate})]})};export{X as default}; diff --git a/server/resource/build/assets/DashboardPage-CPKeLQvq.js b/server/resource/build/assets/DashboardPage-Im-9FWfr.js similarity index 99% rename from server/resource/build/assets/DashboardPage-CPKeLQvq.js rename to server/resource/build/assets/DashboardPage-Im-9FWfr.js index f03c600ca..421d2882c 100644 --- a/server/resource/build/assets/DashboardPage-CPKeLQvq.js +++ b/server/resource/build/assets/DashboardPage-Im-9FWfr.js @@ -1,2 +1,2 @@ -var xe=Object.defineProperty;var be=(o,u,V)=>u in o?xe(o,u,{enumerable:!0,configurable:!0,writable:!0,value:V}):o[u]=V;var Y=(o,u,V)=>be(o,typeof u!="symbol"?u+"":u,V);import{cn as je,g as Ce,f as oe,S as t,bh as Ve}from"./antd-Afm2kNt7.js";import{v as ye,r as te,u as Ae,w as Ee,e as ae,aw as we,x as y,a7 as le,a8 as ue,a9 as ce,aa as de,ab as fe,ax as Oe,ay as Ne,az as me,aA as K,aB as Se,aC as z}from"./index-BdfI9ZEv.js";import{s as Te}from"./session-api-CdVNYxgO.js";import{U as Fe,G as Re}from"./users-C-UbsH1o.js";import{S as Pe}from"./server-BXUeOkFL.js";import{A as De,C as _e,X as Ue,b as se,P as Ie,a as Le}from"./charts-DWBuA5Za.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const Me=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],ke=ye("route",Me);const qe=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m4.243 5.21 14.39 12.472",key:"1c9a7c"}]],Ge=ye("shield-ban",qe);class Ke{constructor(){Y(this,"getTimeCounter",async()=>await te.get("/admin/dashboard/time-counter"));Y(this,"getDateCounter",async()=>await te.get("/admin/dashboard/date-counter"));Y(this,"getDateCounterV2",async()=>await te.get("/admin/dashboard/v2/date-counter"));Y(this,"getAssetTypes",async()=>await te.get("/admin/dashboard/asset-types"))}}let ie=new Ke;var X={},J={exports:{}},ze=J.exports,pe;function He(){return pe||(pe=1,(function(o,u){(function(V,E){E(u)})(ze,(function(V){var E=function(){return E=Object.assign||function(d){for(var s,c=1,m=arguments.length;ca.endVal;a.frameVal=b?a.endVal:a.frameVal,a.frameVal=Number(a.frameVal.toFixed(a.options.decimalPlaces)),a.printValue(a.frameVal),p1?a.options.decimal+H[1]:"",a.options.useGrouping){T="";for(var g=3,$=0,I=0,Z=b.length;I"u"?this.error?console.error(this.error,s):console.error("IntersectionObserver is not supported by this browser"):this.setupObserver())}return d.prototype.setupObserver=function(){var s=this,c=d.observedElements.get(this.el);c&&c.unobserve(),d.observedElements.set(this.el,this),this.observer=new IntersectionObserver((function(m){for(var a=0,l=m;as;var c=s-this.startVal;if(Math.abs(c)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=s;var m=this.countDown?1:-1;this.endVal=s+m*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=s,this.finalEndVal=null;this.finalEndVal!==null?this.useEasing=!1:this.useEasing=this.options.useEasing},d.prototype.start=function(s){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),s&&(this.options.onCompleteCallback=s),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},d.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},d.prototype.reset=function(){clearTimeout(this.autoAnimateTimeout),cancelAnimationFrame(this.rAF),this.paused=!0,this.once=!1,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},d.prototype.update=function(s){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(s),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,this.finalEndVal==null&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},d.prototype.printValue=function(s){var c;if(this.el){var m=this.formattingFn(s);!((c=this.options.plugin)===null||c===void 0)&&c.render?this.options.plugin.render(this.el,m):this.el.tagName==="INPUT"?this.el.value=m:this.el.tagName==="text"||this.el.tagName==="tspan"?this.el.textContent=m:this.el.innerHTML=m}},d.prototype.ensureNumber=function(s){return typeof s=="number"&&!isNaN(s)},d.prototype.validateValue=function(s){var c=Number(s);return this.ensureNumber(c)?c:(this.error="[CountUp] invalid start or end value: ".concat(s),null)},d.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},d.prototype.parse=function(s){var c=function(p){return p.replace(/([.,'  ])/g,"\\$1")},m=c(this.options.separator),a=c(this.options.decimal),l=s.replace(new RegExp(m,"g"),"").replace(new RegExp(a,"g"),".");return parseFloat(l)},d.observedElements=new WeakMap,d})();V.CountUp=v}))})(J,J.exports)),J.exports}var he;function $e(){if(he)return X;he=1,Object.defineProperty(X,"__esModule",{value:!0});var o=je(),u=He();function V(r,e){var n=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(n!=null){var i,f,h,O,A=[],x=!0,j=!1;try{if(h=(n=n.call(r)).next,e!==0)for(;!(x=(i=h.call(n)).done)&&(A.push(i.value),A.length!==e);x=!0);}catch(C){j=!0,f=C}finally{try{if(!x&&n.return!=null&&(O=n.return(),Object(O)!==O))return}finally{if(j)throw f}}return A}}function E(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(f){return Object.getOwnPropertyDescriptor(r,f).enumerable})),n.push.apply(n,i)}return n}function v(r){for(var e=1;e=0)&&(n[f]=r[f]);return n}function l(r,e){if(r==null)return{};var n=a(r,e),i,f;if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(r);for(f=0;f=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(n[i]=r[i])}return n}function p(r,e){return b(r)||V(r,e)||D(r,e)||ne()}function b(r){if(Array.isArray(r))return r}function D(r,e){if(r){if(typeof r=="string")return T(r,e);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set")return Array.from(r);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(r,e)}}function T(r,e){(e==null||e>r.length)&&(e=r.length);for(var n=0,i=new Array(e);nu in o?xe(o,u,{enumerable:!0,configurable:!0,writable:!0,value:V}):o[u]=V;var Y=(o,u,V)=>be(o,typeof u!="symbol"?u+"":u,V);import{cn as je,g as Ce,f as oe,S as t,bh as Ve}from"./antd-Afm2kNt7.js";import{v as ye,r as te,u as Ae,w as Ee,e as ae,aw as we,x as y,a7 as le,a8 as ue,a9 as ce,aa as de,ab as fe,ax as Oe,ay as Ne,az as me,aA as K,aB as Se,aC as z}from"./index-DQXwuKC5.js";import{s as Te}from"./session-api-mmDQqQeA.js";import{U as Fe,G as Re}from"./users-Bfyvg_N3.js";import{S as Pe}from"./server-DnjIV_zW.js";import{A as De,C as _e,X as Ue,b as se,P as Ie,a as Le}from"./charts-DWBuA5Za.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const Me=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],ke=ye("route",Me);const qe=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m4.243 5.21 14.39 12.472",key:"1c9a7c"}]],Ge=ye("shield-ban",qe);class Ke{constructor(){Y(this,"getTimeCounter",async()=>await te.get("/admin/dashboard/time-counter"));Y(this,"getDateCounter",async()=>await te.get("/admin/dashboard/date-counter"));Y(this,"getDateCounterV2",async()=>await te.get("/admin/dashboard/v2/date-counter"));Y(this,"getAssetTypes",async()=>await te.get("/admin/dashboard/asset-types"))}}let ie=new Ke;var X={},J={exports:{}},ze=J.exports,pe;function He(){return pe||(pe=1,(function(o,u){(function(V,E){E(u)})(ze,(function(V){var E=function(){return E=Object.assign||function(d){for(var s,c=1,m=arguments.length;ca.endVal;a.frameVal=b?a.endVal:a.frameVal,a.frameVal=Number(a.frameVal.toFixed(a.options.decimalPlaces)),a.printValue(a.frameVal),p1?a.options.decimal+H[1]:"",a.options.useGrouping){T="";for(var g=3,$=0,I=0,Z=b.length;I"u"?this.error?console.error(this.error,s):console.error("IntersectionObserver is not supported by this browser"):this.setupObserver())}return d.prototype.setupObserver=function(){var s=this,c=d.observedElements.get(this.el);c&&c.unobserve(),d.observedElements.set(this.el,this),this.observer=new IntersectionObserver((function(m){for(var a=0,l=m;as;var c=s-this.startVal;if(Math.abs(c)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=s;var m=this.countDown?1:-1;this.endVal=s+m*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=s,this.finalEndVal=null;this.finalEndVal!==null?this.useEasing=!1:this.useEasing=this.options.useEasing},d.prototype.start=function(s){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),s&&(this.options.onCompleteCallback=s),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},d.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},d.prototype.reset=function(){clearTimeout(this.autoAnimateTimeout),cancelAnimationFrame(this.rAF),this.paused=!0,this.once=!1,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},d.prototype.update=function(s){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(s),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,this.finalEndVal==null&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},d.prototype.printValue=function(s){var c;if(this.el){var m=this.formattingFn(s);!((c=this.options.plugin)===null||c===void 0)&&c.render?this.options.plugin.render(this.el,m):this.el.tagName==="INPUT"?this.el.value=m:this.el.tagName==="text"||this.el.tagName==="tspan"?this.el.textContent=m:this.el.innerHTML=m}},d.prototype.ensureNumber=function(s){return typeof s=="number"&&!isNaN(s)},d.prototype.validateValue=function(s){var c=Number(s);return this.ensureNumber(c)?c:(this.error="[CountUp] invalid start or end value: ".concat(s),null)},d.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},d.prototype.parse=function(s){var c=function(p){return p.replace(/([.,'  ])/g,"\\$1")},m=c(this.options.separator),a=c(this.options.decimal),l=s.replace(new RegExp(m,"g"),"").replace(new RegExp(a,"g"),".");return parseFloat(l)},d.observedElements=new WeakMap,d})();V.CountUp=v}))})(J,J.exports)),J.exports}var he;function $e(){if(he)return X;he=1,Object.defineProperty(X,"__esModule",{value:!0});var o=je(),u=He();function V(r,e){var n=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(n!=null){var i,f,h,O,A=[],x=!0,j=!1;try{if(h=(n=n.call(r)).next,e!==0)for(;!(x=(i=h.call(n)).done)&&(A.push(i.value),A.length!==e);x=!0);}catch(C){j=!0,f=C}finally{try{if(!x&&n.return!=null&&(O=n.return(),Object(O)!==O))return}finally{if(j)throw f}}return A}}function E(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(f){return Object.getOwnPropertyDescriptor(r,f).enumerable})),n.push.apply(n,i)}return n}function v(r){for(var e=1;e=0)&&(n[f]=r[f]);return n}function l(r,e){if(r==null)return{};var n=a(r,e),i,f;if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(r);for(f=0;f=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(n[i]=r[i])}return n}function p(r,e){return b(r)||V(r,e)||D(r,e)||ne()}function b(r){if(Array.isArray(r))return r}function D(r,e){if(r){if(typeof r=="string")return T(r,e);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set")return Array.from(r);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(r,e)}}function T(r,e){(e==null||e>r.length)&&(e=r.length);for(var n=0,i=new Array(e);n0?F.current=setTimeout(S,A*1e3):S(),j?.({pauseResume:R,reset:P,update:B})}),R=g(function(){w().pauseResume(),C?.({reset:P,start:Q,update:B})}),P=g(function(){w().el&&(F.current&&clearTimeout(F.current),w().reset(),_?.({pauseResume:R,start:Q,update:B}))}),B=g(function(S){w().update(S),U?.({pauseResume:R,reset:P,start:Q})}),Q=g(function(){P(),G()}),re=g(function(S){h&&(S&&P(),G())});return o.useEffect(function(){N.current?O&&re(!0):(N.current=!0,re())},[O,N,re,A,e.start,e.suffix,e.prefix,e.duration,e.separator,e.decimals,e.decimal,e.formattingFn]),o.useEffect(function(){return function(){P()}},[P]),{start:Q,pauseResume:R,reset:P,update:B,getCountUp:w}},ve=["className","redraw","containerProps","children","style"],ge=function(e){var n=e.className,i=e.redraw,f=e.containerProps,h=e.children,O=e.style,A=l(e,ve),x=o.useRef(null),j=o.useRef(!1),C=L(v(v({},A),{},{ref:x,startOnMount:typeof h!="function"||e.delay===0,enableReinitialize:!1})),_=C.start,U=C.reset,M=C.update,k=C.pauseResume,F=C.getCountUp,N=g(function(){_()}),q=g(function(R){e.preserveValue||U(),M(R)}),w=g(function(){if(typeof e.children=="function"&&!(x.current instanceof Element)){console.error(`Couldn't find attached element to hook the CountUp instance into! Try to attach "containerRef" from the render prop to a an Element, eg. .`);return}F()});o.useEffect(function(){w()},[w]),o.useEffect(function(){j.current&&q(e.end)},[e.end,q]);var G=i&&e;return o.useEffect(function(){i&&j.current&&N()},[N,i,G]),o.useEffect(function(){!i&&j.current&&N()},[N,i,e.start,e.suffix,e.prefix,e.duration,e.separator,e.decimals,e.decimal,e.className,e.formattingFn]),o.useEffect(function(){j.current=!0},[]),typeof h=="function"?h({countUpRef:x,start:_,reset:U,update:M,pauseResume:k,getCountUp:F}):o.createElement("span",m({className:n,ref:x,style:O},f),typeof e.start<"u"?F().formattingFn(e.start):"")};return X.default=ge,X.useCountUp=L,X}var Be=$e();const Qe=Ce(Be),We={rdp:{label:"RDP",color:"var(--chart-1)"},vnc:{label:"VNC",color:"var(--chart-2)"},ssh:{label:"SSH",color:"var(--chart-3)"},telnet:{label:"TELNET",color:"var(--chart-4)"},http:{label:"HTTP",color:"var(--chart-5)"}},st=()=>{let{t:o}=Ae();const{isMobile:u}=Ee();let[V,E]=oe.useState([]),v=ae({queryKey:["timeCounter"],queryFn:ie.getTimeCounter}),d=ae({queryKey:["dateCounter"],queryFn:ie.getDateCounterV2}),s=ae({queryKey:["assetTypes"],queryFn:ie.getAssetTypes});const c={login:{label:o("dashboard.login_times"),color:"var(--chart-1)"},user:{label:o("dashboard.active_users"),color:"var(--chart-2)"},asset:{label:o("dashboard.active_assets"),color:"var(--chart-3)"}};oe.useEffect(()=>{if(s.data&&Array.isArray(s.data)){let l=s.data.map(p=>({name:p.type.toLowerCase(),value:p.value,fill:`var(--color-${p.type.toLowerCase()})`}));E(l)}},[s.data]);let m=ae({queryKey:["sessions"],queryFn:()=>{let l={pageIndex:1,pageSize:5,status:"disconnected"};return Te.getPaging(l)}});const a=[{title:o("dashboard.login_failed_times"),value:v.data?.loginFailedTimes,icon:t.jsx(Ge,{className:"h-4 w-4"})},{title:o("dashboard.user_online_count"),value:v.data?.userOnlineCount,icon:t.jsx(Fe,{className:"h-4 w-4"})},{title:o("menus.log_audit.submenus.online_session"),value:v.data?.sessionOnlineCount,icon:t.jsx(we,{className:"h-4 w-4"})},{title:o("dashboard.gateway_active_count"),value:v.data?.gatewayActiveCount,icon:t.jsx(ke,{className:"h-4 w-4"})},{title:o("dashboard.asset_active_count"),value:v.data?.assetActiveCount,icon:t.jsx(Pe,{className:"h-4 w-4"})},{title:o("menus.resource.submenus.website"),value:v.data?.websiteTotalCount,icon:t.jsx(Re,{className:"h-4 w-4"})}];return t.jsxs("div",{className:y("px-4 space-y-4",u&&"px-2"),children:[t.jsx("div",{className:"font-medium",children:o("menus.dashboard.label")}),v.isLoading||d.isLoading||s.isLoading?t.jsx("div",{className:"flex justify-center items-center h-64",children:t.jsx("div",{className:"text-gray-500",children:"Loading..."})}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:y("grid gap-4",u?"grid-cols-2":"grid-cols-6"),children:a.map(l=>t.jsxs("div",{className:y("rounded-xl border",u?"p-3":"p-4"),children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("div",{className:y("font-medium",u&&"text-sm line-clamp-2"),children:l.title}),l.icon]}),t.jsx("div",{className:y("mt-2 font-bold",u?"text-base":"text-lg"),children:t.jsx(Qe,{delay:2,end:l.value??0})})]},l.title))}),t.jsx("div",{className:"font-medium",children:o("dashboard.date_counter")}),t.jsx("div",{className:y("rounded-xl border",u?"p-2":"p-4"),children:t.jsx(le,{config:c,className:y("aspect-auto w-full",u?"h-[200px]":"h-[250px]"),children:t.jsxs(De,{data:Array.isArray(d.data)?d.data:[],children:[t.jsxs("defs",{children:[t.jsxs("linearGradient",{id:"fillLogin",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",stopColor:"var(--color-login)",stopOpacity:.8}),t.jsx("stop",{offset:"95%",stopColor:"var(--color-login)",stopOpacity:.1})]}),t.jsxs("linearGradient",{id:"fillUser",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",stopColor:"var(--color-user)",stopOpacity:.8}),t.jsx("stop",{offset:"95%",stopColor:"var(--color-user)",stopOpacity:.1})]}),t.jsxs("linearGradient",{id:"fillAsset",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",stopColor:"var(--color-asset)",stopOpacity:.8}),t.jsx("stop",{offset:"95%",stopColor:"var(--color-asset)",stopOpacity:.1})]})]}),t.jsx(_e,{vertical:!1}),t.jsx(Ue,{dataKey:"date",tickLine:!1,axisLine:!1,tickMargin:8,minTickGap:32,tickFormatter:l=>new Date(l).toLocaleDateString()}),t.jsx(ue,{cursor:!1,content:t.jsx(ce,{labelFormatter:l=>new Date(l).toLocaleDateString(),indicator:"dot"})}),t.jsx(se,{dataKey:"login",type:"natural",fill:"url(#fillLogin)",stroke:"var(--color-login)",stackId:"a"}),t.jsx(se,{dataKey:"user",type:"natural",fill:"url(#fillUser)",stroke:"var(--color-user)",stackId:"b"}),t.jsx(se,{dataKey:"asset",type:"natural",fill:"url(#fillAsset)",stroke:"var(--color-asset)",stackId:"c"}),t.jsx(de,{content:t.jsx(fe,{})})]})})}),t.jsxs("div",{className:y("grid gap-4",u?"grid-cols-1":"grid-cols-3"),children:[t.jsxs("div",{className:y("space-y-4",!u&&"col-span-2"),children:[t.jsx("div",{className:"font-medium",children:o("dashboard.latest_session")}),t.jsx("div",{className:y("border rounded-xl",u?"p-2":"p-4"),children:t.jsx("div",{className:"overflow-x-auto",children:t.jsxs(Oe,{className:y(u?"min-h-[200px]":"min-h-[250px]"),children:[t.jsx(Ne,{children:t.jsxs(me,{children:[!u&&t.jsx(K,{className:"w-[100px] text-center",children:o("audit.client_ip")}),t.jsx(K,{className:"text-center",children:o("menus.identity.submenus.user")}),t.jsx(K,{className:"text-center",children:o("assets.protocol")}),t.jsx(K,{className:"text-center",children:o("menus.resource.submenus.asset")}),!u&&t.jsx(K,{className:"text-center",children:o("audit.connected_at")}),!u&&t.jsx(K,{className:"text-center",children:o("audit.connection_duration")})]})}),t.jsx(Se,{children:Array.isArray(m.data?.items)&&m.data.items.map(l=>t.jsxs(me,{children:[!u&&t.jsx(z,{className:"text-center p-2.5",children:l.clientIp}),t.jsx(z,{className:y("text-center",u?"p-1.5 text-xs":"p-2.5"),children:l.userAccount}),t.jsx(z,{className:y("text-center",u?"p-1.5 text-xs":"p-2.5"),children:l.protocol}),t.jsx(z,{className:y("text-center",u?"p-1.5 text-xs":"p-2.5"),children:u?t.jsxs("div",{className:"line-clamp-2",children:[l.username,"@",l.ip]}):`${l.username}@${l.ip}:${l.port}`}),!u&&t.jsxs(t.Fragment,{children:[t.jsx(z,{className:"text-center p-2.5",children:Ve(l.connectedAt).format("YYYY-MM-DD HH:mm:ss")}),t.jsx(z,{className:"text-center p-2.5",children:l.connectionDuration})]})]},l.id))})]})})})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsx("div",{className:"font-medium",children:o("dashboard.asset_type")}),t.jsx("div",{className:y("rounded-xl border",u?"p-2":"p-4"),children:t.jsx(le,{config:We,className:y("mx-auto aspect-square",u?"max-h-[200px]":"max-h-[250px]"),children:t.jsxs(Ie,{children:[t.jsx(ue,{cursor:!1,content:t.jsx(ce,{hideLabel:!0})}),t.jsx(Le,{data:Array.isArray(V)?V:[],dataKey:"value",nameKey:"name",innerRadius:u?30:50}),t.jsx(de,{content:t.jsx(fe,{nameKey:"name"})})]})})})]})]})]})]})};export{st as default}; diff --git a/server/resource/build/assets/DatabaseAssetFacadePage-Dn2DFVr8.js b/server/resource/build/assets/DatabaseAssetFacadePage-a0QWLTVr.js similarity index 88% rename from server/resource/build/assets/DatabaseAssetFacadePage-Dn2DFVr8.js rename to server/resource/build/assets/DatabaseAssetFacadePage-a0QWLTVr.js index 4d0716baf..4307a2fb1 100644 --- a/server/resource/build/assets/DatabaseAssetFacadePage-Dn2DFVr8.js +++ b/server/resource/build/assets/DatabaseAssetFacadePage-a0QWLTVr.js @@ -1 +1 @@ -import{S as e,aZ as a,av as o}from"./antd-Afm2kNt7.js";import{u as i,a as r}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const m=()=>{let{t}=i(),s=r();return e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:e.jsx(a,{status:"info",title:t("databaseAsset.notSupported"),subTitle:t("databaseAsset.notSupportedDesc"),extra:[e.jsx(o,{type:"primary",onClick:()=>s("/assets"),children:t("goToAssets")},"console")]})})};export{m as default}; +import{S as e,aZ as a,av as o}from"./antd-Afm2kNt7.js";import{u as i,a as r}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const m=()=>{let{t}=i(),s=r();return e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:e.jsx(a,{status:"info",title:t("databaseAsset.notSupported"),subTitle:t("databaseAsset.notSupportedDesc"),extra:[e.jsx(o,{type:"primary",onClick:()=>s("/assets"),children:t("goToAssets")},"console")]})})};export{m as default}; diff --git a/server/resource/build/assets/DatabaseAssetPage-BerFFisj.js b/server/resource/build/assets/DatabaseAssetPage-C5z0KjFF.js similarity index 95% rename from server/resource/build/assets/DatabaseAssetPage-BerFFisj.js rename to server/resource/build/assets/DatabaseAssetPage-C5z0KjFF.js index baf246e1c..ebf1cee0d 100644 --- a/server/resource/build/assets/DatabaseAssetPage-BerFFisj.js +++ b/server/resource/build/assets/DatabaseAssetPage-C5z0KjFF.js @@ -1 +1 @@ -import{f as o,S as e,a_ as F,av as v,au as C,aK as N,aT as m,aL as u,aU as k,aM as O,c0 as B,bl as z,bH as D,aI as G,bi as w,aS as M,bz as E}from"./antd-Afm2kNt7.js";import{u as P,M as K,h as $}from"./index-BdfI9ZEv.js";import{d as A}from"./database-asset-api-CCmdFIKr.js";import{s as U}from"./ssh-gateway-api-CfWrAhC0.js";import{a as W}from"./agent-gateway-api-C1FfOeZ1.js";import{g as H}from"./gateway-group-api-Ckni5YAK.js";import{N as q}from"./NButton-DoPcvKBF.js";import{g as L}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const _=A,V=({open:t,handleOk:c,handleCancel:p,confirmLoading:x,id:i})=>{const{t:s}=P(),d=o.useRef(null),I=1200,[g,y]=o.useState(!1),[a,n]=o.useState(!1);o.useEffect(()=>{t||(y(!1),n(!1))},[t]);const b=async()=>i?await _.getById(i):{type:"mysql",port:3306,tags:[]},j=async()=>(await U.getAll()).map(l=>({label:l.name,value:l.id})),S=async()=>(await W.getAll()).map(l=>({label:l.name,value:l.id})),h=async()=>(await H.getAll()).map(l=>({label:l.name,value:l.id})),R=()=>{d.current?.validateFields().then(async r=>{r.gatewayType||(r.gatewayType="",r.gatewayId=""),c(r)})},T=e.jsxs(F,{size:8,children:[e.jsx(v,{onClick:p,children:s("actions.cancel")}),e.jsx(v,{type:"primary",loading:x,onClick:R,children:s("actions.save")})]});return e.jsxs(C,{title:s(i?"actions.edit":"actions.new"),extra:T,onClose:p,open:t,width:I,destroyOnHidden:!0,children:[e.jsx("div",{className:"flex h-full flex-col",children:e.jsx("div",{className:"flex-1 overflow-auto pr-1",children:e.jsxs(N,{formRef:d,request:b,submitter:!1,children:[e.jsx(m,{hidden:!0,name:"id"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx("div",{className:"md:col-span-2",children:e.jsx(m,{name:"name",label:s("general.name"),rules:[{required:!0}]})}),e.jsx(u,{label:s("db.asset.type"),name:"type",rules:[{required:!0}],options:[{label:s("db.asset.type_mysql"),value:"mysql"},{label:s("db.asset.type_pg"),value:"pg",disabled:!0}]}),e.jsx(u,{label:s("assets.tags"),name:"tags",fieldProps:{mode:"tags"},showSearch:!0}),e.jsx("div",{className:"md:col-span-2",children:e.jsx(k,{label:s("general.remark"),name:"description",fieldProps:{rows:3}})})]}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"md:col-span-2 grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsx("div",{className:"md:col-span-2",children:e.jsx(m,{name:"host",label:s("db.asset.host"),rules:[{required:!0}]})}),e.jsx(O,{name:"port",label:s("gateways.port"),min:1,max:65535,rules:[{required:!0}]})]}),e.jsx(m,{name:"username",label:s("menus.identity.submenus.user"),rules:[{required:!0}]}),e.jsx(m.Password,{label:s("assets.password"),name:"password",fieldProps:{iconRender:r=>r?e.jsx(B,{}):e.jsx(z,{}),visibilityToggle:{onVisibleChange:r=>{i&&r&&!g&&n(!0)}}}})]}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(u,{label:s("assets.gateway_type"),name:"gatewayType",options:[{label:s("assets.no_gateway"),value:""},{label:s("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:s("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:s("menus.gateway.submenus.gateway_group"),value:"group"}],fieldProps:{allowClear:!0}}),e.jsx(D,{name:["gatewayType"],children:({gatewayType:r})=>r==="ssh"?e.jsx(u,{label:s("menus.gateway.submenus.ssh_gateway"),name:"gatewayId",request:j,showSearch:!0,rules:[{required:!0}]},"ssh"):r==="agent"?e.jsx(u,{label:s("menus.gateway.submenus.agent_gateway"),name:"gatewayId",request:S,showSearch:!0,rules:[{required:!0}]},"agent"):r==="group"?e.jsx(u,{label:s("menus.gateway.submenus.gateway_group"),name:"gatewayId",request:h,showSearch:!0,rules:[{required:!0}]},"group"):e.jsx("div",{})})]})]})})}),e.jsx(K,{open:a,handleOk:async r=>{if(!i)return;const l=await _.decrypt(i,r);d.current?.setFieldsValue({password:l.password}),y(!0),n(!1)},handleCancel:()=>n(!1)})]})},f=A,ie=()=>{const{t}=P(),c=o.useRef(null),{message:p}=G.useApp(),[x,i]=o.useState(!1),[s,d]=o.useState(),g=$({mutationFn:async a=>{a.id?await f.updateById(a.id,a):await f.create(a)},onSuccess:()=>{c.current?.reload(),i(!1),d(void 0),p.success(t("general.success"))}}),y=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",hideInSearch:!0,ellipsis:!0},{title:t("db.asset.type"),dataIndex:"type",hideInSearch:!0,render:a=>a==="mysql"?e.jsx(w,{color:"blue",children:t("db.asset.type_mysql")}):a==="pg"?e.jsx(w,{color:"purple",children:t("db.asset.type_pg")}):e.jsx(w,{children:a}),width:120},{title:t("db.asset.host"),dataIndex:"host",render:(a,n)=>`${n.host}:${n.port}`,hideInSearch:!0},{title:t("menus.identity.submenus.user"),dataIndex:"username",hideInSearch:!0},{title:t("assets.gateway_type"),dataIndex:"gatewayType",hideInSearch:!0,render:a=>a?a==="ssh"?t("menus.gateway.submenus.ssh_gateway"):a==="agent"?t("menus.gateway.submenus.agent_gateway"):a==="group"?t("menus.gateway.submenus.gateway_group"):a:"-"},{title:t("assets.tags"),dataIndex:"tags",hideInSearch:!0,render:a=>!a||a==="-"?"-":e.jsx(e.Fragment,{children:a.map(n=>e.jsx(w,{children:n},n))})},{title:t("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",sorter:!0,hideInSearch:!0,width:190},{title:t("actions.label"),valueType:"option",key:"option",width:120,render:(a,n)=>[e.jsx(q,{onClick:()=>{i(!0),d(n.id)},children:t("actions.edit")},"edit"),e.jsx(M,{title:t("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(n.id),c.current?.reload()},children:e.jsx(q,{danger:!0,children:t("actions.delete")},"delete")},"delete_confirm")]}];return e.jsxs("div",{children:[e.jsx(E,{columns:y,actionRef:c,request:async(a={},n)=>{const[b,j]=L(n),S={pageIndex:a.current,pageSize:a.pageSize,order:b,field:j,keyword:a.keyword},h=await f.getPaging(S);return{data:h.items,success:!0,total:h.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.resource.submenus.database_asset"),toolBarRender:()=>[e.jsx(v,{type:"primary",onClick:()=>i(!0),children:t("actions.new")},"button")]}),e.jsx(V,{id:s,open:x,confirmLoading:g.isPending,handleCancel:()=>{i(!1),d(void 0)},handleOk:g.mutate})]})};export{ie as default}; +import{f as o,S as e,a_ as F,av as v,au as C,aK as N,aT as m,aL as u,aU as k,aM as O,c0 as B,bl as z,bH as D,aI as G,bi as w,aS as M,bz as E}from"./antd-Afm2kNt7.js";import{u as P,M as K,h as $}from"./index-DQXwuKC5.js";import{d as A}from"./database-asset-api-BQeUyDt2.js";import{s as U}from"./ssh-gateway-api-D4569Eil.js";import{a as W}from"./agent-gateway-api-C9ZaxlKW.js";import{g as H}from"./gateway-group-api-nxpckHkj.js";import{N as q}from"./NButton-DoPcvKBF.js";import{g as L}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const _=A,V=({open:t,handleOk:c,handleCancel:p,confirmLoading:x,id:i})=>{const{t:s}=P(),d=o.useRef(null),I=1200,[g,y]=o.useState(!1),[a,n]=o.useState(!1);o.useEffect(()=>{t||(y(!1),n(!1))},[t]);const b=async()=>i?await _.getById(i):{type:"mysql",port:3306,tags:[]},j=async()=>(await U.getAll()).map(l=>({label:l.name,value:l.id})),S=async()=>(await W.getAll()).map(l=>({label:l.name,value:l.id})),h=async()=>(await H.getAll()).map(l=>({label:l.name,value:l.id})),R=()=>{d.current?.validateFields().then(async r=>{r.gatewayType||(r.gatewayType="",r.gatewayId=""),c(r)})},T=e.jsxs(F,{size:8,children:[e.jsx(v,{onClick:p,children:s("actions.cancel")}),e.jsx(v,{type:"primary",loading:x,onClick:R,children:s("actions.save")})]});return e.jsxs(C,{title:s(i?"actions.edit":"actions.new"),extra:T,onClose:p,open:t,width:I,destroyOnHidden:!0,children:[e.jsx("div",{className:"flex h-full flex-col",children:e.jsx("div",{className:"flex-1 overflow-auto pr-1",children:e.jsxs(N,{formRef:d,request:b,submitter:!1,children:[e.jsx(m,{hidden:!0,name:"id"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx("div",{className:"md:col-span-2",children:e.jsx(m,{name:"name",label:s("general.name"),rules:[{required:!0}]})}),e.jsx(u,{label:s("db.asset.type"),name:"type",rules:[{required:!0}],options:[{label:s("db.asset.type_mysql"),value:"mysql"},{label:s("db.asset.type_pg"),value:"pg",disabled:!0}]}),e.jsx(u,{label:s("assets.tags"),name:"tags",fieldProps:{mode:"tags"},showSearch:!0}),e.jsx("div",{className:"md:col-span-2",children:e.jsx(k,{label:s("general.remark"),name:"description",fieldProps:{rows:3}})})]}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"md:col-span-2 grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsx("div",{className:"md:col-span-2",children:e.jsx(m,{name:"host",label:s("db.asset.host"),rules:[{required:!0}]})}),e.jsx(O,{name:"port",label:s("gateways.port"),min:1,max:65535,rules:[{required:!0}]})]}),e.jsx(m,{name:"username",label:s("menus.identity.submenus.user"),rules:[{required:!0}]}),e.jsx(m.Password,{label:s("assets.password"),name:"password",fieldProps:{iconRender:r=>r?e.jsx(B,{}):e.jsx(z,{}),visibilityToggle:{onVisibleChange:r=>{i&&r&&!g&&n(!0)}}}})]}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(u,{label:s("assets.gateway_type"),name:"gatewayType",options:[{label:s("assets.no_gateway"),value:""},{label:s("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:s("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:s("menus.gateway.submenus.gateway_group"),value:"group"}],fieldProps:{allowClear:!0}}),e.jsx(D,{name:["gatewayType"],children:({gatewayType:r})=>r==="ssh"?e.jsx(u,{label:s("menus.gateway.submenus.ssh_gateway"),name:"gatewayId",request:j,showSearch:!0,rules:[{required:!0}]},"ssh"):r==="agent"?e.jsx(u,{label:s("menus.gateway.submenus.agent_gateway"),name:"gatewayId",request:S,showSearch:!0,rules:[{required:!0}]},"agent"):r==="group"?e.jsx(u,{label:s("menus.gateway.submenus.gateway_group"),name:"gatewayId",request:h,showSearch:!0,rules:[{required:!0}]},"group"):e.jsx("div",{})})]})]})})}),e.jsx(K,{open:a,handleOk:async r=>{if(!i)return;const l=await _.decrypt(i,r);d.current?.setFieldsValue({password:l.password}),y(!0),n(!1)},handleCancel:()=>n(!1)})]})},f=A,ie=()=>{const{t}=P(),c=o.useRef(null),{message:p}=G.useApp(),[x,i]=o.useState(!1),[s,d]=o.useState(),g=$({mutationFn:async a=>{a.id?await f.updateById(a.id,a):await f.create(a)},onSuccess:()=>{c.current?.reload(),i(!1),d(void 0),p.success(t("general.success"))}}),y=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",hideInSearch:!0,ellipsis:!0},{title:t("db.asset.type"),dataIndex:"type",hideInSearch:!0,render:a=>a==="mysql"?e.jsx(w,{color:"blue",children:t("db.asset.type_mysql")}):a==="pg"?e.jsx(w,{color:"purple",children:t("db.asset.type_pg")}):e.jsx(w,{children:a}),width:120},{title:t("db.asset.host"),dataIndex:"host",render:(a,n)=>`${n.host}:${n.port}`,hideInSearch:!0},{title:t("menus.identity.submenus.user"),dataIndex:"username",hideInSearch:!0},{title:t("assets.gateway_type"),dataIndex:"gatewayType",hideInSearch:!0,render:a=>a?a==="ssh"?t("menus.gateway.submenus.ssh_gateway"):a==="agent"?t("menus.gateway.submenus.agent_gateway"):a==="group"?t("menus.gateway.submenus.gateway_group"):a:"-"},{title:t("assets.tags"),dataIndex:"tags",hideInSearch:!0,render:a=>!a||a==="-"?"-":e.jsx(e.Fragment,{children:a.map(n=>e.jsx(w,{children:n},n))})},{title:t("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",sorter:!0,hideInSearch:!0,width:190},{title:t("actions.label"),valueType:"option",key:"option",width:120,render:(a,n)=>[e.jsx(q,{onClick:()=>{i(!0),d(n.id)},children:t("actions.edit")},"edit"),e.jsx(M,{title:t("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(n.id),c.current?.reload()},children:e.jsx(q,{danger:!0,children:t("actions.delete")},"delete")},"delete_confirm")]}];return e.jsxs("div",{children:[e.jsx(E,{columns:y,actionRef:c,request:async(a={},n)=>{const[b,j]=L(n),S={pageIndex:a.current,pageSize:a.pageSize,order:b,field:j,keyword:a.keyword},h=await f.getPaging(S);return{data:h.items,success:!0,total:h.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.resource.submenus.database_asset"),toolBarRender:()=>[e.jsx(v,{type:"primary",onClick:()=>i(!0),children:t("actions.new")},"button")]}),e.jsx(V,{id:s,open:x,confirmLoading:g.isPending,handleCancel:()=>{i(!1),d(void 0)},handleOk:g.mutate})]})};export{ie as default}; diff --git a/server/resource/build/assets/DatabaseSQLLogPage-C0VvLLEG.js b/server/resource/build/assets/DatabaseSQLLogPage-D3ObzhHj.js similarity index 92% rename from server/resource/build/assets/DatabaseSQLLogPage-C0VvLLEG.js rename to server/resource/build/assets/DatabaseSQLLogPage-D3ObzhHj.js index 1957f6384..3cfc241a3 100644 --- a/server/resource/build/assets/DatabaseSQLLogPage-C0VvLLEG.js +++ b/server/resource/build/assets/DatabaseSQLLogPage-D3ObzhHj.js @@ -1 +1 @@ -var f=Object.defineProperty;var I=(e,t,o)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var d=(e,t,o)=>I(e,typeof t!="symbol"?t+"":t,o);import{f as _,aI as S,S as s,bi as i,b2 as m,a$ as w,bz as y,av as q}from"./antd-Afm2kNt7.js";import{q as j,r as p,u as k,h as T}from"./index-BdfI9ZEv.js";import{g as A}from"./sort-BOdE-yay.js";import{c as L,U as v}from"./QuerySelects-DHrAMegb.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";import"./user-api-LAxz6xgj.js";import"./department-api-BBDEkNE1.js";import"./asset-api-CdGgZMNY.js";import"./website-api-rU4LiJu6.js";import"./database-asset-api-CCmdFIKr.js";class P{constructor(){d(this,"group","admin/database-sql-logs");d(this,"paging",async t=>{const o=j.stringify(t);return await p.get(`/${this.group}/paging?${o}`)});d(this,"clear",async()=>{await p.post(`/${this.group}/clear`)})}}const g=new P,{Text:z}=w,C=e=>{if(!e)return"";let t=e.trimStart();for(;t.startsWith("/*");){const o=t.indexOf("*/");if(o===-1)break;const c=t.slice(0,o+2);if(!/ApplicationName\s*=/.test(c))break;t=t.slice(o+2).trimStart()}return t},G=()=>{const{t:e}=k(),t=_.useRef(null),{modal:o}=S.useApp(),c=T({mutationFn:g.clear,onSuccess:()=>{t.current?.reload()}}),x=(a,r)=>{const n={success:{color:"success",label:e("general.success")},failed:{color:"error",label:e("general.failed")},blocked:{color:"warning",label:e("db.sql_log.status.blocked")}}[a]||{color:"default",label:a};return(a==="failed"||a==="blocked")&&r?s.jsx(m,{title:r,children:s.jsx(i,{color:n.color,children:n.label})}):s.jsx(i,{color:n.color,children:n.label})},h=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("menus.resource.submenus.database_asset"),dataIndex:"assetName",hideInSearch:!1,renderFormItem:(a,{type:r,...l})=>r==="form"?null:s.jsx(L,{...l}),formItemProps:{name:"assetId"},ellipsis:!0},{title:e("db.asset.database"),dataIndex:"database",hideInSearch:!0,ellipsis:!0},{title:e("menus.identity.submenus.user"),dataIndex:"userName",renderFormItem:(a,{type:r,...l})=>r==="form"?null:s.jsx(v,{...l}),formItemProps:{name:"userId"}},{title:e("audit.accessLog.stats.table.referer"),dataIndex:"source",valueEnum:{proxy:{text:e("db.sql_log.source.proxy")},"work-order":{text:e("db.sql_log.source.work_order")}},render:(a,r)=>r.source==="proxy"?s.jsx(i,{color:"blue",children:e("db.sql_log.source.proxy")}):r.source==="work-order"?s.jsx(i,{color:"purple",children:e("db.sql_log.source.work_order")}):s.jsx(i,{children:r.source}),width:80},{title:e("general.status"),dataIndex:"status",valueEnum:{success:{text:e("general.success")},failed:{text:e("general.failed")},blocked:{text:e("db.sql_log.status.blocked")}},render:(a,r)=>x(r.status,r.errorMessage),width:80},{title:e("db.sql_log.duration_ms"),dataIndex:"durationMs",hideInSearch:!0,width:120},{title:e("db.sql_log.rows_affected"),dataIndex:"rowsAffected",hideInSearch:!0,width:120},{title:e("audit.client_ip"),dataIndex:"clientIp",hideInSearch:!0,width:140},{title:e("db.sql_log.sql"),dataIndex:"sql",hideInSearch:!0,render:(a,r)=>{const l=C(r.sql);return l?s.jsx(m,{title:l,placement:"topLeft",children:s.jsx(z,{ellipsis:!0,style:{maxWidth:300},children:l})}):"-"}},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180}];return s.jsx("div",{children:s.jsx(y,{columns:h,actionRef:t,request:async(a={},r)=>{const[l,n]=A(r),b={pageIndex:a.current,pageSize:a.pageSize,order:l,field:n,assetId:a.assetId,userId:a.userId,status:a.status,source:a.source},u=await g.paging(b);return{data:u.items,success:!0,total:u.total}},rowKey:"id",search:{labelWidth:"auto"},scroll:{x:"max-content"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.database_sql_log"),toolBarRender:()=>[s.jsx(q,{type:"primary",danger:!0,onClick:()=>{o.confirm({title:e("general.clear_confirm"),onOk:async()=>c.mutate()})},children:e("actions.clear")},"clear")]})})};export{G as default}; +var f=Object.defineProperty;var I=(e,t,o)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var d=(e,t,o)=>I(e,typeof t!="symbol"?t+"":t,o);import{f as _,aI as S,S as s,bi as i,b2 as m,a$ as w,bz as y,av as q}from"./antd-Afm2kNt7.js";import{q as j,r as p,u as k,h as T}from"./index-DQXwuKC5.js";import{g as A}from"./sort-BOdE-yay.js";import{c as L,U as v}from"./QuerySelects-HiP3pg4d.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";import"./user-api-BJxKseSg.js";import"./department-api-fa0GHZbt.js";import"./asset-api-1abjsV5s.js";import"./website-api-CiGWjL7L.js";import"./database-asset-api-BQeUyDt2.js";class P{constructor(){d(this,"group","admin/database-sql-logs");d(this,"paging",async t=>{const o=j.stringify(t);return await p.get(`/${this.group}/paging?${o}`)});d(this,"clear",async()=>{await p.post(`/${this.group}/clear`)})}}const g=new P,{Text:z}=w,C=e=>{if(!e)return"";let t=e.trimStart();for(;t.startsWith("/*");){const o=t.indexOf("*/");if(o===-1)break;const c=t.slice(0,o+2);if(!/ApplicationName\s*=/.test(c))break;t=t.slice(o+2).trimStart()}return t},G=()=>{const{t:e}=k(),t=_.useRef(null),{modal:o}=S.useApp(),c=T({mutationFn:g.clear,onSuccess:()=>{t.current?.reload()}}),x=(a,r)=>{const n={success:{color:"success",label:e("general.success")},failed:{color:"error",label:e("general.failed")},blocked:{color:"warning",label:e("db.sql_log.status.blocked")}}[a]||{color:"default",label:a};return(a==="failed"||a==="blocked")&&r?s.jsx(m,{title:r,children:s.jsx(i,{color:n.color,children:n.label})}):s.jsx(i,{color:n.color,children:n.label})},h=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("menus.resource.submenus.database_asset"),dataIndex:"assetName",hideInSearch:!1,renderFormItem:(a,{type:r,...l})=>r==="form"?null:s.jsx(L,{...l}),formItemProps:{name:"assetId"},ellipsis:!0},{title:e("db.asset.database"),dataIndex:"database",hideInSearch:!0,ellipsis:!0},{title:e("menus.identity.submenus.user"),dataIndex:"userName",renderFormItem:(a,{type:r,...l})=>r==="form"?null:s.jsx(v,{...l}),formItemProps:{name:"userId"}},{title:e("audit.accessLog.stats.table.referer"),dataIndex:"source",valueEnum:{proxy:{text:e("db.sql_log.source.proxy")},"work-order":{text:e("db.sql_log.source.work_order")}},render:(a,r)=>r.source==="proxy"?s.jsx(i,{color:"blue",children:e("db.sql_log.source.proxy")}):r.source==="work-order"?s.jsx(i,{color:"purple",children:e("db.sql_log.source.work_order")}):s.jsx(i,{children:r.source}),width:80},{title:e("general.status"),dataIndex:"status",valueEnum:{success:{text:e("general.success")},failed:{text:e("general.failed")},blocked:{text:e("db.sql_log.status.blocked")}},render:(a,r)=>x(r.status,r.errorMessage),width:80},{title:e("db.sql_log.duration_ms"),dataIndex:"durationMs",hideInSearch:!0,width:120},{title:e("db.sql_log.rows_affected"),dataIndex:"rowsAffected",hideInSearch:!0,width:120},{title:e("audit.client_ip"),dataIndex:"clientIp",hideInSearch:!0,width:140},{title:e("db.sql_log.sql"),dataIndex:"sql",hideInSearch:!0,render:(a,r)=>{const l=C(r.sql);return l?s.jsx(m,{title:l,placement:"topLeft",children:s.jsx(z,{ellipsis:!0,style:{maxWidth:300},children:l})}):"-"}},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180}];return s.jsx("div",{children:s.jsx(y,{columns:h,actionRef:t,request:async(a={},r)=>{const[l,n]=A(r),b={pageIndex:a.current,pageSize:a.pageSize,order:l,field:n,assetId:a.assetId,userId:a.userId,status:a.status,source:a.source},u=await g.paging(b);return{data:u.items,success:!0,total:u.total}},rowKey:"id",search:{labelWidth:"auto"},scroll:{x:"max-content"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.database_sql_log"),toolBarRender:()=>[s.jsx(q,{type:"primary",danger:!0,onClick:()=>{o.confirm({title:e("general.clear_confirm"),onOk:async()=>c.mutate()})},children:e("actions.clear")},"clear")]})})};export{G as default}; diff --git a/server/resource/build/assets/DatabaseWorkOrderPage-B_VFfBxr.js b/server/resource/build/assets/DatabaseWorkOrderPage-Caoq0Mdz.js similarity index 92% rename from server/resource/build/assets/DatabaseWorkOrderPage-B_VFfBxr.js rename to server/resource/build/assets/DatabaseWorkOrderPage-Caoq0Mdz.js index 6ff339dfd..8f3fb79cd 100644 --- a/server/resource/build/assets/DatabaseWorkOrderPage-B_VFfBxr.js +++ b/server/resource/build/assets/DatabaseWorkOrderPage-Caoq0Mdz.js @@ -1 +1 @@ -import{f as i,aI as C,S as a,ay as O,b2 as b,a$ as R,aS as F,bz as P,U as L,aO as M,bi as _}from"./antd-Afm2kNt7.js";import{u as W,e as z,h as x,aj as N}from"./index-BdfI9ZEv.js";import{d as l}from"./db-work-order-api-KPFccs1w.js";import{N as g}from"./NButton-DoPcvKBF.js";import{g as E}from"./sort-BOdE-yay.js";import{U}from"./QuerySelects-DHrAMegb.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";import"./user-api-LAxz6xgj.js";import"./department-api-BBDEkNE1.js";import"./asset-api-CdGgZMNY.js";import"./website-api-rU4LiJu6.js";import"./database-asset-api-CCmdFIKr.js";const{Text:k}=R,re=()=>{const{t:e}=W(),n=i.useRef(null),{modal:y,message:d}=C.useApp(),[v,u]=i.useState(!1),[c,p]=i.useState(""),[j,m]=i.useState(void 0),f=z({queryKey:["portal-database-assets"],queryFn:()=>N.databaseAssets(),refetchOnWindowFocus:!1}),S=x({mutationFn:t=>l.approve(t),onSuccess:()=>{n.current?.reload(),d.success(e("general.success"))}}),w=x({mutationFn:t=>l.reject(t.id,t.reason),onSuccess:()=>{n.current?.reload(),u(!1),p(""),m(void 0),d.success(e("general.success"))}}),q=x({mutationFn:t=>l.deleteById(t),onSuccess:()=>{n.current?.reload(),d.success(e("general.success"))}}),T=(t,r)=>{const o={pending:{color:"processing",label:e("db.work_order.status.pending")},approved:{color:"blue",label:e("db.work_order.status.approved")},rejected:{color:"red",label:e("db.work_order.status.rejected")},executed:{color:"green",label:e("db.work_order.status.executed")},failed:{color:"red",label:e("db.work_order.status.failed")}}[t]||{color:"default",label:t};return(t==="failed"||t==="rejected")&&r?a.jsx(b,{title:r,children:a.jsx(_,{color:o.color,children:o.label})}):a.jsx(_,{color:o.color,children:o.label})},A=[{title:e("menus.resource.submenus.database_asset"),dataIndex:"assetName",formItemProps:{name:"assetId"},renderFormItem:(t,{type:r,...s})=>r==="form"?null:a.jsx(O,{allowClear:!0,showSearch:!0,placeholder:e("menus.resource.submenus.database_asset"),loading:f.isLoading,options:(Array.isArray(f.data)?f.data:[]).map(o=>({label:o.name,value:o.id})),filterOption:(o,h)=>(h?.label??"").toString().toLowerCase().includes(o.toLowerCase()),...s}),ellipsis:!0,fixed:"left"},{title:e("db.asset.database"),dataIndex:"database",hideInSearch:!0,ellipsis:!0},{title:e("db.sql_log.sql"),dataIndex:"sql",hideInSearch:!0,render:t=>t?a.jsx(b,{title:t,placement:"topLeft",children:a.jsx(k,{ellipsis:!0,style:{maxWidth:260},children:t})}):"-"},{title:e("db.work_order.reason"),dataIndex:"requestReason",hideInSearch:!0,render:t=>t?a.jsx(b,{title:t,placement:"topLeft",children:a.jsx(k,{ellipsis:!0,style:{maxWidth:220},children:t})}):"-"},{title:e("db.work_order.requester"),dataIndex:"requesterName",formItemProps:{name:"requesterId"},renderFormItem:(t,{type:r,...s})=>r==="form"?null:a.jsx(U,{...s}),render:t=>t||"-"},{title:e("general.status"),dataIndex:"status",valueEnum:{pending:{text:e("db.work_order.status.pending")},approved:{text:e("db.work_order.status.approved")},rejected:{text:e("db.work_order.status.rejected")},executed:{text:e("db.work_order.status.executed")},failed:{text:e("db.work_order.status.failed")}},render:(t,r)=>T(r.status,r.errorMessage||r.reason),width:120},{title:e("db.sql_log.rows_affected"),dataIndex:"rowsAffected",hideInSearch:!0,width:120},{title:e("db.work_order.approver"),dataIndex:"approverName",hideInSearch:!0,width:120},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180},{title:e("sysops.logs.exec_at"),dataIndex:"executedAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:e("actions.label"),valueType:"option",key:"option",width:160,fixed:"right",render:(t,r)=>{const s=[];return r.status==="pending"&&(s.push(a.jsx(g,{onClick:()=>{y.confirm({title:e("db.work_order.approve_confirm"),onOk:async()=>S.mutate(r.id)})},children:e("db.work_order.approve")},"approve")),s.push(a.jsx(g,{danger:!0,onClick:()=>{u(!0),m(r.id)},children:e("identity.policy.action.reject")},"reject"))),r.status!=="approved"&&s.push(a.jsx(F,{title:e("general.confirm_delete"),onConfirm:()=>q.mutate(r.id),children:a.jsx(g,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm")),s}}];return a.jsxs("div",{children:[a.jsx(P,{columns:A,actionRef:n,request:async(t={},r)=>{const[s,o]=E(r),h={pageIndex:t.current,pageSize:t.pageSize,order:s,field:o,status:t.status,assetId:t.assetId,requesterId:t.requesterId},I=await l.paging(h);return{data:I.items,success:!0,total:I.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},scroll:{x:"max-content"},dateFormatter:"string",headerTitle:e("menus.resource.submenus.db_work_order")}),a.jsx(L,{title:e("identity.policy.action.reject"),open:v,onOk:()=>{if(j){if(!c.trim()){d.error(e("db.work_order.reject_reason"));return}w.mutate({id:j,reason:c})}},onCancel:()=>{u(!1),p(""),m(void 0)},confirmLoading:w.isPending,children:a.jsx(M.TextArea,{rows:4,value:c,onChange:t=>p(t.target.value),placeholder:e("db.work_order.reject_reason")})})]})};export{re as default}; +import{f as i,aI as C,S as a,ay as O,b2 as b,a$ as R,aS as F,bz as P,U as L,aO as M,bi as _}from"./antd-Afm2kNt7.js";import{u as W,e as z,h as x,aj as N}from"./index-DQXwuKC5.js";import{d as l}from"./db-work-order-api-Bt-h8Gzk.js";import{N as g}from"./NButton-DoPcvKBF.js";import{g as E}from"./sort-BOdE-yay.js";import{U}from"./QuerySelects-HiP3pg4d.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";import"./user-api-BJxKseSg.js";import"./department-api-fa0GHZbt.js";import"./asset-api-1abjsV5s.js";import"./website-api-CiGWjL7L.js";import"./database-asset-api-BQeUyDt2.js";const{Text:k}=R,re=()=>{const{t:e}=W(),n=i.useRef(null),{modal:y,message:d}=C.useApp(),[v,u]=i.useState(!1),[c,p]=i.useState(""),[j,m]=i.useState(void 0),f=z({queryKey:["portal-database-assets"],queryFn:()=>N.databaseAssets(),refetchOnWindowFocus:!1}),S=x({mutationFn:t=>l.approve(t),onSuccess:()=>{n.current?.reload(),d.success(e("general.success"))}}),w=x({mutationFn:t=>l.reject(t.id,t.reason),onSuccess:()=>{n.current?.reload(),u(!1),p(""),m(void 0),d.success(e("general.success"))}}),q=x({mutationFn:t=>l.deleteById(t),onSuccess:()=>{n.current?.reload(),d.success(e("general.success"))}}),T=(t,r)=>{const o={pending:{color:"processing",label:e("db.work_order.status.pending")},approved:{color:"blue",label:e("db.work_order.status.approved")},rejected:{color:"red",label:e("db.work_order.status.rejected")},executed:{color:"green",label:e("db.work_order.status.executed")},failed:{color:"red",label:e("db.work_order.status.failed")}}[t]||{color:"default",label:t};return(t==="failed"||t==="rejected")&&r?a.jsx(b,{title:r,children:a.jsx(_,{color:o.color,children:o.label})}):a.jsx(_,{color:o.color,children:o.label})},A=[{title:e("menus.resource.submenus.database_asset"),dataIndex:"assetName",formItemProps:{name:"assetId"},renderFormItem:(t,{type:r,...s})=>r==="form"?null:a.jsx(O,{allowClear:!0,showSearch:!0,placeholder:e("menus.resource.submenus.database_asset"),loading:f.isLoading,options:(Array.isArray(f.data)?f.data:[]).map(o=>({label:o.name,value:o.id})),filterOption:(o,h)=>(h?.label??"").toString().toLowerCase().includes(o.toLowerCase()),...s}),ellipsis:!0,fixed:"left"},{title:e("db.asset.database"),dataIndex:"database",hideInSearch:!0,ellipsis:!0},{title:e("db.sql_log.sql"),dataIndex:"sql",hideInSearch:!0,render:t=>t?a.jsx(b,{title:t,placement:"topLeft",children:a.jsx(k,{ellipsis:!0,style:{maxWidth:260},children:t})}):"-"},{title:e("db.work_order.reason"),dataIndex:"requestReason",hideInSearch:!0,render:t=>t?a.jsx(b,{title:t,placement:"topLeft",children:a.jsx(k,{ellipsis:!0,style:{maxWidth:220},children:t})}):"-"},{title:e("db.work_order.requester"),dataIndex:"requesterName",formItemProps:{name:"requesterId"},renderFormItem:(t,{type:r,...s})=>r==="form"?null:a.jsx(U,{...s}),render:t=>t||"-"},{title:e("general.status"),dataIndex:"status",valueEnum:{pending:{text:e("db.work_order.status.pending")},approved:{text:e("db.work_order.status.approved")},rejected:{text:e("db.work_order.status.rejected")},executed:{text:e("db.work_order.status.executed")},failed:{text:e("db.work_order.status.failed")}},render:(t,r)=>T(r.status,r.errorMessage||r.reason),width:120},{title:e("db.sql_log.rows_affected"),dataIndex:"rowsAffected",hideInSearch:!0,width:120},{title:e("db.work_order.approver"),dataIndex:"approverName",hideInSearch:!0,width:120},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180},{title:e("sysops.logs.exec_at"),dataIndex:"executedAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:e("actions.label"),valueType:"option",key:"option",width:160,fixed:"right",render:(t,r)=>{const s=[];return r.status==="pending"&&(s.push(a.jsx(g,{onClick:()=>{y.confirm({title:e("db.work_order.approve_confirm"),onOk:async()=>S.mutate(r.id)})},children:e("db.work_order.approve")},"approve")),s.push(a.jsx(g,{danger:!0,onClick:()=>{u(!0),m(r.id)},children:e("identity.policy.action.reject")},"reject"))),r.status!=="approved"&&s.push(a.jsx(F,{title:e("general.confirm_delete"),onConfirm:()=>q.mutate(r.id),children:a.jsx(g,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm")),s}}];return a.jsxs("div",{children:[a.jsx(P,{columns:A,actionRef:n,request:async(t={},r)=>{const[s,o]=E(r),h={pageIndex:t.current,pageSize:t.pageSize,order:s,field:o,status:t.status,assetId:t.assetId,requesterId:t.requesterId},I=await l.paging(h);return{data:I.items,success:!0,total:I.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},scroll:{x:"max-content"},dateFormatter:"string",headerTitle:e("menus.resource.submenus.db_work_order")}),a.jsx(L,{title:e("identity.policy.action.reject"),open:v,onOk:()=>{if(j){if(!c.trim()){d.error(e("db.work_order.reject_reason"));return}w.mutate({id:j,reason:c})}},onCancel:()=>{u(!1),p(""),m(void 0)},confirmLoading:w.isPending,children:a.jsx(M.TextArea,{rows:4,value:c,onChange:t=>p(t.target.value),placeholder:e("db.work_order.reject_reason")})})]})};export{re as default}; diff --git a/server/resource/build/assets/DatabaseWorkOrderUserPage-DFD-a3Te.js b/server/resource/build/assets/DatabaseWorkOrderUserPage-B2ycCPZM.js similarity index 96% rename from server/resource/build/assets/DatabaseWorkOrderUserPage-DFD-a3Te.js rename to server/resource/build/assets/DatabaseWorkOrderUserPage-B2ycCPZM.js index c94a7ac00..a543285cb 100644 --- a/server/resource/build/assets/DatabaseWorkOrderUserPage-DFD-a3Te.js +++ b/server/resource/build/assets/DatabaseWorkOrderUserPage-B2ycCPZM.js @@ -1 +1 @@ -import{f as n,S as r,U as T,aK as q,aL as P,aT as A,aU as g,aI as F,b2 as m,a$ as N,bz as C,av as M,bi as w}from"./antd-Afm2kNt7.js";import{u as v,aj as O,w as R,a4 as W,h as z,x as j}from"./index-BdfI9ZEv.js";import{a as k}from"./db-work-order-api-KPFccs1w.js";import{g as L}from"./sort-BOdE-yay.js";import{F as B}from"./FacadeSearchBar-sDOAHksR.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const E=({open:e,handleOk:t,handleCancel:x,confirmLoading:c})=>{const{t:s}=v(),o=n.useRef(null),[u,p]=n.useState([]);return n.useEffect(()=>{if(!e){o.current?.resetFields();return}O.databaseAssets().then(p).catch(()=>p([]))},[e]),r.jsx(T,{title:s("db.work_order.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{o.current?.validateFields().then(async d=>{t(d)})},onCancel:x,confirmLoading:c,children:r.jsxs(q,{formRef:o,submitter:!1,children:[r.jsx(P,{label:s("menus.resource.submenus.database_asset"),name:"assetId",rules:[{required:!0}],fieldProps:{showSearch:!0,options:u.map(d=>({label:d.name,value:d.id})),filterOption:(d,b)=>(b?.label??"").toString().toLowerCase().includes(d.toLowerCase())}}),r.jsx(A,{label:s("db.asset.database"),name:"database",rules:[{required:!0}],placeholder:s("db.work_order.database_placeholder")}),r.jsx(g,{label:s("db.sql_log.sql"),name:"sql",rules:[{required:!0}],fieldProps:{rows:6}}),r.jsx(g,{label:s("db.work_order.reason"),name:"requestReason",rules:[{required:!0}],fieldProps:{rows:3},placeholder:s("db.work_order.reason_placeholder")})]})})},{Text:_}=N,V=()=>{const{t:e}=v(),{isMobile:t}=R(),{message:x}=F.useApp(),c=n.useRef(null),[s,o]=n.useState(!1),[u,p]=n.useState(""),d=n.useMemo(()=>W(()=>{c.current?.reload()},300),[]),b=z({mutationFn:k.create,onSuccess:()=>{c.current?.reload(),o(!1),x.success(e("general.success"))}}),I=(a,l)=>{const i={pending:{color:"processing",label:e("db.work_order.status.pending")},approved:{color:"blue",label:e("db.work_order.status.approved")},rejected:{color:"red",label:e("db.work_order.status.rejected")},executed:{color:"green",label:e("db.work_order.status.executed")},failed:{color:"red",label:e("db.work_order.status.failed")}}[a]||{color:"default",label:a};return(a==="failed"||a==="rejected")&&l?r.jsx(m,{title:l,children:r.jsx(w,{color:i.color,children:i.label})}):r.jsx(w,{color:i.color,children:i.label})},S=[{dataIndex:"index",valueType:"indexBorder",width:48,hideInTable:t},{title:e("menus.resource.submenus.database_asset"),dataIndex:"assetName",hideInSearch:!0,ellipsis:!0},{title:e("db.asset.database"),dataIndex:"database",hideInSearch:!0,ellipsis:!0},{title:e("db.sql_log.sql"),dataIndex:"sql",hideInSearch:!0,render:a=>a?r.jsx(m,{title:a,placement:"topLeft",children:r.jsx(_,{ellipsis:!0,style:{maxWidth:260},children:a})}):"-"},{title:e("db.work_order.reason"),dataIndex:"requestReason",hideInSearch:!0,render:a=>a?r.jsx(m,{title:a,placement:"topLeft",children:r.jsx(_,{ellipsis:!0,style:{maxWidth:220},children:a})}):"-"},{title:e("general.status"),dataIndex:"status",valueEnum:{pending:{text:e("db.work_order.status.pending")},approved:{text:e("db.work_order.status.approved")},rejected:{text:e("db.work_order.status.rejected")},executed:{text:e("db.work_order.status.executed")},failed:{text:e("db.work_order.status.failed")}},render:(a,l)=>I(l.status,l.errorMessage||l.reason),width:120},{title:e("db.sql_log.rows_affected"),dataIndex:"rowsAffected",hideInSearch:!0,width:120},{title:e("db.work_order.approver"),dataIndex:"approverName",hideInSearch:!0,width:120},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180,hideInTable:t},{title:e("sysops.logs.exec_at"),dataIndex:"executedAt",valueType:"dateTime",hideInSearch:!0,width:180,hideInTable:t}];return r.jsxs("div",{className:j("px-4 lg:px-20",t&&"px-2"),children:[r.jsx("div",{className:j("py-6",t&&"p-4"),children:r.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[r.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:r.jsx("div",{className:"flex flex-col gap-1",children:r.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:e("menus.resource.submenus.db_work_order")})})}),r.jsx("div",{className:"pt-3",children:r.jsx(B,{value:u,onChange:a=>{p(a),d()}})})]})}),r.jsx("div",{className:"rounded-xl ring-1 ring-slate-200/60 dark:ring-slate-700/60 p-1",children:r.jsx(C,{columns:S,actionRef:c,request:async(a={},l)=>{const[h,i]=L(l),y={pageIndex:a.current,pageSize:a.pageSize,order:h,field:i,keyword:u.trim()||void 0},f=await k.paging(y);return{data:f.items,success:!0,total:f.total}},rowKey:"id",search:!1,pagination:{defaultPageSize:10,showSizeChanger:!t,simple:t},scroll:{x:"max-content"},dateFormatter:"string",headerTitle:null,toolBarRender:()=>[r.jsx(M,{type:"primary",size:"middle",onClick:()=>o(!0),children:e("db.work_order.new")},"button")],options:{density:!t,fullScreen:!t,reload:!0,setting:!t}})}),r.jsx(E,{open:s,confirmLoading:b.isPending,handleCancel:()=>o(!1),handleOk:b.mutate})]})};export{V as default}; +import{f as n,S as r,U as T,aK as q,aL as P,aT as A,aU as g,aI as F,b2 as m,a$ as N,bz as C,av as M,bi as w}from"./antd-Afm2kNt7.js";import{u as v,aj as O,w as R,a4 as W,h as z,x as j}from"./index-DQXwuKC5.js";import{a as k}from"./db-work-order-api-Bt-h8Gzk.js";import{g as L}from"./sort-BOdE-yay.js";import{F as B}from"./FacadeSearchBar-DPZw3dye.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const E=({open:e,handleOk:t,handleCancel:x,confirmLoading:c})=>{const{t:s}=v(),o=n.useRef(null),[u,p]=n.useState([]);return n.useEffect(()=>{if(!e){o.current?.resetFields();return}O.databaseAssets().then(p).catch(()=>p([]))},[e]),r.jsx(T,{title:s("db.work_order.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{o.current?.validateFields().then(async d=>{t(d)})},onCancel:x,confirmLoading:c,children:r.jsxs(q,{formRef:o,submitter:!1,children:[r.jsx(P,{label:s("menus.resource.submenus.database_asset"),name:"assetId",rules:[{required:!0}],fieldProps:{showSearch:!0,options:u.map(d=>({label:d.name,value:d.id})),filterOption:(d,b)=>(b?.label??"").toString().toLowerCase().includes(d.toLowerCase())}}),r.jsx(A,{label:s("db.asset.database"),name:"database",rules:[{required:!0}],placeholder:s("db.work_order.database_placeholder")}),r.jsx(g,{label:s("db.sql_log.sql"),name:"sql",rules:[{required:!0}],fieldProps:{rows:6}}),r.jsx(g,{label:s("db.work_order.reason"),name:"requestReason",rules:[{required:!0}],fieldProps:{rows:3},placeholder:s("db.work_order.reason_placeholder")})]})})},{Text:_}=N,V=()=>{const{t:e}=v(),{isMobile:t}=R(),{message:x}=F.useApp(),c=n.useRef(null),[s,o]=n.useState(!1),[u,p]=n.useState(""),d=n.useMemo(()=>W(()=>{c.current?.reload()},300),[]),b=z({mutationFn:k.create,onSuccess:()=>{c.current?.reload(),o(!1),x.success(e("general.success"))}}),I=(a,l)=>{const i={pending:{color:"processing",label:e("db.work_order.status.pending")},approved:{color:"blue",label:e("db.work_order.status.approved")},rejected:{color:"red",label:e("db.work_order.status.rejected")},executed:{color:"green",label:e("db.work_order.status.executed")},failed:{color:"red",label:e("db.work_order.status.failed")}}[a]||{color:"default",label:a};return(a==="failed"||a==="rejected")&&l?r.jsx(m,{title:l,children:r.jsx(w,{color:i.color,children:i.label})}):r.jsx(w,{color:i.color,children:i.label})},S=[{dataIndex:"index",valueType:"indexBorder",width:48,hideInTable:t},{title:e("menus.resource.submenus.database_asset"),dataIndex:"assetName",hideInSearch:!0,ellipsis:!0},{title:e("db.asset.database"),dataIndex:"database",hideInSearch:!0,ellipsis:!0},{title:e("db.sql_log.sql"),dataIndex:"sql",hideInSearch:!0,render:a=>a?r.jsx(m,{title:a,placement:"topLeft",children:r.jsx(_,{ellipsis:!0,style:{maxWidth:260},children:a})}):"-"},{title:e("db.work_order.reason"),dataIndex:"requestReason",hideInSearch:!0,render:a=>a?r.jsx(m,{title:a,placement:"topLeft",children:r.jsx(_,{ellipsis:!0,style:{maxWidth:220},children:a})}):"-"},{title:e("general.status"),dataIndex:"status",valueEnum:{pending:{text:e("db.work_order.status.pending")},approved:{text:e("db.work_order.status.approved")},rejected:{text:e("db.work_order.status.rejected")},executed:{text:e("db.work_order.status.executed")},failed:{text:e("db.work_order.status.failed")}},render:(a,l)=>I(l.status,l.errorMessage||l.reason),width:120},{title:e("db.sql_log.rows_affected"),dataIndex:"rowsAffected",hideInSearch:!0,width:120},{title:e("db.work_order.approver"),dataIndex:"approverName",hideInSearch:!0,width:120},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180,hideInTable:t},{title:e("sysops.logs.exec_at"),dataIndex:"executedAt",valueType:"dateTime",hideInSearch:!0,width:180,hideInTable:t}];return r.jsxs("div",{className:j("px-4 lg:px-20",t&&"px-2"),children:[r.jsx("div",{className:j("py-6",t&&"p-4"),children:r.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[r.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:r.jsx("div",{className:"flex flex-col gap-1",children:r.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:e("menus.resource.submenus.db_work_order")})})}),r.jsx("div",{className:"pt-3",children:r.jsx(B,{value:u,onChange:a=>{p(a),d()}})})]})}),r.jsx("div",{className:"rounded-xl ring-1 ring-slate-200/60 dark:ring-slate-700/60 p-1",children:r.jsx(C,{columns:S,actionRef:c,request:async(a={},l)=>{const[h,i]=L(l),y={pageIndex:a.current,pageSize:a.pageSize,order:h,field:i,keyword:u.trim()||void 0},f=await k.paging(y);return{data:f.items,success:!0,total:f.total}},rowKey:"id",search:!1,pagination:{defaultPageSize:10,showSizeChanger:!t,simple:t},scroll:{x:"max-content"},dateFormatter:"string",headerTitle:null,toolBarRender:()=>[r.jsx(M,{type:"primary",size:"middle",onClick:()=>o(!0),children:e("db.work_order.new")},"button")],options:{density:!t,fullScreen:!t,reload:!0,setting:!t}})}),r.jsx(E,{open:s,confirmLoading:b.isPending,handleCancel:()=>o(!1),handleOk:b.mutate})]})};export{V as default}; diff --git a/server/resource/build/assets/DepartmentDetail-Be35ReAG.js b/server/resource/build/assets/DepartmentDetail-ByJ-vndZ.js similarity index 89% rename from server/resource/build/assets/DepartmentDetail-Be35ReAG.js rename to server/resource/build/assets/DepartmentDetail-ByJ-vndZ.js index c2da19e26..f1bdf9992 100644 --- a/server/resource/build/assets/DepartmentDetail-Be35ReAG.js +++ b/server/resource/build/assets/DepartmentDetail-ByJ-vndZ.js @@ -1 +1 @@ -import{S as t,bL as I,bi as d,a_ as b,f as g,b4 as j}from"./antd-Afm2kNt7.js";import{d as f}from"./department-api-BBDEkNE1.js";import{u as p,e as c,p as v,b as D,o as K}from"./index-BdfI9ZEv.js";import{N as l}from"./NLink-BW2w3qR4.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const m=f,S=({active:n,id:r})=>{const{t:e}=p(),{data:a}=c({queryKey:["department",r],queryFn:()=>m.getById(r),enabled:n&&!!r}),{data:s}=c({queryKey:["department",a?.parentId],queryFn:()=>m.getById(a.parentId),enabled:n&&!!a?.parentId});return t.jsx(I,{column:1,title:e("actions.detail"),dataSource:a,columns:[{title:e("general.name"),dataIndex:"name",copyable:!0},{title:e("identity.department.parent"),dataIndex:"parentId",render:()=>a?.parentId?s?t.jsx(d,{color:"blue",children:s.name}):t.jsx(d,{color:"default",children:a.parentId}):t.jsx(d,{color:"green",children:e("identity.department.root")})},{title:e("assets.sort"),dataIndex:"weight"},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"},{title:"ID",dataIndex:"id",copyable:!0},{title:e("actions.authorized"),dataIndex:"authorisedLinks",render:()=>t.jsxs(b,{size:12,wrap:!0,children:[t.jsx(l,{to:`/authorised-asset?departmentId=${r}`,children:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`}),t.jsx(l,{to:`/authorised-website?departmentId=${r}`,children:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`})]})}]})},A=()=>{const r=v().departmentId,[e,a]=D();let s=K(e.get("activeKey"),"detail"),[i,u]=g.useState(s),{t:h}=p();const x=o=>{u(o),a({activeKey:o})},y=[{label:h("actions.detail"),key:"detail",children:t.jsx(S,{active:i==="detail",id:r})}];return t.jsx("div",{className:"px-4",children:t.jsx(j,{activeKey:i,onChange:x,items:y})})};export{A as default}; +import{S as t,bL as I,bi as d,a_ as b,f as g,b4 as j}from"./antd-Afm2kNt7.js";import{d as f}from"./department-api-fa0GHZbt.js";import{u as p,e as c,p as v,b as D,o as K}from"./index-DQXwuKC5.js";import{N as l}from"./NLink-Dl2yFaN4.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const m=f,S=({active:n,id:r})=>{const{t:e}=p(),{data:a}=c({queryKey:["department",r],queryFn:()=>m.getById(r),enabled:n&&!!r}),{data:s}=c({queryKey:["department",a?.parentId],queryFn:()=>m.getById(a.parentId),enabled:n&&!!a?.parentId});return t.jsx(I,{column:1,title:e("actions.detail"),dataSource:a,columns:[{title:e("general.name"),dataIndex:"name",copyable:!0},{title:e("identity.department.parent"),dataIndex:"parentId",render:()=>a?.parentId?s?t.jsx(d,{color:"blue",children:s.name}):t.jsx(d,{color:"default",children:a.parentId}):t.jsx(d,{color:"green",children:e("identity.department.root")})},{title:e("assets.sort"),dataIndex:"weight"},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"},{title:"ID",dataIndex:"id",copyable:!0},{title:e("actions.authorized"),dataIndex:"authorisedLinks",render:()=>t.jsxs(b,{size:12,wrap:!0,children:[t.jsx(l,{to:`/authorised-asset?departmentId=${r}`,children:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`}),t.jsx(l,{to:`/authorised-website?departmentId=${r}`,children:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`})]})}]})},A=()=>{const r=v().departmentId,[e,a]=D();let s=K(e.get("activeKey"),"detail"),[i,u]=g.useState(s),{t:h}=p();const x=o=>{u(o),a({activeKey:o})},y=[{label:h("actions.detail"),key:"detail",children:t.jsx(S,{active:i==="detail",id:r})}];return t.jsx("div",{className:"px-4",children:t.jsx(j,{activeKey:i,onChange:x,items:y})})};export{A as default}; diff --git a/server/resource/build/assets/DepartmentPage-SejOk8c8.js b/server/resource/build/assets/DepartmentPage-CRl-pRy6.js similarity index 97% rename from server/resource/build/assets/DepartmentPage-SejOk8c8.js rename to server/resource/build/assets/DepartmentPage-CRl-pRy6.js index 21c33ce63..a0a1475ff 100644 --- a/server/resource/build/assets/DepartmentPage-SejOk8c8.js +++ b/server/resource/build/assets/DepartmentPage-CRl-pRy6.js @@ -1 +1 @@ -import{bs as S,f as c,S as t,U as K,aO as z,bX as N,bY as R,bg as q,bM as V,bi as $,bI as Q,av as v,bz as G,aP as H}from"./antd-Afm2kNt7.js";import{u as F,e as b,h as D,a as W}from"./index-BdfI9ZEv.js";import{d as I}from"./department-api-BBDEkNE1.js";import{u as U}from"./user-api-LAxz6xgj.js";import{g as X}from"./sort-BOdE-yay.js";import{N as T}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Y=({id:e,open:i,confirmLoading:p,handleCancel:u,handleOk:j})=>{const{t:r}=F(),[s]=S.useForm(),[h,g]=c.useState(),{data:m}=b({queryKey:["department",e],queryFn:()=>I.getById(e),enabled:!!e&&i}),{data:y}=b({queryKey:["department-tree"],queryFn:()=>I.getTree(),enabled:i}),{data:f}=b({queryKey:["users-all"],queryFn:()=>U.getAll(),enabled:i});c.useEffect(()=>{m?(g(m),s.setFieldsValue({...m})):i&&!e&&(s.resetFields(),g(void 0))},[m,s,e,i]);const x=async()=>{try{const l=await s.validateFields(),a={...l,id:h?.id,leaders:l.leaders||[]};j(a)}catch(l){console.error("Validation failed:",l)}},w=(l,a)=>l.filter(d=>d.key!==a).map(d=>({title:d.title,value:d.value,children:d.children?w(d.children,a):void 0}));return t.jsx(K,{title:r(h?"actions.edit":"actions.new"),open:i,onOk:x,onCancel:u,confirmLoading:p,width:600,children:t.jsxs(S,{form:s,layout:"vertical",initialValues:{weight:0,leaders:[]},children:[t.jsx(S.Item,{label:r("general.name"),name:"name",rules:[{required:!0,message:r("general.name")+r("general.required")},{max:100,message:r("general.name")+r("general.max_length",{max:100})}],children:t.jsx(z,{placeholder:r("identity.department.name_placeholder")})}),t.jsx(S.Item,{label:r("identity.department.parent"),name:"parentId",children:t.jsx(N,{placeholder:r("identity.department.parent_placeholder"),allowClear:!0,showSearch:!0,treeDefaultExpandAll:!0,treeData:y?w(y,h?.id):[],filterTreeNode:(l,a)=>a?.title?.toLowerCase().includes(l.toLowerCase())})}),t.jsx(S.Item,{label:r("assets.sort"),name:"weight",tooltip:r("identity.department.weight_tooltip"),children:t.jsx(R,{min:0,max:9999,placeholder:r("identity.department.weight_placeholder"),style:{width:"100%"}})})]})})},J=({departmentId:e,departmentName:i,open:p,confirmLoading:u,handleCancel:j,handleOk:r})=>{const{t:s}=F(),[h,g]=c.useState([]),{data:m=[]}=b({queryKey:["users-all"],queryFn:()=>U.getAll(),enabled:p}),y=b({queryKey:["department-users",e],queryFn:()=>I.getDepartmentUsers(e),enabled:!!e&&p});c.useEffect(()=>{p||g([])},[p]),c.useEffect(()=>{y.data&&g(y.data)},[y.data]);const f=D({mutationFn:a=>I.setDepartmentUsers(e,a),onSuccess:()=>{q.success(s("general.success")),r()},onError:()=>{q.error(s("general.error"))}}),x=a=>{g(a)},w=()=>{f.mutate(h)},l=m.map(a=>({key:a.id,title:`${a.nickname} (${a.username})`,description:a.mail||a.username}));return t.jsx(K,{title:`${s("identity.department.manage_users")} - ${i}`,open:p,onOk:w,onCancel:j,confirmLoading:u||f.isPending,width:600,children:t.jsx(V,{dataSource:l,titles:[s("identity.user.available"),s("identity.user.selected")],targetKeys:h,onChange:x,render:a=>a.title,showSearch:!0,filterOption:(a,d)=>d.title.toLowerCase().includes(a.toLowerCase())||d.description&&d.description.toLowerCase().includes(a.toLowerCase()),listStyle:{width:250,height:300}})})},C=I,oe=()=>{const{t:e}=F(),i=c.useRef(null);let[p,u]=c.useState(!1),[j,r]=c.useState(),[s,h]=c.useState("table"),[g,m]=c.useState(!1),[y,f]=c.useState(),x=W();const[w,l]=q.useMessage(),{data:a,refetch:d}=b({queryKey:["department-tree"],queryFn:()=>C.getTree(),enabled:s==="tree"});let M=D({mutationFn:async n=>{n.id?await C.updateById(n.id,n):await C.create(n)},onSuccess:()=>{i.current?.reload(),d(),u(!1),r(void 0),_()}});const A=D({mutationFn:n=>C.deleteById(n),onSuccess:()=>{i.current?.reload(),d(),_()},onError:()=>{w.error(e("general.error"))}});function _(){w.open({type:"success",content:e("general.success")})}const E=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",render:(n,o)=>t.jsx("a",{onClick:()=>{u(!0),r(o.id)},children:n})},{title:e("identity.department.parent"),dataIndex:"parentId",hideInSearch:!0,render:(n,o)=>o.parentId?t.jsx($,{color:"blue",children:o.parentName}):t.jsx($,{color:"green",children:e("identity.department.root")})},{title:e("identity.department.user_count"),dataIndex:"userCount",hideInSearch:!0,width:100},{title:e("assets.sort"),dataIndex:"weight",hideInSearch:!0,width:100},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:191},{title:e("actions.label"),valueType:"option",key:"option",width:160,render:(n,o,B,O)=>[t.jsx(T,{onClick:()=>{r(o.id),u(!0)},children:e("actions.edit")},"edit"),t.jsx(T,{onClick:()=>{f(o),m(!0)},children:e("identity.department.manage_users")},"manage-users"),t.jsx(T,{onClick:()=>{A.mutate(o.id)},danger:!0,children:e("actions.delete")},"delete"),t.jsx(Q,{onSelect:k=>{switch(k){case"view-authorised-asset":x(`/authorised-asset?departmentId=${o.id}`);break;case"view-authorised-website":x(`/authorised-website?departmentId=${o.id}`);break}},menus:[{key:"view-authorised-asset",name:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`},{key:"view-authorised-website",name:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`}]},"more")]}];return t.jsxs("div",{children:[t.jsx("div",{style:{marginLeft:16},children:t.jsxs(v.Group,{children:[t.jsx(v,{type:s==="table"?"primary":"default",onClick:()=>h("table"),children:e("identity.department.table_view")}),t.jsx(v,{type:s==="tree"?"primary":"default",onClick:()=>h("tree"),children:e("identity.department.tree_view")})]})}),s==="table"?t.jsx(G,{columns:E,actionRef:i,request:async(n={},o,B)=>{let[O,k]=X(o),P={pageIndex:n.current,pageSize:n.pageSize,order:O,field:k,name:n.name},L=await C.getPaging(P);return{data:L.items,success:!0,total:L.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.identity.submenus.department"),toolBarRender:()=>[t.jsx(v,{type:"primary",onClick:()=>{u(!0)},children:e("actions.new")},"button")]}):t.jsxs("div",{style:{background:"#fff",padding:24,borderRadius:8},children:[t.jsxs("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[t.jsx("h3",{children:e("identity.department.tree_structure")}),t.jsx(v,{type:"primary",onClick:()=>u(!0),children:e("actions.new")})]}),a&&t.jsx(H,{showLine:!0,showIcon:!0,defaultExpandAll:!0,treeData:a,onSelect:n=>{n.length>0&&x(`/department/${n[0]}`)}})]}),t.jsx(Y,{id:j,open:p,confirmLoading:M.isPending,handleCancel:()=>{u(!1),r(void 0)},handleOk:M.mutate}),t.jsx(J,{departmentId:y?.id,departmentName:y?.name,open:g,confirmLoading:!1,handleCancel:()=>{m(!1),f(void 0)},handleOk:()=>{m(!1),f(void 0),i.current?.reload()}}),l]})};export{oe as default}; +import{bs as S,f as c,S as t,U as K,aO as z,bX as N,bY as R,bg as q,bM as V,bi as $,bI as Q,av as v,bz as G,aP as H}from"./antd-Afm2kNt7.js";import{u as F,e as b,h as D,a as W}from"./index-DQXwuKC5.js";import{d as I}from"./department-api-fa0GHZbt.js";import{u as U}from"./user-api-BJxKseSg.js";import{g as X}from"./sort-BOdE-yay.js";import{N as T}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Y=({id:e,open:i,confirmLoading:p,handleCancel:u,handleOk:j})=>{const{t:r}=F(),[s]=S.useForm(),[h,g]=c.useState(),{data:m}=b({queryKey:["department",e],queryFn:()=>I.getById(e),enabled:!!e&&i}),{data:y}=b({queryKey:["department-tree"],queryFn:()=>I.getTree(),enabled:i}),{data:f}=b({queryKey:["users-all"],queryFn:()=>U.getAll(),enabled:i});c.useEffect(()=>{m?(g(m),s.setFieldsValue({...m})):i&&!e&&(s.resetFields(),g(void 0))},[m,s,e,i]);const x=async()=>{try{const l=await s.validateFields(),a={...l,id:h?.id,leaders:l.leaders||[]};j(a)}catch(l){console.error("Validation failed:",l)}},w=(l,a)=>l.filter(d=>d.key!==a).map(d=>({title:d.title,value:d.value,children:d.children?w(d.children,a):void 0}));return t.jsx(K,{title:r(h?"actions.edit":"actions.new"),open:i,onOk:x,onCancel:u,confirmLoading:p,width:600,children:t.jsxs(S,{form:s,layout:"vertical",initialValues:{weight:0,leaders:[]},children:[t.jsx(S.Item,{label:r("general.name"),name:"name",rules:[{required:!0,message:r("general.name")+r("general.required")},{max:100,message:r("general.name")+r("general.max_length",{max:100})}],children:t.jsx(z,{placeholder:r("identity.department.name_placeholder")})}),t.jsx(S.Item,{label:r("identity.department.parent"),name:"parentId",children:t.jsx(N,{placeholder:r("identity.department.parent_placeholder"),allowClear:!0,showSearch:!0,treeDefaultExpandAll:!0,treeData:y?w(y,h?.id):[],filterTreeNode:(l,a)=>a?.title?.toLowerCase().includes(l.toLowerCase())})}),t.jsx(S.Item,{label:r("assets.sort"),name:"weight",tooltip:r("identity.department.weight_tooltip"),children:t.jsx(R,{min:0,max:9999,placeholder:r("identity.department.weight_placeholder"),style:{width:"100%"}})})]})})},J=({departmentId:e,departmentName:i,open:p,confirmLoading:u,handleCancel:j,handleOk:r})=>{const{t:s}=F(),[h,g]=c.useState([]),{data:m=[]}=b({queryKey:["users-all"],queryFn:()=>U.getAll(),enabled:p}),y=b({queryKey:["department-users",e],queryFn:()=>I.getDepartmentUsers(e),enabled:!!e&&p});c.useEffect(()=>{p||g([])},[p]),c.useEffect(()=>{y.data&&g(y.data)},[y.data]);const f=D({mutationFn:a=>I.setDepartmentUsers(e,a),onSuccess:()=>{q.success(s("general.success")),r()},onError:()=>{q.error(s("general.error"))}}),x=a=>{g(a)},w=()=>{f.mutate(h)},l=m.map(a=>({key:a.id,title:`${a.nickname} (${a.username})`,description:a.mail||a.username}));return t.jsx(K,{title:`${s("identity.department.manage_users")} - ${i}`,open:p,onOk:w,onCancel:j,confirmLoading:u||f.isPending,width:600,children:t.jsx(V,{dataSource:l,titles:[s("identity.user.available"),s("identity.user.selected")],targetKeys:h,onChange:x,render:a=>a.title,showSearch:!0,filterOption:(a,d)=>d.title.toLowerCase().includes(a.toLowerCase())||d.description&&d.description.toLowerCase().includes(a.toLowerCase()),listStyle:{width:250,height:300}})})},C=I,oe=()=>{const{t:e}=F(),i=c.useRef(null);let[p,u]=c.useState(!1),[j,r]=c.useState(),[s,h]=c.useState("table"),[g,m]=c.useState(!1),[y,f]=c.useState(),x=W();const[w,l]=q.useMessage(),{data:a,refetch:d}=b({queryKey:["department-tree"],queryFn:()=>C.getTree(),enabled:s==="tree"});let M=D({mutationFn:async n=>{n.id?await C.updateById(n.id,n):await C.create(n)},onSuccess:()=>{i.current?.reload(),d(),u(!1),r(void 0),_()}});const A=D({mutationFn:n=>C.deleteById(n),onSuccess:()=>{i.current?.reload(),d(),_()},onError:()=>{w.error(e("general.error"))}});function _(){w.open({type:"success",content:e("general.success")})}const E=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",render:(n,o)=>t.jsx("a",{onClick:()=>{u(!0),r(o.id)},children:n})},{title:e("identity.department.parent"),dataIndex:"parentId",hideInSearch:!0,render:(n,o)=>o.parentId?t.jsx($,{color:"blue",children:o.parentName}):t.jsx($,{color:"green",children:e("identity.department.root")})},{title:e("identity.department.user_count"),dataIndex:"userCount",hideInSearch:!0,width:100},{title:e("assets.sort"),dataIndex:"weight",hideInSearch:!0,width:100},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:191},{title:e("actions.label"),valueType:"option",key:"option",width:160,render:(n,o,B,O)=>[t.jsx(T,{onClick:()=>{r(o.id),u(!0)},children:e("actions.edit")},"edit"),t.jsx(T,{onClick:()=>{f(o),m(!0)},children:e("identity.department.manage_users")},"manage-users"),t.jsx(T,{onClick:()=>{A.mutate(o.id)},danger:!0,children:e("actions.delete")},"delete"),t.jsx(Q,{onSelect:k=>{switch(k){case"view-authorised-asset":x(`/authorised-asset?departmentId=${o.id}`);break;case"view-authorised-website":x(`/authorised-website?departmentId=${o.id}`);break}},menus:[{key:"view-authorised-asset",name:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`},{key:"view-authorised-website",name:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`}]},"more")]}];return t.jsxs("div",{children:[t.jsx("div",{style:{marginLeft:16},children:t.jsxs(v.Group,{children:[t.jsx(v,{type:s==="table"?"primary":"default",onClick:()=>h("table"),children:e("identity.department.table_view")}),t.jsx(v,{type:s==="tree"?"primary":"default",onClick:()=>h("tree"),children:e("identity.department.tree_view")})]})}),s==="table"?t.jsx(G,{columns:E,actionRef:i,request:async(n={},o,B)=>{let[O,k]=X(o),P={pageIndex:n.current,pageSize:n.pageSize,order:O,field:k,name:n.name},L=await C.getPaging(P);return{data:L.items,success:!0,total:L.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.identity.submenus.department"),toolBarRender:()=>[t.jsx(v,{type:"primary",onClick:()=>{u(!0)},children:e("actions.new")},"button")]}):t.jsxs("div",{style:{background:"#fff",padding:24,borderRadius:8},children:[t.jsxs("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[t.jsx("h3",{children:e("identity.department.tree_structure")}),t.jsx(v,{type:"primary",onClick:()=>u(!0),children:e("actions.new")})]}),a&&t.jsx(H,{showLine:!0,showIcon:!0,defaultExpandAll:!0,treeData:a,onSelect:n=>{n.length>0&&x(`/department/${n[0]}`)}})]}),t.jsx(Y,{id:j,open:p,confirmLoading:M.isPending,handleCancel:()=>{u(!1),r(void 0)},handleOk:M.mutate}),t.jsx(J,{departmentId:y?.id,departmentName:y?.name,open:g,confirmLoading:!1,handleCancel:()=>{m(!1),f(void 0)},handleOk:()=>{m(!1),f(void 0),i.current?.reload()}}),l]})};export{oe as default}; diff --git a/server/resource/build/assets/ErrorPage-WplkeDbT.js b/server/resource/build/assets/ErrorPage-BYi3namZ.js similarity index 80% rename from server/resource/build/assets/ErrorPage-WplkeDbT.js rename to server/resource/build/assets/ErrorPage-BYi3namZ.js index be88e1aab..f11ba9224 100644 --- a/server/resource/build/assets/ErrorPage-WplkeDbT.js +++ b/server/resource/build/assets/ErrorPage-BYi3namZ.js @@ -1 +1 @@ -import{S as e,aG as a,aZ as i,a_ as n,av as t}from"./antd-Afm2kNt7.js";import{a as l,af as c,ag as p,y as m}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const g=()=>{const o=l(),r=c();let s;return p(r)?s=r.statusText:r instanceof Error?s=r.message:typeof r=="string"?s=r:(console.error(r),s="Unknown error"),e.jsx(a,{hashPriority:"high",children:e.jsx("div",{children:e.jsx(i,{status:"error",title:s,extra:e.jsxs(n,{children:[e.jsx(t,{type:"primary",onClick:()=>{o(-1)},children:"Back"}),e.jsx(t,{type:"primary",children:e.jsx(m,{to:"/",children:"Home"})})]})})})})};export{g as default}; +import{S as e,aG as a,aZ as i,a_ as n,av as t}from"./antd-Afm2kNt7.js";import{a as l,af as c,ag as p,y as m}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const g=()=>{const o=l(),r=c();let s;return p(r)?s=r.statusText:r instanceof Error?s=r.message:typeof r=="string"?s=r:(console.error(r),s="Unknown error"),e.jsx(a,{hashPriority:"high",children:e.jsx("div",{children:e.jsx(i,{status:"error",title:s,extra:e.jsxs(n,{children:[e.jsx(t,{type:"primary",onClick:()=>{o(-1)},children:"Back"}),e.jsx(t,{type:"primary",children:e.jsx(m,{to:"/",children:"Home"})})]})})})})};export{g as default}; diff --git a/server/resource/build/assets/FacadeCardSkeleton-DuF-8KBE.js b/server/resource/build/assets/FacadeCardSkeleton-N6rktkuw.js similarity index 99% rename from server/resource/build/assets/FacadeCardSkeleton-DuF-8KBE.js rename to server/resource/build/assets/FacadeCardSkeleton-N6rktkuw.js index 0a2b3bae1..27cd1bed1 100644 --- a/server/resource/build/assets/FacadeCardSkeleton-DuF-8KBE.js +++ b/server/resource/build/assets/FacadeCardSkeleton-N6rktkuw.js @@ -1,2 +1,2 @@ -import{R as m,S as e,aP as k,b2 as g,bJ as N,a$ as v}from"./antd-Afm2kNt7.js";import{v as w,u as f,C as y,E as C,X as _,ak as n}from"./index-BdfI9ZEv.js";import{c}from"./charts-DWBuA5Za.js";const F=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],A=w("external-link",F),E=s=>{let a=[];return Array.isArray(s)&&s.forEach(r=>{r.isLeaf||a.push(r.key),r.children&&(a=a.concat(E(r.children)))}),a},I=(s,a)=>{for(const r of s){if(r.key===a)return r;if(r.children){const t=I(r.children,a);if(t)return t}}return null},G=(s,a)=>{const r=[a],t=(i,d)=>{for(const l of i){if(l.key===d){l.children&&l.children.forEach(o=>{o.isLeaf||(r.push(o.key),t(l.children,o.key))});return}l.children&&t(l.children,d)}};return t(s,a),r},M=(s,a)=>a.includes(s)||s==="",S=m.memo(({title:s,treeData:a,selectedKey:r,onSelect:t,expandedKeys:i,onExpand:d,loading:l=!1})=>{const{t:o}=f(),p=x=>{x.length>0?t(x[0]):t("")};return e.jsxs("div",{className:"hidden lg:block rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-5 shadow-xl shadow-slate-200/50 dark:shadow-black/40",children:[e.jsx("div",{className:"mb-3 pb-3 border-b border-slate-200/60 dark:border-slate-700/60",children:e.jsx("h3",{className:"text-sm font-bold text-transparent bg-clip-text bg-gradient-to-r from-slate-900 to-slate-700 dark:from-slate-100 dark:to-slate-300",children:s})}),l?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-slate-400",children:[e.jsx("div",{className:"w-4 h-4 border-2 border-slate-400 border-t-transparent rounded-full animate-spin"}),o("general.loading")]}):e.jsx(k,{treeData:a,expandedKeys:i,onExpand:d,selectedKeys:r?[r]:[],onSelect:p,blockNode:!0,className:"text-sm text-slate-700 dark:text-slate-200 [&_.ant-tree-node-selected]:bg-gradient-to-r [&_.ant-tree-node-selected]:from-blue-50 [&_.ant-tree-node-selected]:to-indigo-50 dark:[&_.ant-tree-node-selected]:from-blue-900/30 dark:[&_.ant-tree-node-selected]:to-indigo-900/30 [&_.ant-tree-node-selected]:border-l-2 [&_.ant-tree-node-selected]:border-blue-500"})]})});S.displayName="FacadeGroupTree";const b=m.memo(({name:s,logo:a,protocol:r,className:t})=>a&&a!==""?e.jsx("div",{className:c("w-12 h-12 flex-shrink-0",t),children:e.jsx("img",{className:"w-12 h-12 rounded-lg object-cover ring-1 ring-slate-200 dark:ring-slate-700",src:a,alt:"logo",loading:"eager"})}):e.jsx("div",{className:c("w-12 h-12 flex-shrink-0 rounded-lg flex items-center justify-center","text-white font-bold text-lg","ring-1 ring-white/10",y(r),t),children:s[0].toUpperCase()}));b.displayName="FacadeLogo";const T=m.memo(({item:s,type:a,onOpen:r,onAllowTempIP:t,allowLoading:i,className:d})=>{const{t:l}=f(),o=a==="website"&&!!s.attrs?.tempAllowEnabled,p=s.status==="inactive",x=s.users&&s.users.length>0,j=()=>a!=="asset"||!x?null:e.jsx(g,{title:s.users.join(` +import{R as m,S as e,aP as k,b2 as g,bJ as N,a$ as v}from"./antd-Afm2kNt7.js";import{v as w,u as f,C as y,E as C,X as _,ak as n}from"./index-DQXwuKC5.js";import{c}from"./charts-DWBuA5Za.js";const F=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],A=w("external-link",F),E=s=>{let a=[];return Array.isArray(s)&&s.forEach(r=>{r.isLeaf||a.push(r.key),r.children&&(a=a.concat(E(r.children)))}),a},I=(s,a)=>{for(const r of s){if(r.key===a)return r;if(r.children){const t=I(r.children,a);if(t)return t}}return null},G=(s,a)=>{const r=[a],t=(i,d)=>{for(const l of i){if(l.key===d){l.children&&l.children.forEach(o=>{o.isLeaf||(r.push(o.key),t(l.children,o.key))});return}l.children&&t(l.children,d)}};return t(s,a),r},M=(s,a)=>a.includes(s)||s==="",S=m.memo(({title:s,treeData:a,selectedKey:r,onSelect:t,expandedKeys:i,onExpand:d,loading:l=!1})=>{const{t:o}=f(),p=x=>{x.length>0?t(x[0]):t("")};return e.jsxs("div",{className:"hidden lg:block rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-5 shadow-xl shadow-slate-200/50 dark:shadow-black/40",children:[e.jsx("div",{className:"mb-3 pb-3 border-b border-slate-200/60 dark:border-slate-700/60",children:e.jsx("h3",{className:"text-sm font-bold text-transparent bg-clip-text bg-gradient-to-r from-slate-900 to-slate-700 dark:from-slate-100 dark:to-slate-300",children:s})}),l?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 dark:text-slate-400",children:[e.jsx("div",{className:"w-4 h-4 border-2 border-slate-400 border-t-transparent rounded-full animate-spin"}),o("general.loading")]}):e.jsx(k,{treeData:a,expandedKeys:i,onExpand:d,selectedKeys:r?[r]:[],onSelect:p,blockNode:!0,className:"text-sm text-slate-700 dark:text-slate-200 [&_.ant-tree-node-selected]:bg-gradient-to-r [&_.ant-tree-node-selected]:from-blue-50 [&_.ant-tree-node-selected]:to-indigo-50 dark:[&_.ant-tree-node-selected]:from-blue-900/30 dark:[&_.ant-tree-node-selected]:to-indigo-900/30 [&_.ant-tree-node-selected]:border-l-2 [&_.ant-tree-node-selected]:border-blue-500"})]})});S.displayName="FacadeGroupTree";const b=m.memo(({name:s,logo:a,protocol:r,className:t})=>a&&a!==""?e.jsx("div",{className:c("w-12 h-12 flex-shrink-0",t),children:e.jsx("img",{className:"w-12 h-12 rounded-lg object-cover ring-1 ring-slate-200 dark:ring-slate-700",src:a,alt:"logo",loading:"eager"})}):e.jsx("div",{className:c("w-12 h-12 flex-shrink-0 rounded-lg flex items-center justify-center","text-white font-bold text-lg","ring-1 ring-white/10",y(r),t),children:s[0].toUpperCase()}));b.displayName="FacadeLogo";const T=m.memo(({item:s,type:a,onOpen:r,onAllowTempIP:t,allowLoading:i,className:d})=>{const{t:l}=f(),o=a==="website"&&!!s.attrs?.tempAllowEnabled,p=s.status==="inactive",x=s.users&&s.users.length>0,j=()=>a!=="asset"||!x?null:e.jsx(g,{title:s.users.join(` `),children:e.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded-full bg-green-50 dark:bg-green-900/20 ring-1 ring-green-200 dark:ring-green-800",children:[e.jsx("div",{className:"w-1 h-1 rounded-full bg-green-500 animate-pulse"}),e.jsx("span",{className:"text-[10px] font-medium text-green-700 dark:text-green-300",children:l("facade.in_use")})]})}),u=()=>e.jsxs("div",{className:c("relative overflow-hidden h-full flex flex-col","rounded-xl","bg-white dark:bg-[#141414]","ring-1 ring-slate-200/60 dark:ring-slate-700/60","shadow-sm","dark:shadow-md","transition-all duration-200 ease-out","hover:shadow-md hover:ring-slate-300/60","dark:hover:shadow-lg dark:hover:ring-slate-600/60","hover:-translate-y-0.5",p&&"opacity-50"),children:[e.jsxs("div",{className:"absolute top-2.5 right-2.5 flex items-center gap-1.5 z-10",children:[a==="asset"&&j(),a==="asset"?e.jsx("span",{className:c("px-1.5 py-0.5 rounded text-[9px] font-bold tracking-wider uppercase","text-white shadow-sm",C(s.protocol)),children:s.protocol}):e.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] font-semibold uppercase text-slate-600 dark:text-slate-300 bg-slate-100 dark:bg-slate-800",children:s.protocol})]}),e.jsxs("div",{className:"p-4 space-y-3 flex-1",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx(b,{name:s.name,logo:s.logo,protocol:s.protocol})}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-0.5",children:[e.jsx(g,{title:s.name,children:e.jsx("h3",{className:"text-sm font-semibold text-slate-900 dark:text-slate-100 truncate pr-20",children:s.name})}),a==="asset"&&s.alias&&e.jsx(g,{title:s.alias,children:e.jsx("p",{className:"text-xs text-slate-600 dark:text-slate-400 truncate",children:s.alias})}),a==="asset"&&e.jsx(g,{title:s.address,children:e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-500 truncate font-mono",children:s.address})})]})]}),s.description&&e.jsx(N,{content:e.jsx("div",{onClick:h=>{if(a==="asset")return h.stopPropagation(),!1},children:e.jsx(v.Paragraph,{copyable:!0,style:{marginBottom:0,maxWidth:300},children:s.description})}),children:e.jsx("p",{className:"text-xs text-slate-600 dark:text-slate-400 line-clamp-2 leading-relaxed",children:s.description})}),s.tags&&s.tags.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:s.tags.map(h=>e.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded-md text-[11px] font-medium bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300 ring-1 ring-slate-200/50 dark:ring-slate-700/50",children:h},h))}),a==="website"&&e.jsxs("div",{className:"flex items-center gap-1.5 pt-3 mt-auto border-t border-slate-100 dark:border-slate-800",children:[e.jsxs("button",{onClick:()=>r?.(s.id),className:"cursor-pointer flex-1 inline-flex items-center justify-center gap-1.5 px-3 py-2 rounded-lg text-xs font-semibold text-slate-700 dark:text-slate-200 bg-slate-100 dark:bg-slate-800 hover:bg-slate-200 dark:hover:bg-slate-700 transition-all duration-150",children:[e.jsx(A,{className:"w-3.5 h-3.5"}),l("assets.access")]}),o&&e.jsx("button",{onClick:()=>t?.(s.id),disabled:i===s.id,className:"cursor-pointer inline-flex items-center justify-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-semibold text-slate-700 dark:text-slate-200 bg-slate-100 dark:bg-slate-800 hover:bg-slate-200 dark:hover:bg-slate-700 ring-1 ring-slate-200 dark:ring-slate-700 shadow-sm transition-all duration-150 disabled:opacity-50 disabled:cursor-not-allowed",children:i===s.id?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-3.5 h-3.5 border-2 border-slate-400 border-t-transparent rounded-full animate-spin"}),e.jsx("span",{className:"hidden sm:inline",children:l("facade.processing")})]}):e.jsxs(e.Fragment,{children:[e.jsx(_,{className:"w-3.5 h-3.5"}),e.jsx("span",{className:"hidden sm:inline",children:l("assets.temp_allow_action")})]})})]})]})]});return a==="website"?e.jsx("div",{className:c("group",d),children:u()}):e.jsx("div",{className:c("group",d),children:u()})});T.displayName="FacadeCard";const L=m.memo(({count:s=8})=>e.jsx(e.Fragment,{children:Array.from({length:s}).map((a,r)=>e.jsx("div",{className:"animate-in fade-in duration-500",style:{animationDelay:`${r*50}ms`},children:e.jsxs("div",{className:"rounded-xl ring-1 ring-slate-200/60 dark:ring-slate-700/60 bg-white dark:bg-[#141414] shadow-sm dark:shadow-md p-4 space-y-3",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx(n,{className:"w-12 h-12 rounded-lg flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0 space-y-1.5",children:[e.jsx(n,{className:"h-4 w-3/4"}),e.jsx(n,{className:"h-3 w-full"})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(n,{className:"h-3 w-full"}),e.jsx(n,{className:"h-3 w-2/3"})]}),e.jsxs("div",{className:"flex gap-1.5",children:[e.jsx(n,{className:"h-5 w-14 rounded-md"}),e.jsx(n,{className:"h-5 w-16 rounded-md"})]}),e.jsxs("div",{className:"flex gap-1.5 pt-2.5 border-t border-slate-100 dark:border-slate-800",children:[e.jsx(n,{className:"h-8 flex-1 rounded-lg"}),e.jsx(n,{className:"h-8 w-28 rounded-lg"})]})]})},r))}));L.displayName="FacadeCardSkeleton";export{T as F,G as a,S as b,M as c,L as d,I as f,E as g}; diff --git a/server/resource/build/assets/FacadeSearchBar-sDOAHksR.js b/server/resource/build/assets/FacadeSearchBar-DPZw3dye.js similarity index 95% rename from server/resource/build/assets/FacadeSearchBar-sDOAHksR.js rename to server/resource/build/assets/FacadeSearchBar-DPZw3dye.js index 9af4bcf7b..7228e554d 100644 --- a/server/resource/build/assets/FacadeSearchBar-sDOAHksR.js +++ b/server/resource/build/assets/FacadeSearchBar-DPZw3dye.js @@ -1 +1 @@ -import{R as x,S as e}from"./antd-Afm2kNt7.js";import{u as n,al as i,am as h}from"./index-BdfI9ZEv.js";const m=x.memo(({value:a,onChange:t,resultCount:s,totalCount:r,placeholder:d})=>{const{t:l}=n(),c=()=>{t("")};return e.jsx("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 bg-white dark:bg-[#141414] px-3 py-2 shadow-sm",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center justify-center h-8 w-8 rounded-xl bg-slate-100 dark:bg-slate-800 text-slate-500 dark:text-slate-300",children:e.jsx(i,{className:"h-4 w-4"})}),e.jsx("input",{type:"text",value:a,placeholder:d||l("general.search_placeholder"),className:"flex-1 bg-transparent text-sm text-slate-900 dark:text-slate-100 placeholder:text-slate-400 dark:placeholder:text-slate-500 focus:outline-none",onChange:o=>t(o.target.value)}),s!==void 0&&r!==void 0&&e.jsxs("span",{className:"rounded-full bg-slate-100 dark:bg-slate-800 px-2.5 py-1 text-xs font-medium text-slate-600 dark:text-slate-300",children:[s,"/",r]}),a&&e.jsx("button",{onClick:c,className:"p-1.5 rounded-lg text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-800 transition-colors","aria-label":l("facade.clear_search"),children:e.jsx(h,{className:"h-3.5 w-3.5"})})]})})});m.displayName="FacadeSearchBar";export{m as F}; +import{R as x,S as e}from"./antd-Afm2kNt7.js";import{u as n,al as i,am as h}from"./index-DQXwuKC5.js";const m=x.memo(({value:a,onChange:t,resultCount:s,totalCount:r,placeholder:d})=>{const{t:l}=n(),c=()=>{t("")};return e.jsx("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 bg-white dark:bg-[#141414] px-3 py-2 shadow-sm",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center justify-center h-8 w-8 rounded-xl bg-slate-100 dark:bg-slate-800 text-slate-500 dark:text-slate-300",children:e.jsx(i,{className:"h-4 w-4"})}),e.jsx("input",{type:"text",value:a,placeholder:d||l("general.search_placeholder"),className:"flex-1 bg-transparent text-sm text-slate-900 dark:text-slate-100 placeholder:text-slate-400 dark:placeholder:text-slate-500 focus:outline-none",onChange:o=>t(o.target.value)}),s!==void 0&&r!==void 0&&e.jsxs("span",{className:"rounded-full bg-slate-100 dark:bg-slate-800 px-2.5 py-1 text-xs font-medium text-slate-600 dark:text-slate-300",children:[s,"/",r]}),a&&e.jsx("button",{onClick:c,className:"p-1.5 rounded-lg text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-800 transition-colors","aria-label":l("facade.clear_search"),children:e.jsx(h,{className:"h-3.5 w-3.5"})})]})})});m.displayName="FacadeSearchBar";export{m as F}; diff --git a/server/resource/build/assets/FileSystemLogPage-By5AW-Bn.js b/server/resource/build/assets/FileSystemLogPage-q2mkisVQ.js similarity index 97% rename from server/resource/build/assets/FileSystemLogPage-By5AW-Bn.js rename to server/resource/build/assets/FileSystemLogPage-q2mkisVQ.js index 16a1847b9..9d3600e7c 100644 --- a/server/resource/build/assets/FileSystemLogPage-By5AW-Bn.js +++ b/server/resource/build/assets/FileSystemLogPage-q2mkisVQ.js @@ -1 +1 @@ -var y=Object.defineProperty;var h=(e,t,r)=>t in e?y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var o=(e,t,r)=>h(e,typeof t!="symbol"?t+"":t,r);import{f as x,aI as f,S as i,bz as I,av as S}from"./antd-Afm2kNt7.js";import{g as w}from"./sort-BOdE-yay.js";import{A as k,r as v,u as A,h as T,y as l}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class b extends k{constructor(){super("admin/filesystem-logs");o(this,"clear",async()=>{await v.post(`/${this.group}/clear`)})}}const u=new b,q=()=>{const{t:e}=A(),t=x.useRef(null);let{modal:r}=f.useApp(),d=T({mutationFn:u.clear,onSuccess:()=>{t.current?.reload()}});const c=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("menus.resource.submenus.asset"),key:"assetName",dataIndex:"assetName",hideInSearch:!0,render:((a,s)=>i.jsx(l,{to:`/asset?assetId=${s.assetId}`,children:a}))},{title:e("menus.identity.submenus.user"),key:"userName",dataIndex:"userName",hideInSearch:!0,render:((a,s)=>i.jsx(l,{to:`/user/${s.userId}`,children:a}))},{title:e("audit.action"),key:"action",dataIndex:"action",valueType:"select",valueEnum:{upload:{text:e("general.upload")},download:{text:e("authorised.strategy.download")},rename:{text:e("authorised.strategy.rename")},remove:{text:e("actions.delete")},"create-dir":{text:e("authorised.strategy.create_dir")},"create-file":{text:e("authorised.strategy.create_file")}},width:100},{title:e("audit.filename"),key:"fileName",dataIndex:"fileName",hideInSearch:!0},{title:e("audit.operation.at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime"}];return i.jsx("div",{children:i.jsx(I,{defaultSize:"small",columns:c,actionRef:t,request:async(a={},s,j)=>{let[m,p]=w(s),g={pageIndex:a.current,pageSize:a.pageSize,order:m,field:p,action:a.action,username:a.username,clientIp:a.clientIp},n=await u.getPaging(g);return{data:n.items,success:!0,total:n.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.filesystem_log"),toolBarRender:()=>[i.jsx(S,{type:"primary",danger:!0,onClick:()=>{r.confirm({title:e("general.clear_confirm"),onOk:async()=>d.mutate()})},children:e("actions.clear")},"clear")]})})};export{q as default}; +var y=Object.defineProperty;var h=(e,t,r)=>t in e?y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var o=(e,t,r)=>h(e,typeof t!="symbol"?t+"":t,r);import{f as x,aI as f,S as i,bz as I,av as S}from"./antd-Afm2kNt7.js";import{g as w}from"./sort-BOdE-yay.js";import{A as k,r as v,u as A,h as T,y as l}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class b extends k{constructor(){super("admin/filesystem-logs");o(this,"clear",async()=>{await v.post(`/${this.group}/clear`)})}}const u=new b,q=()=>{const{t:e}=A(),t=x.useRef(null);let{modal:r}=f.useApp(),d=T({mutationFn:u.clear,onSuccess:()=>{t.current?.reload()}});const c=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("menus.resource.submenus.asset"),key:"assetName",dataIndex:"assetName",hideInSearch:!0,render:((a,s)=>i.jsx(l,{to:`/asset?assetId=${s.assetId}`,children:a}))},{title:e("menus.identity.submenus.user"),key:"userName",dataIndex:"userName",hideInSearch:!0,render:((a,s)=>i.jsx(l,{to:`/user/${s.userId}`,children:a}))},{title:e("audit.action"),key:"action",dataIndex:"action",valueType:"select",valueEnum:{upload:{text:e("general.upload")},download:{text:e("authorised.strategy.download")},rename:{text:e("authorised.strategy.rename")},remove:{text:e("actions.delete")},"create-dir":{text:e("authorised.strategy.create_dir")},"create-file":{text:e("authorised.strategy.create_file")}},width:100},{title:e("audit.filename"),key:"fileName",dataIndex:"fileName",hideInSearch:!0},{title:e("audit.operation.at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime"}];return i.jsx("div",{children:i.jsx(I,{defaultSize:"small",columns:c,actionRef:t,request:async(a={},s,j)=>{let[m,p]=w(s),g={pageIndex:a.current,pageSize:a.pageSize,order:m,field:p,action:a.action,username:a.username,clientIp:a.clientIp},n=await u.getPaging(g);return{data:n.items,success:!0,total:n.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.filesystem_log"),toolBarRender:()=>[i.jsx(S,{type:"primary",danger:!0,onClick:()=>{r.confirm({title:e("general.clear_confirm"),onOk:async()=>d.mutate()})},children:e("actions.clear")},"clear")]})})};export{q as default}; diff --git a/server/resource/build/assets/GatewayGroupPage-lhyUsn9i.js b/server/resource/build/assets/GatewayGroupPage-Bz3t4FqF.js similarity index 96% rename from server/resource/build/assets/GatewayGroupPage-lhyUsn9i.js rename to server/resource/build/assets/GatewayGroupPage-Bz3t4FqF.js index c10b416a7..edc9b075c 100644 --- a/server/resource/build/assets/GatewayGroupPage-lhyUsn9i.js +++ b/server/resource/build/assets/GatewayGroupPage-Bz3t4FqF.js @@ -1 +1 @@ -import{aI as f,bs as v,f as p,S as t,au as I,aK as G,aT as A,aU as C,aV as _,b$ as T,bH as R,aL as B,aM as D,bO as M,bi as q,av as x,aS as k,bz as z,ci as O}from"./antd-Afm2kNt7.js";import{g}from"./gateway-group-api-Ckni5YAK.js";import{s as V}from"./ssh-gateway-api-CfWrAhC0.js";import{a as E}from"./agent-gateway-api-C1FfOeZ1.js";import{u as j}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const W=({open:a,group:i,onClose:l})=>{const{t:e}=j(),{message:c}=f.useApp(),[d]=v.useForm();p.useEffect(()=>{if(a&&i){let r=i.members;if(typeof r=="string")try{r=JSON.parse(r)}catch{r=[]}d.setFieldsValue({...i,members:r})}else a&&(d.resetFields(),d.setFieldsValue({selectionMode:"priority",members:[]}))},[a,i,d]);const u=async r=>{try{const s={...r,members:JSON.stringify(r.members||[])};i?.id?await g.updateById(i.id,s):await g.create(s),c.success(e("general.success")),l(!0)}catch(s){console.error("Submit failed:",s)}},y=async()=>(await V.getAll()).map(s=>({label:s.name,value:s.id})),w=async()=>(await E.getAll()).map(s=>({label:s.name,value:s.id}));return t.jsx(I,{title:e(i?"gateway_group.edit":"gateway_group.create"),width:720,open:a,onClose:()=>l(),destroyOnHidden:!0,children:t.jsxs(G,{form:d,onFinish:u,submitter:{searchConfig:{submitText:e("actions.confirm"),resetText:e("actions.cancel")},resetButtonProps:{onClick:()=>l()}},children:[t.jsx(A,{name:"name",label:e("gateway_group.name"),rules:[{required:!0}],placeholder:e("gateway_group.name_placeholder")}),t.jsx(C,{name:"description",label:e("general.description"),placeholder:e("gateway_group.description_placeholder")}),t.jsx(_.Group,{name:"selectionMode",label:e("gateway_group.selection_mode"),rules:[{required:!0}],options:[{label:e("gateway_group.mode_priority"),value:"priority"},{label:e("gateway_group.mode_latency"),value:"latency"},{label:e("gateway_group.mode_random"),value:"random"}]}),t.jsxs(T,{name:"members",label:e("gateway_group.members"),creatorButtonProps:{creatorButtonText:e("gateway_group.add_member")},min:1,copyIconProps:!1,itemRender:({listDom:r,action:s},{index:h})=>t.jsxs("div",{style:{marginBottom:16,padding:16,border:"1px solid #d9d9d9",borderRadius:4,position:"relative"},children:[t.jsx("div",{style:{position:"absolute",top:8,right:8},children:s}),t.jsxs("div",{style:{marginBottom:8,fontWeight:"bold"},children:[e("gateway_group.member")," ",h+1]}),r]}),children:[t.jsx(_.Group,{name:"gatewayType",label:e("assets.gateway_type"),rules:[{required:!0}],options:[{label:e("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:e("menus.gateway.submenus.agent_gateway"),value:"agent"}]}),t.jsx(R,{name:["gatewayType"],children:({gatewayType:r})=>{if(!r)return null;const s=r==="ssh";return t.jsx(B,{name:"gatewayId",label:e(s?"menus.gateway.submenus.ssh_gateway":"menus.gateway.submenus.agent_gateway"),rules:[{required:!0}],request:s?y:w,params:{gatewayType:r},showSearch:!0},r)}}),t.jsx(D,{name:"priority",label:e("identity.policy.priority"),tooltip:e("gateway_group.priority_tooltip"),initialValue:0,min:0,fieldProps:{precision:0}}),t.jsx(M,{name:"enabled",label:e("general.enabled"),initialValue:!0})]})]})})},X=()=>{const{t:a}=j(),{message:i}=f.useApp(),l=p.useRef(null),[e,c]=p.useState(!1),[d,u]=p.useState(),y=()=>{u(void 0),c(!0)},w=o=>{u(o),c(!0)},r=async o=>{try{await g.deleteById(o),i.success(a("general.success")),l.current?.reload()}catch(n){console.error("Delete failed:",n)}},s=o=>{c(!1),u(void 0),o&&l.current?.reload()},h=o=>{if(!o)return[];if(Array.isArray(o))return o;try{return JSON.parse(o)}catch{return[]}},S=[{title:a("gateway_group.name"),dataIndex:"name",hideInSearch:!0,width:200},{title:a("gateway_group.selection_mode"),dataIndex:"selectionMode",width:120,render:(o,n)=>{const m={priority:{text:a("gateway_group.mode_priority"),color:"blue"},latency:{text:a("gateway_group.mode_latency"),color:"green"},random:{text:a("gateway_group.mode_random"),color:"orange"}}[n.selectionMode]||{text:n.selectionMode,color:"default"};return t.jsx(q,{color:m.color,children:m.text})}},{title:a("gateway_group.members"),dataIndex:"members",width:100,render:(o,n)=>{const b=h(n.members),m=b.filter(F=>F.enabled).length,P=b.length;return`${m}/${P}`}},{title:a("general.description"),dataIndex:"description",hideInSearch:!0,ellipsis:!0},{title:a("general.created_at"),dataIndex:"createdAt",width:180,valueType:"dateTime",hideInSearch:!0},{title:a("actions.label"),width:150,fixed:"right",valueType:"option",render:(o,n)=>[t.jsx(x,{type:"link",size:"small",onClick:()=>w(n),children:a("actions.edit")},"edit"),t.jsx(k,{title:a("general.confirm_delete"),onConfirm:()=>r(n.id),children:t.jsx(x,{type:"link",size:"small",danger:!0,children:a("actions.delete")})},"delete")]}];return t.jsxs(t.Fragment,{children:[t.jsx(z,{columns:S,actionRef:l,request:async o=>{const n=await g.getPaging({pageIndex:o.current||1,pageSize:o.pageSize||10,keyword:o.keyword});return{data:n.items,success:!0,total:n.total}},rowKey:"id",headerTitle:a("menus.gateway.submenus.gateway_group"),options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},toolBarRender:()=>[t.jsx(x,{type:"primary",icon:t.jsx(O,{}),onClick:y,children:a("actions.new")},"create")]}),t.jsx(W,{open:e,group:d,onClose:s})]})};export{X as default}; +import{aI as f,bs as v,f as p,S as t,au as I,aK as G,aT as A,aU as C,aV as _,b$ as T,bH as R,aL as B,aM as D,bO as M,bi as q,av as x,aS as k,bz as z,ci as O}from"./antd-Afm2kNt7.js";import{g}from"./gateway-group-api-nxpckHkj.js";import{s as V}from"./ssh-gateway-api-D4569Eil.js";import{a as E}from"./agent-gateway-api-C9ZaxlKW.js";import{u as j}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const W=({open:a,group:i,onClose:l})=>{const{t:e}=j(),{message:c}=f.useApp(),[d]=v.useForm();p.useEffect(()=>{if(a&&i){let r=i.members;if(typeof r=="string")try{r=JSON.parse(r)}catch{r=[]}d.setFieldsValue({...i,members:r})}else a&&(d.resetFields(),d.setFieldsValue({selectionMode:"priority",members:[]}))},[a,i,d]);const u=async r=>{try{const s={...r,members:JSON.stringify(r.members||[])};i?.id?await g.updateById(i.id,s):await g.create(s),c.success(e("general.success")),l(!0)}catch(s){console.error("Submit failed:",s)}},y=async()=>(await V.getAll()).map(s=>({label:s.name,value:s.id})),w=async()=>(await E.getAll()).map(s=>({label:s.name,value:s.id}));return t.jsx(I,{title:e(i?"gateway_group.edit":"gateway_group.create"),width:720,open:a,onClose:()=>l(),destroyOnHidden:!0,children:t.jsxs(G,{form:d,onFinish:u,submitter:{searchConfig:{submitText:e("actions.confirm"),resetText:e("actions.cancel")},resetButtonProps:{onClick:()=>l()}},children:[t.jsx(A,{name:"name",label:e("gateway_group.name"),rules:[{required:!0}],placeholder:e("gateway_group.name_placeholder")}),t.jsx(C,{name:"description",label:e("general.description"),placeholder:e("gateway_group.description_placeholder")}),t.jsx(_.Group,{name:"selectionMode",label:e("gateway_group.selection_mode"),rules:[{required:!0}],options:[{label:e("gateway_group.mode_priority"),value:"priority"},{label:e("gateway_group.mode_latency"),value:"latency"},{label:e("gateway_group.mode_random"),value:"random"}]}),t.jsxs(T,{name:"members",label:e("gateway_group.members"),creatorButtonProps:{creatorButtonText:e("gateway_group.add_member")},min:1,copyIconProps:!1,itemRender:({listDom:r,action:s},{index:h})=>t.jsxs("div",{style:{marginBottom:16,padding:16,border:"1px solid #d9d9d9",borderRadius:4,position:"relative"},children:[t.jsx("div",{style:{position:"absolute",top:8,right:8},children:s}),t.jsxs("div",{style:{marginBottom:8,fontWeight:"bold"},children:[e("gateway_group.member")," ",h+1]}),r]}),children:[t.jsx(_.Group,{name:"gatewayType",label:e("assets.gateway_type"),rules:[{required:!0}],options:[{label:e("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:e("menus.gateway.submenus.agent_gateway"),value:"agent"}]}),t.jsx(R,{name:["gatewayType"],children:({gatewayType:r})=>{if(!r)return null;const s=r==="ssh";return t.jsx(B,{name:"gatewayId",label:e(s?"menus.gateway.submenus.ssh_gateway":"menus.gateway.submenus.agent_gateway"),rules:[{required:!0}],request:s?y:w,params:{gatewayType:r},showSearch:!0},r)}}),t.jsx(D,{name:"priority",label:e("identity.policy.priority"),tooltip:e("gateway_group.priority_tooltip"),initialValue:0,min:0,fieldProps:{precision:0}}),t.jsx(M,{name:"enabled",label:e("general.enabled"),initialValue:!0})]})]})})},X=()=>{const{t:a}=j(),{message:i}=f.useApp(),l=p.useRef(null),[e,c]=p.useState(!1),[d,u]=p.useState(),y=()=>{u(void 0),c(!0)},w=o=>{u(o),c(!0)},r=async o=>{try{await g.deleteById(o),i.success(a("general.success")),l.current?.reload()}catch(n){console.error("Delete failed:",n)}},s=o=>{c(!1),u(void 0),o&&l.current?.reload()},h=o=>{if(!o)return[];if(Array.isArray(o))return o;try{return JSON.parse(o)}catch{return[]}},S=[{title:a("gateway_group.name"),dataIndex:"name",hideInSearch:!0,width:200},{title:a("gateway_group.selection_mode"),dataIndex:"selectionMode",width:120,render:(o,n)=>{const m={priority:{text:a("gateway_group.mode_priority"),color:"blue"},latency:{text:a("gateway_group.mode_latency"),color:"green"},random:{text:a("gateway_group.mode_random"),color:"orange"}}[n.selectionMode]||{text:n.selectionMode,color:"default"};return t.jsx(q,{color:m.color,children:m.text})}},{title:a("gateway_group.members"),dataIndex:"members",width:100,render:(o,n)=>{const b=h(n.members),m=b.filter(F=>F.enabled).length,P=b.length;return`${m}/${P}`}},{title:a("general.description"),dataIndex:"description",hideInSearch:!0,ellipsis:!0},{title:a("general.created_at"),dataIndex:"createdAt",width:180,valueType:"dateTime",hideInSearch:!0},{title:a("actions.label"),width:150,fixed:"right",valueType:"option",render:(o,n)=>[t.jsx(x,{type:"link",size:"small",onClick:()=>w(n),children:a("actions.edit")},"edit"),t.jsx(k,{title:a("general.confirm_delete"),onConfirm:()=>r(n.id),children:t.jsx(x,{type:"link",size:"small",danger:!0,children:a("actions.delete")})},"delete")]}];return t.jsxs(t.Fragment,{children:[t.jsx(z,{columns:S,actionRef:l,request:async o=>{const n=await g.getPaging({pageIndex:o.current||1,pageSize:o.pageSize||10,keyword:o.keyword});return{data:n.items,success:!0,total:n.total}},rowKey:"id",headerTitle:a("menus.gateway.submenus.gateway_group"),options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},toolBarRender:()=>[t.jsx(x,{type:"primary",icon:t.jsx(O,{}),onClick:y,children:a("actions.new")},"create")]}),t.jsx(W,{open:e,group:d,onClose:s})]})};export{X as default}; diff --git a/server/resource/build/assets/GuacdMonitor-BFjzb-EC.js b/server/resource/build/assets/GuacdMonitor-BuR0ODFT.js similarity index 90% rename from server/resource/build/assets/GuacdMonitor-BFjzb-EC.js rename to server/resource/build/assets/GuacdMonitor-BuR0ODFT.js index 8d56690ed..d3fc73edb 100644 --- a/server/resource/build/assets/GuacdMonitor-BFjzb-EC.js +++ b/server/resource/build/assets/GuacdMonitor-BuR0ODFT.js @@ -1 +1 @@ -import{f as o,S as c}from"./antd-Afm2kNt7.js";import{b as v,a3 as k,a2 as g,$ as E,I as T,m as W,q as j,a4 as z}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const R=()=>{const[d]=v(),u=d.get("sessionId"),m=d.get("token");let[h,p]=o.useState(),[w,S]=o.useState(),[f,y]=o.useState();const b=e=>{let t=e.getDisplay().getWidth(),s=e.getDisplay().getHeight(),a=window.innerWidth,l=window.innerHeight,n=a/t,i=l/s;console.log(n,i);let r=Math.min(n,i);r&&e.getDisplay().scale(r)},x=e=>{let t=new g.WebSocketTunnel(`${E()}/admin/sessions/${e}/graphics-monitor`),s=new g.Client(t);t.onstatechange=y,s.onstatechange=p,s.onerror=S;const a=document.getElementById("display");a.innerHTML="";const l=s.getDisplay().getElement();a.appendChild(l);let n=T();W.hasText(m)&&(n=m);let i={"X-Auth-Token":n},r=j.stringify(i);return s.connect(r),s};return o.useEffect(()=>{let e=x(u),t=z(()=>{b(e)});return e.getDisplay().onresize=t,window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[u]),c.jsxs("div",{className:"h-screen w-screen overflow-hidden flex items-center justify-center relative bg-[#1b1b1b]",children:[c.jsx(k,{state:h,status:w,tunnelState:f,overlay:!0}),c.jsx("div",{id:"display"})]})};export{R as default}; +import{f as o,S as c}from"./antd-Afm2kNt7.js";import{b as v,a3 as k,a2 as g,$ as E,I as T,m as W,q as j,a4 as z}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const R=()=>{const[d]=v(),u=d.get("sessionId"),m=d.get("token");let[h,p]=o.useState(),[w,S]=o.useState(),[f,y]=o.useState();const b=e=>{let t=e.getDisplay().getWidth(),s=e.getDisplay().getHeight(),a=window.innerWidth,l=window.innerHeight,n=a/t,i=l/s;console.log(n,i);let r=Math.min(n,i);r&&e.getDisplay().scale(r)},x=e=>{let t=new g.WebSocketTunnel(`${E()}/admin/sessions/${e}/graphics-monitor`),s=new g.Client(t);t.onstatechange=y,s.onstatechange=p,s.onerror=S;const a=document.getElementById("display");a.innerHTML="";const l=s.getDisplay().getElement();a.appendChild(l);let n=T();W.hasText(m)&&(n=m);let i={"X-Auth-Token":n},r=j.stringify(i);return s.connect(r),s};return o.useEffect(()=>{let e=x(u),t=z(()=>{b(e)});return e.getDisplay().onresize=t,window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[u]),c.jsxs("div",{className:"h-screen w-screen overflow-hidden flex items-center justify-center relative bg-[#1b1b1b]",children:[c.jsx(k,{state:h,status:w,tunnelState:f,overlay:!0}),c.jsx("div",{id:"display"})]})};export{R as default}; diff --git a/server/resource/build/assets/GuacdPlayback-CXTxl9WE.js b/server/resource/build/assets/GuacdPlayback-CFtamDo9.js similarity index 98% rename from server/resource/build/assets/GuacdPlayback-CXTxl9WE.js rename to server/resource/build/assets/GuacdPlayback-CFtamDo9.js index 61a1784da..eb80b6f56 100644 --- a/server/resource/build/assets/GuacdPlayback-CXTxl9WE.js +++ b/server/resource/build/assets/GuacdPlayback-CFtamDo9.js @@ -1 +1 @@ -import{f as s,S as e,b2 as x,cg as B,aH as he,T as me,ay as xe}from"./antd-Afm2kNt7.js";import{v as c,b as pe,u as fe,I as ke,m as ge,a2 as L,H as ye}from"./index-BdfI9ZEv.js";import{t as z}from"./times-BW3mBaPj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const we=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],ve=c("maximize",we);const be=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],je=c("minimize",be);const Me=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Ne=c("pause",Me);const Se=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Ce=c("play",Se);const Te=[["path",{d:"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",key:"15892j"}],["path",{d:"M3 20V4",key:"1ptbpl"}]],_e=c("skip-back",Te);const Pe=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],Ee=c("skip-forward",Pe);const ze=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Le=c("volume-2",ze);const De=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],Re=c("volume-x",De);L.Layer.prototype.toCanvas=function(){const i=this.getCanvas();if(!i||i.width===0||i.height===0){const a=document.createElement("canvas");return a.width=1,a.height=1,a}const d=document.createElement("canvas");return d.width=this.width,d.height=this.height,d.getContext("2d").drawImage(i,0,0),d};const Be=()=>{const[i]=pe(),d=i.get("sessionId"),y=i.get("token");let{t:a}=fe(),[D,U]=s.useState("00:00"),[G,K]=s.useState("00:00"),[w,R]=s.useState(0),[v,X]=s.useState(0),[b,O]=s.useState(1),[n,W]=s.useState(),[p,V]=s.useState(!1),[J,j]=s.useState(1),[M,Q]=s.useState(!1),[A,Y]=s.useState(!1),[$,Z]=s.useState(1),[f,H]=s.useState(!1),[ee,I]=s.useState(!1);const u=s.useRef(null),N=s.useRef(null),S=s.useRef(null);s.useEffect(()=>{let t=te(d);const r=o=>{if(!(o.target&&o.target.tagName==="INPUT"))switch(o.code){case"Space":o.preventDefault(),T();break;case"ArrowLeft":o.preventDefault(),g(-1e4);break;case"ArrowRight":o.preventDefault(),g(1e4);break;case"KeyF":o.preventDefault(),_();break}},h=()=>{Y(!!document.fullscreenElement)};return document.addEventListener("keydown",r),document.addEventListener("fullscreenchange",h),()=>{t&&(t.disconnect(),t.getDisplay().getElement().innerHTML=""),document.removeEventListener("keydown",r),document.removeEventListener("fullscreenchange",h)}},[d]);const te=t=>{let r=ke();ge.hasText(y)&&(r=y);let h=`${ye()}/admin/sessions/${t}/recording?X-Auth-Token=${r}`;const o=new L.StaticHTTPTunnel(h),l=new L.SessionRecording(o);console.log(l.getDisplay().getDefaultLayer().toCanvas.toString());const P=l.getDisplay();return document.getElementById("display").appendChild(P.getElement()),l.onload=function(){console.log("onload")},l.onplay=()=>{V(!0)},l.onpause=()=>{V(!1)},P.onresize=function(ie,de){const E=document.getElementById("display");if(!E)return;const ue=Math.min(E.offsetWidth/ie,E.offsetHeight/de);P.scale(ue)},l.connect(),l.onseek=m=>{R(m),U(z.formatTime(m))},l.onprogress=m=>{X(m),K(z.formatTime(m))},W(l),l};let C;const k=()=>{if(F(),b===1||!n.isPlaying())return;const t=100;let r=1e3/(1e3/t)/(b-1),h=n.getDuration(),o=n.getPosition();o>=h||n.seek(o+t,()=>{C=setTimeout(k,r)})},F=()=>{C&&clearTimeout(C)},T=t=>{Q(!0),w===v&&(R(0),n.seek(0,()=>{n.play(),k()})),n.isPlaying()?(console.log("pause"),n.pause()):(console.log("play"),n.play(),k())},se=t=>{n.seek(t,()=>{console.log("complete")})},q=t=>p?e.jsx(Ne,{className:t,onClick:()=>T()}):e.jsx(Ce,{className:t,onClick:()=>T()}),g=t=>{if(!n)return;const r=Math.max(0,Math.min(v,w+t));n.seek(r,()=>{console.log("seek complete")})},_=async()=>{if(N.current)try{document.fullscreenElement?await document.exitFullscreen():await N.current.requestFullscreen()}catch(t){console.error("Fullscreen toggle failed:",t)}},ae=()=>{H(!f)},ne=t=>{Z(t),H(t===0)},oe=()=>{S.current&&clearTimeout(S.current),I(!0)},le=()=>{S.current=window.setTimeout(()=>{I(!1)},1e3)},re=()=>{j(1),u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{M&&p&&j(0)},3e3)},ce=()=>{u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{M&&p&&j(0)},1e3)};return e.jsxs("div",{ref:N,children:[e.jsx("div",{className:"h-screen w-screen flex items-center justify-center bg-gradient-to-br from-slate-950 via-neutral-900 to-black",onMouseMove:re,onMouseLeave:ce,children:e.jsx("div",{className:"rounded-xl overflow-hidden ring-1 ring-white/10 shadow-2xl bg-black/20",children:e.jsx("div",{id:"display",onClick:()=>{}})})}),!p&&!M&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black/60 backdrop-blur-sm z-50 flex justify-center items-center",children:e.jsxs("div",{className:"text-center px-4",children:[q("h-16 w-16 cursor-pointer text-white md:h-28 md:w-28 mb-4"),e.jsxs("div",{className:"text-white/60 text-xs md:text-sm mt-4 space-y-1",children:[e.jsx("div",{children:a("access.playback.shortcut_space")}),e.jsx("div",{className:"hidden sm:block",children:a("access.playback.shortcut_seek")}),e.jsx("div",{className:"hidden sm:block",children:a("access.playback.shortcut_fullscreen")})]})]})}),e.jsxs("div",{className:"fixed bottom-2 md:bottom-4 left-1/2 -translate-x-1/2 w-[min(900px,98vw)] h-12 md:h-14 flex gap-1 md:gap-3 items-center px-2 md:px-4 rounded-lg md:rounded-xl bg-black/60 backdrop-blur-md border border-white/10 shadow-xl transition-opacity duration-300 ctrl-bar",style:{opacity:J},children:[e.jsx("div",{className:"flex-none hidden sm:block",children:e.jsx(x,{title:a("access.playback.seek_back"),children:e.jsx(_e,{className:"h-4 w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:()=>g(-1e4)})})}),e.jsx("div",{className:"flex-none",children:e.jsx(x,{title:a("access.playback.play_pause"),children:q("h-4 w-4 md:h-5 md:w-5 cursor-pointer text-white")})}),e.jsx("div",{className:"flex-none hidden sm:block",children:e.jsx(x,{title:a("access.playback.seek_forward"),children:e.jsx(Ee,{className:"h-4 w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:()=>g(1e4)})})}),e.jsx("div",{className:"flex-auto px-1 md:px-2",children:e.jsx(B,{value:w,max:v,onChange:se,tooltip:{formatter:t=>z.formatTime(t)},styles:{rail:{backgroundColor:"rgba(255,255,255,0.15)"},track:{backgroundColor:"#22c55e"},handle:{borderColor:"#22c55e",boxShadow:"0 0 0 4px rgba(34,197,94,0.15)"}}})}),e.jsx("div",{className:"flex-none",children:e.jsx(he,{theme:{algorithm:me.darkAlgorithm},children:e.jsx(xe,{size:"small",className:"min-w-12 md:min-w-16 text-xs",defaultValue:1,value:b,onChange:t=>{O(t),t===1?F():k()},options:[{value:1,label:"1x"},{value:1.5,label:"1.5x"},{value:2,label:"2x"},{value:5,label:"5x"}]})})}),e.jsxs("div",{className:"flex-none hidden lg:block relative",onMouseEnter:oe,onMouseLeave:le,children:[e.jsx(x,{title:a(f?"access.playback.unmute":"access.playback.mute"),children:e.jsx("div",{className:"cursor-pointer",onClick:ae,children:f||$===0?e.jsx(Re,{className:"h-4 w-4 text-white/80 hover:text-white transition-colors"}):e.jsx(Le,{className:"h-4 w-4 text-white/80 hover:text-white transition-colors"})})}),ee&&e.jsx("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 bg-black/80 backdrop-blur-md rounded-lg p-3 border border-white/10",children:e.jsx("div",{className:"h-20 flex items-center",children:e.jsx(B,{vertical:!0,value:f?0:$*100,max:100,onChange:t=>ne(t/100),tooltip:{formatter:t=>`${t}%`},styles:{rail:{backgroundColor:"rgba(255,255,255,0.15)"},track:{backgroundColor:"#22c55e"},handle:{borderColor:"#22c55e",boxShadow:"0 0 0 4px rgba(34,197,94,0.15)"}}})})})]}),e.jsx("div",{className:"flex-none",children:e.jsx(x,{title:a(A?"access.playback.exit_fullscreen":"access.playback.fullscreen"),children:A?e.jsx(je,{className:"h-3 w-3 md:h-4 md:w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:_}):e.jsx(ve,{className:"h-3 w-3 md:h-4 md:w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:_})})}),e.jsxs("div",{className:"flex-none text-xs text-white/80 min-w-[60px] md:min-w-[80px] text-right hidden md:block",children:[e.jsx("b",{children:D})," / ",e.jsx("b",{children:G})]}),e.jsx("div",{className:"flex-none text-xs text-white/80 min-w-[40px] text-right md:hidden",children:e.jsx("b",{children:D})})]})]})};export{Be as default}; +import{f as s,S as e,b2 as x,cg as B,aH as he,T as me,ay as xe}from"./antd-Afm2kNt7.js";import{v as c,b as pe,u as fe,I as ke,m as ge,a2 as L,H as ye}from"./index-DQXwuKC5.js";import{t as z}from"./times-CQ9ir0Jv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const we=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],ve=c("maximize",we);const be=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],je=c("minimize",be);const Me=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Ne=c("pause",Me);const Se=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Ce=c("play",Se);const Te=[["path",{d:"M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",key:"15892j"}],["path",{d:"M3 20V4",key:"1ptbpl"}]],_e=c("skip-back",Te);const Pe=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],Ee=c("skip-forward",Pe);const ze=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Le=c("volume-2",ze);const De=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],Re=c("volume-x",De);L.Layer.prototype.toCanvas=function(){const i=this.getCanvas();if(!i||i.width===0||i.height===0){const a=document.createElement("canvas");return a.width=1,a.height=1,a}const d=document.createElement("canvas");return d.width=this.width,d.height=this.height,d.getContext("2d").drawImage(i,0,0),d};const Be=()=>{const[i]=pe(),d=i.get("sessionId"),y=i.get("token");let{t:a}=fe(),[D,U]=s.useState("00:00"),[G,K]=s.useState("00:00"),[w,R]=s.useState(0),[v,X]=s.useState(0),[b,O]=s.useState(1),[n,W]=s.useState(),[p,V]=s.useState(!1),[J,j]=s.useState(1),[M,Q]=s.useState(!1),[A,Y]=s.useState(!1),[$,Z]=s.useState(1),[f,H]=s.useState(!1),[ee,I]=s.useState(!1);const u=s.useRef(null),N=s.useRef(null),S=s.useRef(null);s.useEffect(()=>{let t=te(d);const r=o=>{if(!(o.target&&o.target.tagName==="INPUT"))switch(o.code){case"Space":o.preventDefault(),T();break;case"ArrowLeft":o.preventDefault(),g(-1e4);break;case"ArrowRight":o.preventDefault(),g(1e4);break;case"KeyF":o.preventDefault(),_();break}},h=()=>{Y(!!document.fullscreenElement)};return document.addEventListener("keydown",r),document.addEventListener("fullscreenchange",h),()=>{t&&(t.disconnect(),t.getDisplay().getElement().innerHTML=""),document.removeEventListener("keydown",r),document.removeEventListener("fullscreenchange",h)}},[d]);const te=t=>{let r=ke();ge.hasText(y)&&(r=y);let h=`${ye()}/admin/sessions/${t}/recording?X-Auth-Token=${r}`;const o=new L.StaticHTTPTunnel(h),l=new L.SessionRecording(o);console.log(l.getDisplay().getDefaultLayer().toCanvas.toString());const P=l.getDisplay();return document.getElementById("display").appendChild(P.getElement()),l.onload=function(){console.log("onload")},l.onplay=()=>{V(!0)},l.onpause=()=>{V(!1)},P.onresize=function(ie,de){const E=document.getElementById("display");if(!E)return;const ue=Math.min(E.offsetWidth/ie,E.offsetHeight/de);P.scale(ue)},l.connect(),l.onseek=m=>{R(m),U(z.formatTime(m))},l.onprogress=m=>{X(m),K(z.formatTime(m))},W(l),l};let C;const k=()=>{if(F(),b===1||!n.isPlaying())return;const t=100;let r=1e3/(1e3/t)/(b-1),h=n.getDuration(),o=n.getPosition();o>=h||n.seek(o+t,()=>{C=setTimeout(k,r)})},F=()=>{C&&clearTimeout(C)},T=t=>{Q(!0),w===v&&(R(0),n.seek(0,()=>{n.play(),k()})),n.isPlaying()?(console.log("pause"),n.pause()):(console.log("play"),n.play(),k())},se=t=>{n.seek(t,()=>{console.log("complete")})},q=t=>p?e.jsx(Ne,{className:t,onClick:()=>T()}):e.jsx(Ce,{className:t,onClick:()=>T()}),g=t=>{if(!n)return;const r=Math.max(0,Math.min(v,w+t));n.seek(r,()=>{console.log("seek complete")})},_=async()=>{if(N.current)try{document.fullscreenElement?await document.exitFullscreen():await N.current.requestFullscreen()}catch(t){console.error("Fullscreen toggle failed:",t)}},ae=()=>{H(!f)},ne=t=>{Z(t),H(t===0)},oe=()=>{S.current&&clearTimeout(S.current),I(!0)},le=()=>{S.current=window.setTimeout(()=>{I(!1)},1e3)},re=()=>{j(1),u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{M&&p&&j(0)},3e3)},ce=()=>{u.current&&clearTimeout(u.current),u.current=window.setTimeout(()=>{M&&p&&j(0)},1e3)};return e.jsxs("div",{ref:N,children:[e.jsx("div",{className:"h-screen w-screen flex items-center justify-center bg-gradient-to-br from-slate-950 via-neutral-900 to-black",onMouseMove:re,onMouseLeave:ce,children:e.jsx("div",{className:"rounded-xl overflow-hidden ring-1 ring-white/10 shadow-2xl bg-black/20",children:e.jsx("div",{id:"display",onClick:()=>{}})})}),!p&&!M&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black/60 backdrop-blur-sm z-50 flex justify-center items-center",children:e.jsxs("div",{className:"text-center px-4",children:[q("h-16 w-16 cursor-pointer text-white md:h-28 md:w-28 mb-4"),e.jsxs("div",{className:"text-white/60 text-xs md:text-sm mt-4 space-y-1",children:[e.jsx("div",{children:a("access.playback.shortcut_space")}),e.jsx("div",{className:"hidden sm:block",children:a("access.playback.shortcut_seek")}),e.jsx("div",{className:"hidden sm:block",children:a("access.playback.shortcut_fullscreen")})]})]})}),e.jsxs("div",{className:"fixed bottom-2 md:bottom-4 left-1/2 -translate-x-1/2 w-[min(900px,98vw)] h-12 md:h-14 flex gap-1 md:gap-3 items-center px-2 md:px-4 rounded-lg md:rounded-xl bg-black/60 backdrop-blur-md border border-white/10 shadow-xl transition-opacity duration-300 ctrl-bar",style:{opacity:J},children:[e.jsx("div",{className:"flex-none hidden sm:block",children:e.jsx(x,{title:a("access.playback.seek_back"),children:e.jsx(_e,{className:"h-4 w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:()=>g(-1e4)})})}),e.jsx("div",{className:"flex-none",children:e.jsx(x,{title:a("access.playback.play_pause"),children:q("h-4 w-4 md:h-5 md:w-5 cursor-pointer text-white")})}),e.jsx("div",{className:"flex-none hidden sm:block",children:e.jsx(x,{title:a("access.playback.seek_forward"),children:e.jsx(Ee,{className:"h-4 w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:()=>g(1e4)})})}),e.jsx("div",{className:"flex-auto px-1 md:px-2",children:e.jsx(B,{value:w,max:v,onChange:se,tooltip:{formatter:t=>z.formatTime(t)},styles:{rail:{backgroundColor:"rgba(255,255,255,0.15)"},track:{backgroundColor:"#22c55e"},handle:{borderColor:"#22c55e",boxShadow:"0 0 0 4px rgba(34,197,94,0.15)"}}})}),e.jsx("div",{className:"flex-none",children:e.jsx(he,{theme:{algorithm:me.darkAlgorithm},children:e.jsx(xe,{size:"small",className:"min-w-12 md:min-w-16 text-xs",defaultValue:1,value:b,onChange:t=>{O(t),t===1?F():k()},options:[{value:1,label:"1x"},{value:1.5,label:"1.5x"},{value:2,label:"2x"},{value:5,label:"5x"}]})})}),e.jsxs("div",{className:"flex-none hidden lg:block relative",onMouseEnter:oe,onMouseLeave:le,children:[e.jsx(x,{title:a(f?"access.playback.unmute":"access.playback.mute"),children:e.jsx("div",{className:"cursor-pointer",onClick:ae,children:f||$===0?e.jsx(Re,{className:"h-4 w-4 text-white/80 hover:text-white transition-colors"}):e.jsx(Le,{className:"h-4 w-4 text-white/80 hover:text-white transition-colors"})})}),ee&&e.jsx("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 bg-black/80 backdrop-blur-md rounded-lg p-3 border border-white/10",children:e.jsx("div",{className:"h-20 flex items-center",children:e.jsx(B,{vertical:!0,value:f?0:$*100,max:100,onChange:t=>ne(t/100),tooltip:{formatter:t=>`${t}%`},styles:{rail:{backgroundColor:"rgba(255,255,255,0.15)"},track:{backgroundColor:"#22c55e"},handle:{borderColor:"#22c55e",boxShadow:"0 0 0 4px rgba(34,197,94,0.15)"}}})})})]}),e.jsx("div",{className:"flex-none",children:e.jsx(x,{title:a(A?"access.playback.exit_fullscreen":"access.playback.fullscreen"),children:A?e.jsx(je,{className:"h-3 w-3 md:h-4 md:w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:_}):e.jsx(ve,{className:"h-3 w-3 md:h-4 md:w-4 cursor-pointer text-white/80 hover:text-white transition-colors",onClick:_})})}),e.jsxs("div",{className:"flex-none text-xs text-white/80 min-w-[60px] md:min-w-[80px] text-right hidden md:block",children:[e.jsx("b",{children:D})," / ",e.jsx("b",{children:G})]}),e.jsx("div",{className:"flex-none text-xs text-white/80 min-w-[40px] text-right md:hidden",children:e.jsx("b",{children:D})})]})]})};export{Be as default}; diff --git a/server/resource/build/assets/InfoPage-C1KU0N5z.js b/server/resource/build/assets/InfoPage--AJ8mxff.js similarity index 99% rename from server/resource/build/assets/InfoPage-C1KU0N5z.js rename to server/resource/build/assets/InfoPage--AJ8mxff.js index e0f6b3b86..b35a1cada 100644 --- a/server/resource/build/assets/InfoPage-C1KU0N5z.js +++ b/server/resource/build/assets/InfoPage--AJ8mxff.js @@ -1,2 +1,2 @@ -import{f as x,S as e,a$ as b,bs as v,aO as C,c0 as G,bl as V,av as T,bg as Z,aI as K,c8 as ne,c9 as pe,ca as he,b0 as L,aX as me,bv as fe,cb as Q,bD as ye,aZ as xe,cc as ge,a_ as S,aW as B,bj as _e,bk as te,aY as Y,cd as se,ce as je,$ as be,cf as O,bG as we,bi as F,aS as ce,bp as ve,U as q,ay as Te,aK as re,aT as W,aU as Re,bh as U,bc as J,bN as N,as as ke,b4 as Ne}from"./antd-Afm2kNt7.js";import{v as X,W as w,J as Ae,K as Se,N as Ie,O as ae,P as Ce,Q as P,R as Pe,u as R,e as A,g as p,S as Ee,M as ie,h as M,U as oe,b as Oe,o as Me,V as Ke,x as De}from"./index-BdfI9ZEv.js";import{t as E}from"./times-BW3mBaPj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Le=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],qe=X("key",Le);const Ue=[["path",{d:"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z",key:"165ttr"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814",key:"1ubxi2"}]],Fe=X("key-square",Ue);const ze=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],$e=X("pencil-line",ze);function Be({error:t,options:c}){const{publicKey:n}=c;if(!n)throw Error("options was missing required publicKey property");if(t.name==="AbortError"){if(c.signal instanceof AbortSignal)return new w({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:t})}else if(t.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===!0)return new w({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:t});if(c.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new w({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:t});if(n.authenticatorSelection?.userVerification==="required")return new w({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:t})}else{if(t.name==="InvalidStateError")return new w({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:t});if(t.name==="NotAllowedError")return new w({message:t.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t});if(t.name==="NotSupportedError")return n.pubKeyCredParams.filter(s=>s.type==="public-key").length===0?new w({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:t}):new w({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:t});if(t.name==="SecurityError"){const i=globalThis.location.hostname;if(Ae(i)){if(n.rp.id!==i)return new w({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:t})}else return new w({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:t})}else if(t.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new w({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:t})}else if(t.name==="UnknownError")return new w({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:t})}return t}async function Ye(t){!t.optionsJSON&&t.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),t={optionsJSON:t});const{optionsJSON:c,useAutoRegister:n=!1}=t;if(!Se())throw new Error("WebAuthn is not supported in this browser");const i={...c,challenge:ae(c.challenge),user:{...c.user,id:ae(c.user.id)},excludeCredentials:c.excludeCredentials?.map(Ie)},s={};n&&(s.mediation="conditional"),s.publicKey=i,s.signal=Ce.createNewAbortSignal();let d;try{d=await navigator.credentials.create(s)}catch(h){throw Be({error:h,options:s})}if(!d)throw new Error("Registration was not completed");const{id:a,rawId:r,response:o,type:m}=d;let f;typeof o.getTransports=="function"&&(f=o.getTransports());let _;if(typeof o.getPublicKeyAlgorithm=="function")try{_=o.getPublicKeyAlgorithm()}catch(h){H("getPublicKeyAlgorithm()",h)}let k;if(typeof o.getPublicKey=="function")try{const h=o.getPublicKey();h!==null&&(k=P(h))}catch(h){H("getPublicKey()",h)}let u;if(typeof o.getAuthenticatorData=="function")try{u=P(o.getAuthenticatorData())}catch(h){H("getAuthenticatorData()",h)}return{id:a,rawId:P(r),response:{attestationObject:P(o.attestationObject),clientDataJSON:P(o.clientDataJSON),transports:f,publicKeyAlgorithm:_,publicKey:k,authenticatorData:u},type:m,clientExtensionResults:d.getClientExtensionResults(),authenticatorAttachment:Pe(d.authenticatorAttachment)}}function H(t,c){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${t}. You should report this error to them. +import{f as x,S as e,a$ as b,bs as v,aO as C,c0 as G,bl as V,av as T,bg as Z,aI as K,c8 as ne,c9 as pe,ca as he,b0 as L,aX as me,bv as fe,cb as Q,bD as ye,aZ as xe,cc as ge,a_ as S,aW as B,bj as _e,bk as te,aY as Y,cd as se,ce as je,$ as be,cf as O,bG as we,bi as F,aS as ce,bp as ve,U as q,ay as Te,aK as re,aT as W,aU as Re,bh as U,bc as J,bN as N,as as ke,b4 as Ne}from"./antd-Afm2kNt7.js";import{v as X,W as w,J as Ae,K as Se,N as Ie,O as ae,P as Ce,Q as P,R as Pe,u as R,e as A,g as p,S as Ee,M as ie,h as M,U as oe,b as Oe,o as Me,V as Ke,x as De}from"./index-DQXwuKC5.js";import{t as E}from"./times-CQ9ir0Jv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Le=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],qe=X("key",Le);const Ue=[["path",{d:"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z",key:"165ttr"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814",key:"1ubxi2"}]],Fe=X("key-square",Ue);const ze=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],$e=X("pencil-line",ze);function Be({error:t,options:c}){const{publicKey:n}=c;if(!n)throw Error("options was missing required publicKey property");if(t.name==="AbortError"){if(c.signal instanceof AbortSignal)return new w({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:t})}else if(t.name==="ConstraintError"){if(n.authenticatorSelection?.requireResidentKey===!0)return new w({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:t});if(c.mediation==="conditional"&&n.authenticatorSelection?.userVerification==="required")return new w({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:t});if(n.authenticatorSelection?.userVerification==="required")return new w({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:t})}else{if(t.name==="InvalidStateError")return new w({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:t});if(t.name==="NotAllowedError")return new w({message:t.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:t});if(t.name==="NotSupportedError")return n.pubKeyCredParams.filter(s=>s.type==="public-key").length===0?new w({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:t}):new w({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:t});if(t.name==="SecurityError"){const i=globalThis.location.hostname;if(Ae(i)){if(n.rp.id!==i)return new w({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:t})}else return new w({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:t})}else if(t.name==="TypeError"){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new w({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:t})}else if(t.name==="UnknownError")return new w({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:t})}return t}async function Ye(t){!t.optionsJSON&&t.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),t={optionsJSON:t});const{optionsJSON:c,useAutoRegister:n=!1}=t;if(!Se())throw new Error("WebAuthn is not supported in this browser");const i={...c,challenge:ae(c.challenge),user:{...c.user,id:ae(c.user.id)},excludeCredentials:c.excludeCredentials?.map(Ie)},s={};n&&(s.mediation="conditional"),s.publicKey=i,s.signal=Ce.createNewAbortSignal();let d;try{d=await navigator.credentials.create(s)}catch(h){throw Be({error:h,options:s})}if(!d)throw new Error("Registration was not completed");const{id:a,rawId:r,response:o,type:m}=d;let f;typeof o.getTransports=="function"&&(f=o.getTransports());let _;if(typeof o.getPublicKeyAlgorithm=="function")try{_=o.getPublicKeyAlgorithm()}catch(h){H("getPublicKeyAlgorithm()",h)}let k;if(typeof o.getPublicKey=="function")try{const h=o.getPublicKey();h!==null&&(k=P(h))}catch(h){H("getPublicKey()",h)}let u;if(typeof o.getAuthenticatorData=="function")try{u=P(o.getAuthenticatorData())}catch(h){H("getAuthenticatorData()",h)}return{id:a,rawId:P(r),response:{attestationObject:P(o.attestationObject),clientDataJSON:P(o.clientDataJSON),transports:f,publicKeyAlgorithm:_,publicKey:k,authenticatorData:u},type:m,clientExtensionResults:d.getClientExtensionResults(),authenticatorAttachment:Pe(d.authenticatorAttachment)}}function H(t,c){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${t}. You should report this error to them. `,c)}const{Title:He}=b,Ge=()=>{let{t}=R(),[c,n]=x.useState(""),[i,s]=x.useState(""),[d,a]=x.useState(),[r,o]=x.useState(""),m=A({queryKey:["get-password-policy"],queryFn:p.getPasswordPolicy});const f=l=>{let g=m.data;if(!g)return"";if(l.length0){let j=0;if(l.match(/[0-9]/)&&j++,l.match(/[a-z]/)&&j++,l.match(/[A-Z]/)&&j++,l.match(`[~!@#$%^&*()_+-={}[]|:;"'<>,.?/]`)&&j++,j{n(l.target.value),a(u(l.target.value,i));let g=f(l.target.value);o(g)},k=l=>{s(l.target.value),a(u(c,l.target.value))},u=(l,g)=>g===l?"success":"error",h=async l=>{await p.changePassword(l),Z.success(t("general.success")),window.location.href="/"};return e.jsxs("div",{children:[e.jsx(He,{level:5,style:{marginTop:0},children:t("account.change.password")}),e.jsx("div",{style:{margin:16}}),e.jsxs(v,{name:"password",onFinish:h,layout:"vertical",children:[e.jsx("input",{type:"password",hidden:!0,autoComplete:"new-password"}),e.jsx(v.Item,{name:"oldPassword",label:t("account.old_password"),rules:[{required:!0}],children:e.jsx(C,{type:"password",style:{width:240},placeholder:t("account.enter")})}),e.jsx(v.Item,{name:"newPassword",label:t("identity.user.reset_password.new"),rules:[{required:!0}],validateStatus:r!=""?"error":"success",help:r,children:e.jsx(C.Password,{showCount:!0,iconRender:l=>l?e.jsx(G,{}):e.jsx(V,{}),onChange:l=>_(l),style:{width:240},placeholder:t("account.enter")})}),e.jsx(v.Item,{name:"newPassword2",label:t("account.confirm_password"),rules:[{required:!0}],validateStatus:d,children:e.jsx(C.Password,{showCount:!0,iconRender:l=>l?e.jsx(G,{}):e.jsx(V,{}),onChange:l=>k(l),style:{width:240},placeholder:t("account.enter")})}),e.jsx(v.Item,{children:e.jsx(T,{disabled:d!=="success"||r!=="",type:"primary",htmlType:"submit",children:t("actions.confirm")})})]})]})},{Paragraph:Ve}=b,Qe=({refetch:t})=>{const[c]=v.useForm(),[n,i]=x.useState(!1);let{t:s}=R(),{message:d}=K.useApp(),a=A({queryKey:["totp"],queryFn:()=>p.reloadTotp(window.location.hostname),refetchOnWindowFocus:!1});const r=async _=>{_.secret=a.data?.secret,await p.confirmTotp(_),d.success(s("general.success")),t()},o=()=>a.isLoading?"loading":"active",m=()=>{a.data?.secret&&(navigator.clipboard.writeText(a.data.secret),d.success(s("general.copy_success")))},f=[{title:s("account.otp_setup_guide.step2.title"),description:s("account.otp_step2_description"),status:"process"},{title:s("account.otp_setup_guide.step3.title"),description:s("account.otp_step3_description"),status:"wait"}];return e.jsxs("div",{children:[e.jsx(ne,{items:f,size:"small",style:{marginBottom:24}}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"border rounded-lg",children:[e.jsx("div",{className:"px-4 py-3 border-b ",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{}),e.jsx("span",{children:s("account.otp_scan_qr")})]})}),e.jsx("div",{className:"p-4 text-center",children:e.jsxs("div",{className:"flex flex-col items-center gap-4 w-full",children:[e.jsx(he,{value:a.data?.url,errorLevel:"M",status:o(),onRefresh:()=>a.refetch(),size:200}),e.jsx("div",{className:"w-full text-left",children:e.jsx(L,{message:s("account.otp_scan_instruction"),type:"info",showIcon:!0})})]})})]}),e.jsxs("div",{className:"border rounded-lg",children:[e.jsx("div",{className:"px-4 py-3 border-b",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(me,{}),e.jsx("span",{children:s("account.otp_manual_setup")})]})}),e.jsxs("div",{className:"p-4",children:[e.jsx(Ve,{style:{marginBottom:12},children:s("account.otp_manual_setup_desc")}),e.jsxs(C.Group,{compact:!0,children:[e.jsx(C,{value:a.data?.secret,readOnly:!0,type:n?"text":"password",style:{width:"calc(100% - 80px)"}}),e.jsx(T,{icon:n?e.jsx(V,{}):e.jsx(G,{}),onClick:()=>i(!n),style:{width:"40px"}}),e.jsx(T,{icon:e.jsx(fe,{}),onClick:m,style:{width:"40px"},type:"primary"})]})]})]})]}),e.jsx("div",{children:e.jsxs("div",{className:"border rounded-lg",children:[e.jsx("div",{className:"px-4 py-3 border-b",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Q,{}),e.jsx("span",{children:s("account.otp_verification_title")})]})}),e.jsxs("div",{className:"p-4",children:[e.jsx("div",{className:"mb-4",children:e.jsx(L,{message:s("account.otp_verification_instruction"),type:"warning",showIcon:!0})}),e.jsxs(v,{form:c,onFinish:r,layout:"vertical",children:[e.jsx(v.Item,{name:"totp",label:s("account.captcha"),rules:[{required:!0,message:s("account.otp_code_required")},{pattern:/^\d{6}$/,message:s("account.otp_code_format")}],children:e.jsx(C,{placeholder:s("account.otp_verification_placeholder"),size:"large",maxLength:6,style:{textAlign:"center",fontSize:"18px",letterSpacing:"4px"}})}),e.jsx(v.Item,{style:{marginBottom:0},children:e.jsx(T,{type:"primary",htmlType:"submit",size:"large",block:!0,loading:!1,children:s("actions.confirm")})})]}),e.jsx(ye,{}),e.jsx(L,{message:s("account.otp_security_tip"),description:s("account.otp_security_description"),type:"success",showIcon:!0})]})]})})]})]})},We=({refetch:t,forceReauth:c=!1})=>{let{t:n}=R(),[i,s]=x.useState(!1),{modal:d}=K.useApp();return e.jsxs("div",{children:[e.jsx(xe,{status:"success",title:n("account.otp_bind_title"),subTitle:n("account.otp_bind_sub_title"),extra:[e.jsx(T,{type:"primary",danger:!0,onClick:()=>{d.confirm({title:n("account.otp_unbind_title"),icon:e.jsx(ge,{}),content:n("account.otp_unbind_subtitle"),okType:"danger",onOk:async()=>{s(!0)}})},children:n("account.otp_unbind")},"console")]}),e.jsx(ie,{open:i,forceReauth:c,handleOk:async a=>{s(!1),await p.resetTotp(a),Z.success(n("general.success")),t()},handleCancel:()=>s(!1)})]})},{Title:Je,Paragraph:Ze,Text:ht}=b,Xe=()=>{let{t}=R(),c=A({queryKey:["info"],queryFn:p.getUserInfo}),[n,i]=x.useState("binding");x.useEffect(()=>{c.data?.enabledTotp?i("unbinding"):i("binding")},[c.data]);const s=()=>{c.refetch()},d=()=>{const m=[{icon:e.jsx(B,{style:{color:"#52c41a"}}),title:t("account.otp_features.enhanced_security")},{icon:e.jsx(Q,{style:{color:"#1890ff"}}),title:t("account.otp_features.offline_access")},{icon:e.jsx(je,{style:{color:"#faad14"}}),title:t("account.otp_features.time_based")},{icon:e.jsx(be,{style:{color:"#722ed1"}}),title:t("account.otp_features.widely_supported")}];return e.jsx(O,{dataSource:m,renderItem:f=>e.jsx(O.Item,{children:e.jsx(O.Item.Meta,{avatar:f.icon,title:f.title})})})},a=()=>{const m=[{name:"Google Authenticator",color:"blue"},{name:"Microsoft Authenticator",color:"green"},{name:"Authy",color:"orange"},{name:"1Password",color:"purple"},{name:"LastPass Authenticator",color:"red"}];return e.jsx(S,{wrap:!0,children:m.map((f,_)=>e.jsx(F,{color:f.color,style:{margin:"4px"},children:f.name},_))})},r=()=>{const m=[{title:t("account.otp_setup_guide.step1.title"),description:e.jsxs("div",{children:[e.jsx(Ze,{children:t("account.otp_setup_guide.step1.description")}),a()]}),icon:e.jsx(Q,{})},{title:t("account.otp_setup_guide.step2.title"),description:t("account.otp_setup_guide.step2.description"),icon:e.jsx(se,{})},{title:t("account.otp_setup_guide.step3.title"),description:t("account.otp_setup_guide.step3.description"),icon:e.jsx(we,{})}];return e.jsx(ne,{direction:"vertical",current:-1,items:m,style:{marginTop:16}})},o=m=>{switch(m){case"unbinding":return e.jsx(We,{refetch:s,forceReauth:!0});case"binding":return e.jsxs(_e,{gutter:[24,24],children:[e.jsxs(te,{xs:24,lg:10,children:[e.jsx(Y,{title:e.jsxs(S,{children:[e.jsx(se,{}),t("account.otp_features.title")]}),size:"small",children:d()}),e.jsx(Y,{title:t("account.otp_setup_guide.title"),style:{marginTop:16},size:"small",children:r()})]}),e.jsx(te,{xs:24,lg:14,children:e.jsx(Y,{title:e.jsxs(S,{children:[e.jsx(B,{}),t("account.otp_binding_title")]}),size:"small",children:e.jsx(Qe,{refetch:s})})})]})}};return e.jsxs("div",{children:[e.jsx(Je,{level:3,style:{marginTop:0,marginBottom:16},children:e.jsxs(S,{children:[e.jsx(B,{}),t("identity.user.otp")]})}),e.jsx(L,{message:t("account.otp_description"),type:"info",showIcon:!0,style:{marginBottom:24}}),o(n)]})},et=()=>{let{t}=R();const[c,n]=x.useState(null),[i,s]=x.useState("api"),[d,a]=x.useState(!1);let r=A({queryKey:["access-token"],queryFn:p.getAccessTokens}),o=M({mutationFn:()=>p.createAccessToken(i),onSuccess:u=>{a(!1),n(u),r.refetch()}}),m=M({mutationFn:u=>p.deleteAccessToken(u),onSuccess:()=>{r.refetch()}});const f=u=>{switch(u){case"api":return t("account.access_token_type_values.api");case"db-password":return t("account.access_token_type_values.db_password");case"session":return t("account.access_token_type_values.session");case"temporary":return t("account.access_token_type_values.temporary");default:return u}},_=u=>{switch(u){case"api":return"blue";case"db-password":return"gold";case"session":return"green";case"temporary":return"orange";default:return"default"}},k=[{title:t("account.access_token"),dataIndex:"token",render:u=>e.jsx(b.Text,{code:!0,children:u})},{title:t("account.access_token_type"),dataIndex:"type",render:u=>e.jsx(F,{color:_(u),children:f(u)})},{title:t("general.created_at"),dataIndex:"createdAt",render:u=>E.format(u)},{title:t("actions.label"),dataIndex:"id",render:(u,h)=>e.jsx(ce,{title:t("general.confirm_delete"),onConfirm:()=>m.mutate(h.id),okText:t("actions.confirm"),cancelText:t("actions.cancel"),children:e.jsx(T,{type:"link",danger:!0,loading:m.isPending&&m.variables===h.id,children:t("actions.delete")})})}];return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(b.Title,{level:5,style:{marginTop:0},children:t("account.access_token")}),e.jsx(T,{type:"primary",onClick:()=>a(!0),children:t("account.access_token_create")})]}),e.jsx(ve,{rowKey:"id",columns:k,dataSource:r.data||[],loading:r.isLoading,pagination:!1}),e.jsx(q,{open:!!c,title:t("account.access_token"),onCancel:()=>n(null),onOk:()=>n(null),okText:t("actions.confirm"),children:e.jsxs(S,{direction:"vertical",size:8,children:[e.jsx(b.Text,{type:"secondary",children:t("account.access_token_once_tip")}),e.jsx(b.Text,{strong:!0,copyable:!0,children:c?.token})]})}),e.jsx(q,{open:d,title:t("account.access_token_create"),onCancel:()=>a(!1),onOk:()=>o.mutate(),okText:t("actions.new"),confirmLoading:o.isPending,children:e.jsx(v,{layout:"vertical",children:e.jsx(v.Item,{label:t("account.access_token_type"),children:e.jsx(Te,{value:i,onChange:s,options:[{value:"api",label:t("account.access_token_type_values.api")},{value:"db-password",label:t("account.access_token_type_values.db_password")}]})})})})]})},{Title:tt}=b,st=()=>{let{t}=R(),{message:c}=K.useApp();const n=async()=>await p.getUserInfo(),i=async s=>(await p.changeInfo(s),c.success(t("general.success")),!0);return e.jsxs("div",{children:[e.jsx(tt,{level:5,style:{marginTop:0},children:t("account.change.info")}),e.jsx("div",{style:{margin:16}}),e.jsxs(re,{request:n,onFinish:i,children:[e.jsx(W,{name:"nickname",label:t("identity.user.nickname"),rules:[{required:!0}]}),e.jsx(Re,{label:t("identity.user.public_key"),name:"publicKey",placeholder:"Public Key, one per line",fieldProps:{rows:8}})]})]})},at=({open:t,handleOk:c,handleCancel:n,confirmLoading:i,credential:s})=>{let{t:d}=R();const a=x.useRef(null),r=async()=>s;return e.jsx(q,{title:"",open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{a.current?.validateFields().then(async o=>{c(o)})},onCancel:()=>{n()},confirmLoading:i,children:e.jsxs(re,{formRef:a,request:r,submitter:!1,children:[e.jsx(W,{hidden:!0,name:"id"}),e.jsx(W,{name:"name",label:d("general.name"),rules:[{required:!0}]})]})})},nt=()=>{let{t}=R(),[c,n]=x.useState(!1),[i,s]=x.useState(),[d,a]=x.useState(!1),[r,o]=x.useState(null),[m,f]=x.useState(),{message:_,modal:k}=K.useApp();const u=A({queryKey:["info"],queryFn:p.getUserInfo});let h=A({queryKey:["getWebauthnCredentials"],queryFn:p.getWebauthnCredentials});const l=async y=>{let ee=await p.webauthnCredentialStart(y);const $=await Ye({optionsJSON:ee.publicKey});if(!$){alert("Credential creation failed");return}await p.webauthnCredentialFinish($),h.refetch(),_.success(t("general.success"))},g=y=>y===0?"-":U(y).fromNow();let z=M({mutationFn:async y=>{await p.updateWebauthnCredentials(i.id,y)},onSuccess:()=>{h.refetch(),n(!1)}});const D=()=>{a(!1),o(null),f(void 0)},j=()=>{o("add"),a(!0)},I=y=>{f(y),o("delete"),a(!0)},le=async y=>{a(!1),r==="add"&&await l(y),r==="delete"&&m&&(await p.deleteWebauthnCredentials(m.id,y),h.refetch(),_.success(t("general.success"))),o(null),f(void 0)},de=u.data?.mfaEnabled??!1,ue=h.isLoading||u.isLoading;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(b.Title,{level:5,style:{marginTop:0},children:t("account.passkey")}),e.jsx(T,{type:"primary",disabled:ue,onClick:()=>{if(de){j();return}l()},children:t("account.passkey_add")})]}),e.jsx("div",{children:e.jsx(O,{itemLayout:"horizontal",dataSource:h.data,renderItem:(y,ee)=>e.jsxs("div",{className:"border rounded-md p-4 flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(Fe,{className:"h-4 w-4"}),e.jsx("div",{className:"font-medium",children:y.name})]}),e.jsxs("div",{className:"ml-8",children:[t("account.passkey_add_time"),":",U(y.createdAt).format("YYYY-MM-DD HH:mm:ss")]}),e.jsxs("div",{className:"ml-8",children:[t("account.passkey_used_time"),":",g(y.usedAt)]})]}),e.jsxs("div",{className:"flex items-center cursor-pointer gap-4",children:[e.jsx($e,{className:"h-4 w-4",onClick:()=>{s(y),n(!0)}}),e.jsx(oe,{className:"h-4 w-4",onClick:async()=>{await k.confirm({title:t("account.passkey_delete_title"),content:t("account.passkey_delete_content")})&&I(y)}})]})]})})}),e.jsx(at,{open:c,handleOk:z.mutate,handleCancel:()=>{n(!1)},confirmLoading:!1,credential:i}),e.jsx(ie,{open:d,forceReauth:!0,handleOk:le,handleCancel:D})]})},ct=()=>{const{t}=R();let{message:c,modal:n}=K.useApp(),i=A({queryKey:["oidc-server-consents"],queryFn:p.getOidcServerConsents}),s=M({mutationFn:p.revokeOidcServerConsent,onSuccess:()=>{i.refetch(),c.success(t("account.oidc_server_authorization_revoked"))},onError:()=>{c.error(t("general.failed"))}});const d=async r=>{await n.confirm({title:t("account.oidc_server_authorization_revoke_title"),content:t("account.oidc_server_authorization_revoke_content",{clientId:r.clientId})})&&s.mutate(r.clientId)},a=r=>e.jsx(S,{wrap:!0,children:r.map(o=>e.jsx(F,{color:"blue",children:o},o))});return e.jsxs("div",{className:"",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(b.Title,{level:5,style:{marginTop:0},children:t("account.oidc_server_authorizations")})}),e.jsx("div",{className:"text-gray-700",children:t("account.oidc_server_authorizations_desc")}),e.jsx("div",{className:"mt-4",children:i.data?.length===0?e.jsx(J,{description:t("account.oidc_server_no_authorizations"),image:J.PRESENTED_IMAGE_SIMPLE}):e.jsx(O,{itemLayout:"horizontal",dataSource:i.data,loading:i.isLoading,renderItem:r=>e.jsxs("div",{className:"border rounded-md p-4 flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"space-y-2 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(qe,{className:"h-4 w-4"}),e.jsx("div",{className:"font-medium text-base",children:r.clientId})]}),e.jsxs("div",{className:"ml-8 space-y-2",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"text-gray-500",children:[t("account.oidc_server_scopes"),":"]}),a(r.scopes)]}),e.jsxs("div",{className:"text-sm text-gray-500",children:[t("authorised.label.authorised_at"),":",U(r.createdAt).format("YYYY-MM-DD HH:mm:ss")]}),e.jsxs("div",{className:"text-sm text-gray-500",children:[t("general.updated_at"),":",U(r.updatedAt).format("YYYY-MM-DD HH:mm:ss")]})]})]}),e.jsx("div",{className:"flex items-center",children:e.jsx(T,{danger:!0,icon:e.jsx(oe,{className:"h-4 w-4"}),onClick:()=>d(r),loading:s.isPending,children:t("account.oidc_server_revoke")})})]})})})]})},rt=()=>{const{t}=R(),c=A({queryKey:["client-cert"],queryFn:p.getClientCert}),n=M({mutationFn:p.revokeClientCert,onSuccess:()=>{c.refetch()}}),i=r=>t(r==="active"?"account.client_cert_status_active":"account.client_cert_status_revoked"),s=r=>r==="active"?"green":"red",d=()=>{const r=!!c.data;q.confirm({title:t(r?"account.client_cert_regenerate":"account.client_cert_generate"),content:t("account.client_cert_once_tip"),okText:t("actions.confirm"),cancelText:t("actions.cancel"),onOk:async()=>{p.downloadClientCert(),Z.success(t("account.client_cert_download_started")),setTimeout(()=>c.refetch(),800)}})},a=c.data;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(b.Title,{level:5,style:{marginTop:0},children:t("account.client_cert")}),e.jsxs(S,{children:[e.jsx(T,{type:"primary",onClick:d,children:t(a?"account.client_cert_regenerate":"account.client_cert_generate")}),a&&e.jsx(ce,{title:t("account.client_cert_revoke_confirm"),onConfirm:()=>n.mutate(),okText:t("actions.confirm"),cancelText:t("actions.cancel"),children:e.jsx(T,{danger:!0,loading:n.isPending,children:t("account.client_cert_revoke")})})]})]}),a?e.jsxs(N,{column:1,bordered:!0,size:"small",children:[e.jsx(N.Item,{label:t("account.client_cert_serial"),children:e.jsx(b.Text,{code:!0,children:a.serialNumber})}),e.jsx(N.Item,{label:t("account.client_cert_fingerprint"),children:e.jsx(b.Text,{code:!0,children:a.fingerprint})}),e.jsx(N.Item,{label:t("general.status"),children:e.jsx(F,{color:s(a.status),children:i(a.status)})}),e.jsx(N.Item,{label:t("account.client_cert_not_before"),children:a.notBefore?E.format(a.notBefore):t("general.no")}),e.jsx(N.Item,{label:t("account.client_cert_not_after"),children:a.notAfter?E.format(a.notAfter):t("general.no")}),e.jsx(N.Item,{label:t("account.client_cert_last_used"),children:a.lastUsedAt?E.format(a.lastUsedAt):t("general.no")}),e.jsx(N.Item,{label:t("general.created_at"),children:a.createdAt?E.format(a.createdAt):t("general.no")})]}):e.jsx(J,{description:t("account.client_cert_empty")})]})},mt=()=>{let{t}=R();const[c,n]=Oe();let i=Me(c.get("activeKey"),"change-info");const s=r=>{n({activeKey:r})},d=[{label:t("account.change.info"),key:"change-info",children:e.jsx(st,{})},{label:t("account.change.password"),key:"change-password",children:e.jsx(Ge,{})},{label:t("identity.user.otp"),key:"otp",children:e.jsx(Xe,{})},{label:t("account.passkey"),key:"passkey",children:e.jsx(nt,{})},{label:t("account.access_token"),key:"access-token",children:e.jsx(et,{})},{label:t("account.client_cert"),key:"client-cert",children:e.jsx(rt,{})},{label:t("account.oidc_server_authorizations"),key:"oidc-server-authorizations",children:e.jsx(ct,{})}];let a=Ke();return e.jsx(e.Fragment,{children:e.jsx(ke.Content,{className:De("page-container",a&&"px-4"),children:e.jsx(Ne,{tabPosition:a?"top":"left",items:d,activeKey:i,onChange:s})})})};export{mt as default}; diff --git a/server/resource/build/assets/LoginLockedPage-BfP3eKHk.js b/server/resource/build/assets/LoginLockedPage-DZnpSndD.js similarity index 96% rename from server/resource/build/assets/LoginLockedPage-BfP3eKHk.js rename to server/resource/build/assets/LoginLockedPage-DZnpSndD.js index 575bf256b..8fda88e49 100644 --- a/server/resource/build/assets/LoginLockedPage-BfP3eKHk.js +++ b/server/resource/build/assets/LoginLockedPage-DZnpSndD.js @@ -1 +1 @@ -import{f as m,S as r,bi as d,aS as y,bz as x}from"./antd-Afm2kNt7.js";import{A as g,u as h}from"./index-BdfI9ZEv.js";import{N as f}from"./NButton-DoPcvKBF.js";import{g as k}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class I extends g{constructor(){super("admin/login-locked")}}let s=new I;const P=()=>{const{t:e}=h(),a=m.useRef(null),l=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:"IP",dataIndex:"ip",key:"ip",sorter:!0},{title:e("gateways.username"),dataIndex:"username",key:"username",sorter:!0},{title:e("identity.user.locked_type"),dataIndex:"type",key:"type",hideInSearch:!0,render:(t,i)=>{switch(i.type){case"username":return r.jsx(d,{bordered:!1,color:"purple",children:e("identity.user.locked_type_username")});case"ip":return r.jsx(d,{bordered:!1,color:"red",children:e("identity.user.locked_type_ip")})}}},{title:e("identity.user.locked_at"),dataIndex:"lockedAt",key:"lockedAt",valueType:"dateTime",hideInSearch:!0,sorter:!0},{title:e("assets.limit_time"),dataIndex:"expirationAt",key:"expirationAt",valueType:"dateTime",hideInSearch:!0,sorter:!0},{title:e("actions.label"),valueType:"option",key:"option",render:(t,i,u,n)=>[r.jsx(y,{title:e("general.confirm_delete"),onConfirm:async()=>{await s.deleteById(i.id),a.current?.reload()},children:r.jsx(f,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm")]}];return r.jsx("div",{children:r.jsx(x,{columns:l,actionRef:a,request:async(t={},i,u)=>{let[n,c]=k(i),p={pageIndex:t.current,pageSize:t.pageSize,order:n,field:c,ip:t.ip,username:t.username},o=await s.getPaging(p);return{data:o.items,success:!0,total:o.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.identity.submenus.login_locked"),toolBarRender:()=>[]})})};export{P as default}; +import{f as m,S as r,bi as d,aS as y,bz as x}from"./antd-Afm2kNt7.js";import{A as g,u as h}from"./index-DQXwuKC5.js";import{N as f}from"./NButton-DoPcvKBF.js";import{g as k}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class I extends g{constructor(){super("admin/login-locked")}}let s=new I;const P=()=>{const{t:e}=h(),a=m.useRef(null),l=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:"IP",dataIndex:"ip",key:"ip",sorter:!0},{title:e("gateways.username"),dataIndex:"username",key:"username",sorter:!0},{title:e("identity.user.locked_type"),dataIndex:"type",key:"type",hideInSearch:!0,render:(t,i)=>{switch(i.type){case"username":return r.jsx(d,{bordered:!1,color:"purple",children:e("identity.user.locked_type_username")});case"ip":return r.jsx(d,{bordered:!1,color:"red",children:e("identity.user.locked_type_ip")})}}},{title:e("identity.user.locked_at"),dataIndex:"lockedAt",key:"lockedAt",valueType:"dateTime",hideInSearch:!0,sorter:!0},{title:e("assets.limit_time"),dataIndex:"expirationAt",key:"expirationAt",valueType:"dateTime",hideInSearch:!0,sorter:!0},{title:e("actions.label"),valueType:"option",key:"option",render:(t,i,u,n)=>[r.jsx(y,{title:e("general.confirm_delete"),onConfirm:async()=>{await s.deleteById(i.id),a.current?.reload()},children:r.jsx(f,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm")]}];return r.jsx("div",{children:r.jsx(x,{columns:l,actionRef:a,request:async(t={},i,u)=>{let[n,c]=k(i),p={pageIndex:t.current,pageSize:t.pageSize,order:n,field:c,ip:t.ip,username:t.username},o=await s.getPaging(p);return{data:o.items,success:!0,total:o.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.identity.submenus.login_locked"),toolBarRender:()=>[]})})};export{P as default}; diff --git a/server/resource/build/assets/LoginLogPage-BLK1mfnq.js b/server/resource/build/assets/LoginLogPage-wdWF965f.js similarity index 97% rename from server/resource/build/assets/LoginLogPage-BLK1mfnq.js rename to server/resource/build/assets/LoginLogPage-wdWF965f.js index 6dba78d9d..0ca45818a 100644 --- a/server/resource/build/assets/LoginLogPage-BLK1mfnq.js +++ b/server/resource/build/assets/LoginLogPage-wdWF965f.js @@ -1 +1 @@ -var h=Object.defineProperty;var y=(e,t,s)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var u=(e,t,s)=>y(e,typeof t!="symbol"?t+"":t,s);import{f,aI as I,S as n,a$ as S,bi as d,bz as A,av as j}from"./antd-Afm2kNt7.js";import{A as T,r as _,u as k,h as v}from"./index-BdfI9ZEv.js";import{g as w}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class z extends T{constructor(){super("admin/login-logs");u(this,"clear",async()=>{await _.post(`/${this.group}/clear`)})}}let c=new z;const C=()=>{const{t:e}=k(),t=f.useRef(null);let{modal:s}=I.useApp(),g=v({mutationFn:c.clear,onSuccess:()=>{t.current?.reload()}});const p=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("gateways.username"),dataIndex:"username",key:"username"},{title:e("audit.client_ip"),dataIndex:"clientIp",key:"clientIp",render:(r,i)=>{let a=n.jsx("div",{children:r});const l=i.region;return n.jsxs("div",{className:"flex items-center gap-2",children:[a,n.jsx(S.Text,{type:"secondary",children:l})]})}},{title:e("audit.login_status"),dataIndex:"success",key:"success",hideInSearch:!0,render:r=>r!==!0?n.jsx(d,{color:"error",children:e("general.failed")}):n.jsx(d,{color:"success",children:e("general.success")})},{title:e("audit.login_reason"),dataIndex:"reason",key:"reason",hideInSearch:!0},{title:e("audit.user_agent"),dataIndex:"userAgent",key:"userAgent",hideInSearch:!0,render:(r,i)=>{let a=i.userAgent;return a?`${a?.OS} ${a?.OSVersion} ${a?.Name} ${a?.Version}`:"-"}},{title:e("audit.login_at"),dataIndex:"loginAt",key:"loginAt",hideInSearch:!0,valueType:"dateTime",sorter:!0}];return n.jsx("div",{children:n.jsx(A,{defaultSize:"small",columns:p,actionRef:t,request:async(r={},i,a)=>{let[l,m]=w(i),x={pageIndex:r.current,pageSize:r.pageSize,order:l,field:m,username:r.username,clientIp:r.clientIp},o=await c.getPaging(x);return{data:o.items,success:!0,total:o.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.login_log"),toolBarRender:()=>[n.jsx(j,{type:"primary",danger:!0,onClick:()=>{s.confirm({title:e("general.clear_confirm"),onOk:async()=>g.mutate()})},children:e("actions.clear")},"clear")]})})};export{C as default}; +var h=Object.defineProperty;var y=(e,t,s)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var u=(e,t,s)=>y(e,typeof t!="symbol"?t+"":t,s);import{f,aI as I,S as n,a$ as S,bi as d,bz as A,av as j}from"./antd-Afm2kNt7.js";import{A as T,r as _,u as k,h as v}from"./index-DQXwuKC5.js";import{g as w}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class z extends T{constructor(){super("admin/login-logs");u(this,"clear",async()=>{await _.post(`/${this.group}/clear`)})}}let c=new z;const C=()=>{const{t:e}=k(),t=f.useRef(null);let{modal:s}=I.useApp(),g=v({mutationFn:c.clear,onSuccess:()=>{t.current?.reload()}});const p=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("gateways.username"),dataIndex:"username",key:"username"},{title:e("audit.client_ip"),dataIndex:"clientIp",key:"clientIp",render:(r,i)=>{let a=n.jsx("div",{children:r});const l=i.region;return n.jsxs("div",{className:"flex items-center gap-2",children:[a,n.jsx(S.Text,{type:"secondary",children:l})]})}},{title:e("audit.login_status"),dataIndex:"success",key:"success",hideInSearch:!0,render:r=>r!==!0?n.jsx(d,{color:"error",children:e("general.failed")}):n.jsx(d,{color:"success",children:e("general.success")})},{title:e("audit.login_reason"),dataIndex:"reason",key:"reason",hideInSearch:!0},{title:e("audit.user_agent"),dataIndex:"userAgent",key:"userAgent",hideInSearch:!0,render:(r,i)=>{let a=i.userAgent;return a?`${a?.OS} ${a?.OSVersion} ${a?.Name} ${a?.Version}`:"-"}},{title:e("audit.login_at"),dataIndex:"loginAt",key:"loginAt",hideInSearch:!0,valueType:"dateTime",sorter:!0}];return n.jsx("div",{children:n.jsx(A,{defaultSize:"small",columns:p,actionRef:t,request:async(r={},i,a)=>{let[l,m]=w(i),x={pageIndex:r.current,pageSize:r.pageSize,order:l,field:m,username:r.username,clientIp:r.clientIp},o=await c.getPaging(x);return{data:o.items,success:!0,total:o.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.login_log"),toolBarRender:()=>[n.jsx(j,{type:"primary",danger:!0,onClick:()=>{s.confirm({title:e("general.clear_confirm"),onOk:async()=>g.mutate()})},children:e("actions.clear")},"clear")]})})};export{C as default}; diff --git a/server/resource/build/assets/LoginPage-EZSuVsun.js b/server/resource/build/assets/LoginPage-aub4Iv9y.js similarity index 96% rename from server/resource/build/assets/LoginPage-EZSuVsun.js rename to server/resource/build/assets/LoginPage-aub4Iv9y.js index 5c7789484..308bef047 100644 --- a/server/resource/build/assets/LoginPage-EZSuVsun.js +++ b/server/resource/build/assets/LoginPage-aub4Iv9y.js @@ -1 +1 @@ -import{bs as r,f as h,S as e,aG as M,aH as V,ay as J,a$ as Q,aO as g,av as c,ai as $,bC as I,a_ as G,ar as H,bD as X}from"./antd-Afm2kNt7.js";import{u as Y,c as Z,d as ee,a as ae,b as te,e as y,f as se,g as o,L as j,h as L,i as w,j as re,t as ne,k as le,s as oe,l as ie}from"./index-BdfI9ZEv.js";import{w as ce}from"./wechat-work-api-D6pynTWy.js";import{o as ue}from"./oidc-api-BsaBtN-M.js";import{S as de,M as he}from"./sun-B74I0IGS.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const{Title:q}=Q;var ge=(i=>(i.Default="default",i.OTP="otp",i))(ge||{});const ve=()=>{const[i]=r.useForm();let{t}=Y();const v=h.useRef(null),{isDarkMode:k,toggleDarkMode:F}=Z(v),[O]=ee(),[_,m]=h.useState("default");let[p,n]=h.useState(!1);const A=ae();let[S]=te(),T=y({queryKey:["branding"],queryFn:se.getBranding}),l=y({queryKey:["getCaptcha"],queryFn:o.getCaptcha}),u=y({queryKey:["login-status"],queryFn:o.getLoginStatus});h.useEffect(()=>{if(u.data)switch(u.data?.status){case j.LoggedIn:x();break;case j.OTPRequired:m("otp");break;case j.Unlogged:break}},[u.data]);let f=L({mutationFn:o.login,onSuccess:a=>{N(a,!0)},onError:a=>{l.refetch()}});const x=()=>{let a=S.get("return_url");if(a){window.location.href=a;return}let s=S.get("redirect");s?window.location.href=s:A("/")};let b=L({mutationFn:o.validateTOTP,onSuccess:a=>{x()}});const N=(a,s)=>{sessionStorage.removeItem("current"),sessionStorage.removeItem("openKeys"),ie(a.token),s&&a.needTotp?m("otp"):x()},E=async a=>{a.key=l.data?.key,f.mutate(a)},W=a=>{b.isPending||b.mutate({totp:a})},U=async()=>{n(!0);try{let a=await o.webauthnLoginStartV2();if(a.type==="mfa")return;let s=await oe({optionsJSON:a.publicKey,verifyBrowserAutofillInput:!1}),d=await o.webauthnLoginFinishV2(a.token,s);N(d,!1)}finally{n(!1)}},B=async()=>{n(!0);try{const{authorizeUrl:a}=await ce.getAuthorizeUrl("login");window.location.href=a}catch(a){console.error("WeChat Work login error:",a)}finally{n(!1)}},R=async()=>{n(!0);try{const{authorizeUrl:a,state:s}=await ue.getAuthorizeUrl();s&&sessionStorage.setItem("oidc_state",s),window.location.href=a}finally{n(!1)}},D=()=>{switch(_){case"default":const a=u.data,s=a?.passwordEnabled!==!1,d=a?.webauthnEnabled,P=a?.wechatWorkEnabled,C=a?.oidcEnabled,K=d||P||C;return e.jsxs("div",{children:[e.jsx(q,{level:3,children:t("account.login.action")}),s&&e.jsxs(r,{onFinish:E,className:"login-form",layout:"vertical",children:[e.jsx(r.Item,{label:t("audit.operation.account"),name:"username",rules:[{required:!0}],children:e.jsx(g,{size:"large",prefix:e.jsx($,{}),placeholder:t("account.enter"),autoComplete:"username webauthn"})}),e.jsx(r.Item,{label:t("assets.password"),name:"password",rules:[{required:!0}],children:e.jsx(g.Password,{size:"large",prefix:e.jsx(I,{}),placeholder:t("account.enter")})}),l.data?.enabled&&e.jsx(r.Item,{label:t("account.captcha"),name:"captcha",rules:[{required:!0}],children:e.jsxs(G.Compact,{children:[e.jsx(g,{prefix:e.jsx(I,{}),size:"large",placeholder:t("account.enter")}),e.jsx(H,{spinning:l.isLoading,children:e.jsx("div",{style:{width:100},children:e.jsx("img",{onClick:()=>l.refetch(),src:l.data?.captcha,alt:"captcha",style:{cursor:"pointer"}})})})]})}),e.jsx(r.Item,{children:e.jsx(c,{type:"primary",htmlType:"submit",size:"large",className:"w-full",loading:f.isPending,children:t("account.login.action")})})]}),s&&K&&e.jsx(X,{className:"my-4",plain:!0,children:"Or"}),d&&e.jsx(c,{variant:"filled",color:"default",size:"large",className:"w-full mb-2",onClick:U,loading:p,children:t("account.login.methods.passkey")}),P&&e.jsx(c,{variant:"filled",color:"geekblue",size:"large",className:"w-full mb-2",onClick:B,loading:p,children:t("account.login.methods.wechat_work")}),C&&e.jsx(c,{variant:"filled",color:"primary",size:"large",className:"w-full",onClick:R,loading:p,children:t("account.login.methods.oidc")})]});case"otp":return e.jsxs("div",{children:[e.jsx(q,{level:3,children:t("account.login.methods.otp")}),e.jsxs(r,{form:i,onFinish:b.mutate,className:"login-form",layout:"vertical",children:[e.jsx(r.Item,{label:t("identity.user.otp"),name:"totp",rules:[{required:!0}],children:e.jsx(g.OTP,{length:6,autoFocus:!0,onChange:z=>{z.length===6&&W(z)}})}),e.jsxs(r.Item,{children:[e.jsx(c,{type:"primary",htmlType:"submit",size:"large",className:"w-full",loading:f.isPending,children:t("account.login.action")}),e.jsx("div",{className:"mt-2",children:e.jsx("div",{className:"text-blue-500 cursor-pointer",onClick:()=>{le(),m("default")},children:t("account.login.back")})})]})]})]})}};return e.jsx(M,{hashPriority:"high",children:e.jsx(V,{theme:{algorithm:O.algorithm},locale:ne(w.language),children:e.jsxs("div",{className:"h-screen w-screen relative flex items-center justify-center",children:[e.jsxs("div",{className:"w-96 md:border rounded-lg p-8",children:[e.jsx("div",{className:"font-medium mb-4 text-lg",children:T.data?.name}),D()]}),e.jsxs("div",{className:"absolute top-8 right-8 flex items-center gap-2",children:[e.jsx("button",{ref:v,type:"button",onClick:()=>F(!k),className:"h-8 w-8 rounded-md border border-slate-200/60 bg-white/80 text-slate-700 transition-colors hover:bg-white dark:border-slate-700/60 dark:bg-slate-900/70 dark:text-slate-100 dark:hover:bg-slate-900","aria-label":"切换主题",children:k?e.jsx(de,{className:"h-4 w-4 mx-auto"}):e.jsx(he,{className:"h-4 w-4 mx-auto"})}),e.jsx(J,{placeholder:"Language",variant:"borderless",style:{width:120},prefix:e.jsx(re,{className:"w-4 h-4"}),options:[{value:"en-US",label:"English"},{value:"zh-CN",label:t("general.language_zh_cn")},{value:"zh-TW",label:t("general.language_zh_tw")},{value:"ja-JP",label:t("general.language_ja_jp")}],value:w.language,onChange:a=>{w.changeLanguage(a)}})]}),e.jsx("div",{className:"absolute bottom-12 text-blue-500",children:e.jsx("a",{href:"https://beian.miit.gov.cn",rel:"noopener",target:"_blank",children:T.data?.icp})})]})})})};export{ge as LoginStep,ve as default}; +import{bs as r,f as h,S as e,aG as M,aH as V,ay as J,a$ as Q,aO as g,av as c,ai as $,bC as I,a_ as G,ar as H,bD as X}from"./antd-Afm2kNt7.js";import{u as Y,c as Z,d as ee,a as ae,b as te,e as y,f as se,g as o,L as j,h as L,i as w,j as re,t as ne,k as le,s as oe,l as ie}from"./index-DQXwuKC5.js";import{w as ce}from"./wechat-work-api-DdwWCsjx.js";import{o as ue}from"./oidc-api-DdlmoOii.js";import{S as de,M as he}from"./sun-7WZ3UW9g.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const{Title:q}=Q;var ge=(i=>(i.Default="default",i.OTP="otp",i))(ge||{});const ve=()=>{const[i]=r.useForm();let{t}=Y();const v=h.useRef(null),{isDarkMode:k,toggleDarkMode:F}=Z(v),[O]=ee(),[_,m]=h.useState("default");let[p,n]=h.useState(!1);const A=ae();let[S]=te(),T=y({queryKey:["branding"],queryFn:se.getBranding}),l=y({queryKey:["getCaptcha"],queryFn:o.getCaptcha}),u=y({queryKey:["login-status"],queryFn:o.getLoginStatus});h.useEffect(()=>{if(u.data)switch(u.data?.status){case j.LoggedIn:x();break;case j.OTPRequired:m("otp");break;case j.Unlogged:break}},[u.data]);let f=L({mutationFn:o.login,onSuccess:a=>{N(a,!0)},onError:a=>{l.refetch()}});const x=()=>{let a=S.get("return_url");if(a){window.location.href=a;return}let s=S.get("redirect");s?window.location.href=s:A("/")};let b=L({mutationFn:o.validateTOTP,onSuccess:a=>{x()}});const N=(a,s)=>{sessionStorage.removeItem("current"),sessionStorage.removeItem("openKeys"),ie(a.token),s&&a.needTotp?m("otp"):x()},E=async a=>{a.key=l.data?.key,f.mutate(a)},W=a=>{b.isPending||b.mutate({totp:a})},U=async()=>{n(!0);try{let a=await o.webauthnLoginStartV2();if(a.type==="mfa")return;let s=await oe({optionsJSON:a.publicKey,verifyBrowserAutofillInput:!1}),d=await o.webauthnLoginFinishV2(a.token,s);N(d,!1)}finally{n(!1)}},B=async()=>{n(!0);try{const{authorizeUrl:a}=await ce.getAuthorizeUrl("login");window.location.href=a}catch(a){console.error("WeChat Work login error:",a)}finally{n(!1)}},R=async()=>{n(!0);try{const{authorizeUrl:a,state:s}=await ue.getAuthorizeUrl();s&&sessionStorage.setItem("oidc_state",s),window.location.href=a}finally{n(!1)}},D=()=>{switch(_){case"default":const a=u.data,s=a?.passwordEnabled!==!1,d=a?.webauthnEnabled,P=a?.wechatWorkEnabled,C=a?.oidcEnabled,K=d||P||C;return e.jsxs("div",{children:[e.jsx(q,{level:3,children:t("account.login.action")}),s&&e.jsxs(r,{onFinish:E,className:"login-form",layout:"vertical",children:[e.jsx(r.Item,{label:t("audit.operation.account"),name:"username",rules:[{required:!0}],children:e.jsx(g,{size:"large",prefix:e.jsx($,{}),placeholder:t("account.enter"),autoComplete:"username webauthn"})}),e.jsx(r.Item,{label:t("assets.password"),name:"password",rules:[{required:!0}],children:e.jsx(g.Password,{size:"large",prefix:e.jsx(I,{}),placeholder:t("account.enter")})}),l.data?.enabled&&e.jsx(r.Item,{label:t("account.captcha"),name:"captcha",rules:[{required:!0}],children:e.jsxs(G.Compact,{children:[e.jsx(g,{prefix:e.jsx(I,{}),size:"large",placeholder:t("account.enter")}),e.jsx(H,{spinning:l.isLoading,children:e.jsx("div",{style:{width:100},children:e.jsx("img",{onClick:()=>l.refetch(),src:l.data?.captcha,alt:"captcha",style:{cursor:"pointer"}})})})]})}),e.jsx(r.Item,{children:e.jsx(c,{type:"primary",htmlType:"submit",size:"large",className:"w-full",loading:f.isPending,children:t("account.login.action")})})]}),s&&K&&e.jsx(X,{className:"my-4",plain:!0,children:"Or"}),d&&e.jsx(c,{variant:"filled",color:"default",size:"large",className:"w-full mb-2",onClick:U,loading:p,children:t("account.login.methods.passkey")}),P&&e.jsx(c,{variant:"filled",color:"geekblue",size:"large",className:"w-full mb-2",onClick:B,loading:p,children:t("account.login.methods.wechat_work")}),C&&e.jsx(c,{variant:"filled",color:"primary",size:"large",className:"w-full",onClick:R,loading:p,children:t("account.login.methods.oidc")})]});case"otp":return e.jsxs("div",{children:[e.jsx(q,{level:3,children:t("account.login.methods.otp")}),e.jsxs(r,{form:i,onFinish:b.mutate,className:"login-form",layout:"vertical",children:[e.jsx(r.Item,{label:t("identity.user.otp"),name:"totp",rules:[{required:!0}],children:e.jsx(g.OTP,{length:6,autoFocus:!0,onChange:z=>{z.length===6&&W(z)}})}),e.jsxs(r.Item,{children:[e.jsx(c,{type:"primary",htmlType:"submit",size:"large",className:"w-full",loading:f.isPending,children:t("account.login.action")}),e.jsx("div",{className:"mt-2",children:e.jsx("div",{className:"text-blue-500 cursor-pointer",onClick:()=>{le(),m("default")},children:t("account.login.back")})})]})]})]})}};return e.jsx(M,{hashPriority:"high",children:e.jsx(V,{theme:{algorithm:O.algorithm},locale:ne(w.language),children:e.jsxs("div",{className:"h-screen w-screen relative flex items-center justify-center",children:[e.jsxs("div",{className:"w-96 md:border rounded-lg p-8",children:[e.jsx("div",{className:"font-medium mb-4 text-lg",children:T.data?.name}),D()]}),e.jsxs("div",{className:"absolute top-8 right-8 flex items-center gap-2",children:[e.jsx("button",{ref:v,type:"button",onClick:()=>F(!k),className:"h-8 w-8 rounded-md border border-slate-200/60 bg-white/80 text-slate-700 transition-colors hover:bg-white dark:border-slate-700/60 dark:bg-slate-900/70 dark:text-slate-100 dark:hover:bg-slate-900","aria-label":"切换主题",children:k?e.jsx(de,{className:"h-4 w-4 mx-auto"}):e.jsx(he,{className:"h-4 w-4 mx-auto"})}),e.jsx(J,{placeholder:"Language",variant:"borderless",style:{width:120},prefix:e.jsx(re,{className:"w-4 h-4"}),options:[{value:"en-US",label:"English"},{value:"zh-CN",label:t("general.language_zh_cn")},{value:"zh-TW",label:t("general.language_zh_tw")},{value:"ja-JP",label:t("general.language_ja_jp")}],value:w.language,onChange:a=>{w.changeLanguage(a)}})]}),e.jsx("div",{className:"absolute bottom-12 text-blue-500",children:e.jsx("a",{href:"https://beian.miit.gov.cn",rel:"noopener",target:"_blank",children:T.data?.icp})})]})})})};export{ge as LoginStep,ve as default}; diff --git a/server/resource/build/assets/LoginPolicyDetailPage-C-1zj9bm.js b/server/resource/build/assets/LoginPolicyDetailPage-C0FoOMds.js similarity index 95% rename from server/resource/build/assets/LoginPolicyDetailPage-C-1zj9bm.js rename to server/resource/build/assets/LoginPolicyDetailPage-C0FoOMds.js index c297e683d..83fc85966 100644 --- a/server/resource/build/assets/LoginPolicyDetailPage-C-1zj9bm.js +++ b/server/resource/build/assets/LoginPolicyDetailPage-C0FoOMds.js @@ -1 +1 @@ -import{S as a,bL as n,bi as x,a0 as h,bZ as f,f as g,bM as w,b4 as j}from"./antd-Afm2kNt7.js";import{l as y}from"./login-policy-api-FsKg9lSA.js";import{u as p,m as I,e as b,p as k,b as v}from"./index-BdfI9ZEv.js";import{u as P}from"./user-api-LAxz6xgj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const T=({id:r})=>{let{t:e}=p();const l=async()=>({success:!0,data:await y.getById(r)}),o={0:e("dw.week.days.sunday"),1:e("dw.week.days.monday"),2:e("dw.week.days.tuesday"),3:e("dw.week.days.wednesday"),4:e("dw.week.days.thursday"),5:e("dw.week.days.friday"),6:e("dw.week.days.saturday")};return a.jsx("div",{className:"page-detail-info",children:a.jsxs(n,{column:1,request:l,children:[a.jsx(n.Item,{label:e("general.name"),dataIndex:"name"}),a.jsx(n.Item,{label:e("identity.policy.priority"),dataIndex:"priority"}),a.jsx(n.Item,{label:e("identity.policy.ip_group"),dataIndex:"ipGroup"}),a.jsx(n.Item,{label:e("identity.policy.time_period"),dataIndex:"timePeriod",render:(t,s)=>t?t.map(d=>{if(I.hasText(d.value))return a.jsxs(a.Fragment,{children:[`${o[d.key]} :${d.value}`,a.jsx("br",{})]})}):void 0}),a.jsx(n.Item,{label:e("identity.policy.action.label"),dataIndex:"rule",render:t=>t==="allow"?a.jsx(x,{icon:a.jsx(h,{}),color:"success",bordered:!1,children:e("identity.policy.action.allow")}):a.jsx(x,{icon:a.jsx(f,{}),color:"error",bordered:!1,children:e("identity.policy.action.reject")})}),a.jsx(n.Item,{label:e("general.status"),dataIndex:"enabled",valueEnum:{true:{text:e("general.enabled"),status:"success"},false:{text:e("general.disabled"),status:"default"}}}),a.jsx(n.Item,{label:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})},K=({id:r})=>{let{t:e}=p();const[l,o]=g.useState([]);let t=b({queryKey:["user"],queryFn:P.getAll}),s=b({queryKey:["user-id"],queryFn:()=>y.getUserId(r)});if(g.useEffect(()=>{s.data&&o(s.data)},[s.data]),t.isLoading)return a.jsx("div",{children:"Loading..."});let c=Array.isArray(t.data)?t.data.map(i=>({key:i.id,title:i.nickname})):[];const d=async(i,m,u)=>{switch(m){case"left":await y.unbindUser(r,u);break;case"right":await y.bindUser(r,u);break}o(i)};return a.jsx(w,{dataSource:c,titles:[e("general.unbound"),e("general.bound")],operations:[e("actions.binding"),e("actions.unbind")],showSearch:!0,listStyle:{width:250,height:400},targetKeys:l,onChange:d,render:i=>i.title})},F=()=>{let{t:r}=p();const l=k().loginPolicyId,[o,t]=v();let s=o.get("activeKey");s=s||"detail";let[c,d]=g.useState(s);const i=u=>{d(u),t({activeKey:u})},m=[{label:r("actions.detail"),key:"detail",children:a.jsx(T,{active:c==="detail",id:l})},{label:r("actions.binding"),key:"bind-user",children:a.jsx(K,{active:c==="bind-user",id:l})}];return a.jsx("div",{className:"px-4",children:a.jsx(j,{activeKey:c,onChange:i,items:m})})};export{F as default}; +import{S as a,bL as n,bi as x,a0 as h,bZ as f,f as g,bM as w,b4 as j}from"./antd-Afm2kNt7.js";import{l as y}from"./login-policy-api-BlI40YsB.js";import{u as p,m as I,e as b,p as k,b as v}from"./index-DQXwuKC5.js";import{u as P}from"./user-api-BJxKseSg.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const T=({id:r})=>{let{t:e}=p();const l=async()=>({success:!0,data:await y.getById(r)}),o={0:e("dw.week.days.sunday"),1:e("dw.week.days.monday"),2:e("dw.week.days.tuesday"),3:e("dw.week.days.wednesday"),4:e("dw.week.days.thursday"),5:e("dw.week.days.friday"),6:e("dw.week.days.saturday")};return a.jsx("div",{className:"page-detail-info",children:a.jsxs(n,{column:1,request:l,children:[a.jsx(n.Item,{label:e("general.name"),dataIndex:"name"}),a.jsx(n.Item,{label:e("identity.policy.priority"),dataIndex:"priority"}),a.jsx(n.Item,{label:e("identity.policy.ip_group"),dataIndex:"ipGroup"}),a.jsx(n.Item,{label:e("identity.policy.time_period"),dataIndex:"timePeriod",render:(t,s)=>t?t.map(d=>{if(I.hasText(d.value))return a.jsxs(a.Fragment,{children:[`${o[d.key]} :${d.value}`,a.jsx("br",{})]})}):void 0}),a.jsx(n.Item,{label:e("identity.policy.action.label"),dataIndex:"rule",render:t=>t==="allow"?a.jsx(x,{icon:a.jsx(h,{}),color:"success",bordered:!1,children:e("identity.policy.action.allow")}):a.jsx(x,{icon:a.jsx(f,{}),color:"error",bordered:!1,children:e("identity.policy.action.reject")})}),a.jsx(n.Item,{label:e("general.status"),dataIndex:"enabled",valueEnum:{true:{text:e("general.enabled"),status:"success"},false:{text:e("general.disabled"),status:"default"}}}),a.jsx(n.Item,{label:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})},K=({id:r})=>{let{t:e}=p();const[l,o]=g.useState([]);let t=b({queryKey:["user"],queryFn:P.getAll}),s=b({queryKey:["user-id"],queryFn:()=>y.getUserId(r)});if(g.useEffect(()=>{s.data&&o(s.data)},[s.data]),t.isLoading)return a.jsx("div",{children:"Loading..."});let c=Array.isArray(t.data)?t.data.map(i=>({key:i.id,title:i.nickname})):[];const d=async(i,m,u)=>{switch(m){case"left":await y.unbindUser(r,u);break;case"right":await y.bindUser(r,u);break}o(i)};return a.jsx(w,{dataSource:c,titles:[e("general.unbound"),e("general.bound")],operations:[e("actions.binding"),e("actions.unbind")],showSearch:!0,listStyle:{width:250,height:400},targetKeys:l,onChange:d,render:i=>i.title})},F=()=>{let{t:r}=p();const l=k().loginPolicyId,[o,t]=v();let s=o.get("activeKey");s=s||"detail";let[c,d]=g.useState(s);const i=u=>{d(u),t({activeKey:u})},m=[{label:r("actions.detail"),key:"detail",children:a.jsx(T,{active:c==="detail",id:l})},{label:r("actions.binding"),key:"bind-user",children:a.jsx(K,{active:c==="bind-user",id:l})}];return a.jsx("div",{className:"px-4",children:a.jsx(j,{activeKey:c,onChange:i,items:m})})};export{F as default}; diff --git a/server/resource/build/assets/LoginPolicyPage-CQKYlGgn.js b/server/resource/build/assets/LoginPolicyPage-D8II9jNz.js similarity index 93% rename from server/resource/build/assets/LoginPolicyPage-CQKYlGgn.js rename to server/resource/build/assets/LoginPolicyPage-D8II9jNz.js index 2f84e53f7..b3e7fa743 100644 --- a/server/resource/build/assets/LoginPolicyPage-CQKYlGgn.js +++ b/server/resource/build/assets/LoginPolicyPage-D8II9jNz.js @@ -1 +1 @@ -import{f as h,S as t,bi as d,a0 as f,bZ as b,aS as I,bI as j,bz as w,av as S}from"./antd-Afm2kNt7.js";import{l as k}from"./login-policy-api-FsKg9lSA.js";import{g as v}from"./sort-BOdE-yay.js";import{N as c}from"./NButton-DoPcvKBF.js";import{N as P}from"./NLink-BW2w3qR4.js";import{u as T,a as z,z as R,y as u,D as B}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const p=k,K=()=>{const{t:e}=T(),r=h.useRef(null);let o=z(),{license:y}=R();const g=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",render:(i,a)=>t.jsx(P,{to:`/login-policy/new?loginPolicyId=${a.id}`,children:i})},{title:e("identity.policy.priority"),key:"priority",dataIndex:"priority",sorter:!0,defaultSortOrder:"ascend",hideInSearch:!0},{title:e("identity.policy.ip_group"),key:"ipGroup",dataIndex:"ipGroup",sorter:!1,hideInSearch:!0},{title:e("identity.policy.action.label"),key:"rule",dataIndex:"rule",hideInSearch:!0,render:(i=>i==="allow"?t.jsx(d,{icon:t.jsx(f,{}),color:"success",bordered:!1,children:e("identity.policy.action.allow")}):t.jsx(d,{icon:t.jsx(b,{}),color:"error",bordered:!1,children:e("identity.policy.action.reject")}))},{title:e("general.status"),key:"enabled",dataIndex:"enabled",hideInSearch:!0,valueEnum:{true:{text:e("general.enabled"),status:"success"},false:{text:e("general.disabled"),status:"default"}}},{title:e("assets.limit_time"),key:"expirationAt",dataIndex:"expirationAt",hideInSearch:!0,sorter:!0,valueType:"dateTime",width:191},{title:e("actions.label"),valueType:"option",key:"option",width:160,render:(i,a,m,l)=>[t.jsx(u,{to:`/login-policy/new?loginPolicyId=${a.id}`,children:t.jsx(c,{children:e("actions.edit")},"edit")}),t.jsx(I,{title:e("general.confirm_delete"),onConfirm:async()=>{await p.deleteById(a.id),r.current?.reload()},children:t.jsx(c,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm"),t.jsx(j,{onSelect:n=>{switch(n){case"login-policy-detail":o(`/login-policy/${a.id}?activeKey=info`);break;case"login-policy-bind-user":o(`/login-policy/${a.id}?activeKey=bind-user`);break}},menus:[{key:"login-policy-detail",name:e("actions.detail")},{key:"login-policy-bind-user",name:e("actions.binding")}]},"actionGroup")]}];return t.jsx("div",{children:t.jsx(B,{disabled:y.isFree(),children:t.jsx(w,{columns:g,actionRef:r,request:async(i={},a,m)=>{let[l,n]=v(a),x={pageIndex:i.current,pageSize:i.pageSize,order:l,field:n,name:i.name},s=await p.getPaging(x);return{data:s.items,success:!0,total:s.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.identity.submenus.login_policy"),toolBarRender:()=>[t.jsx(u,{to:"/login-policy/new",children:t.jsx(S,{type:"primary",children:e("actions.new")},"button")})]})})})};export{K as default}; +import{f as h,S as t,bi as d,a0 as f,bZ as b,aS as I,bI as j,bz as w,av as S}from"./antd-Afm2kNt7.js";import{l as k}from"./login-policy-api-BlI40YsB.js";import{g as v}from"./sort-BOdE-yay.js";import{N as c}from"./NButton-DoPcvKBF.js";import{N as P}from"./NLink-Dl2yFaN4.js";import{u as T,a as z,z as R,y as u,D as B}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const p=k,K=()=>{const{t:e}=T(),r=h.useRef(null);let o=z(),{license:y}=R();const g=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",render:(i,a)=>t.jsx(P,{to:`/login-policy/new?loginPolicyId=${a.id}`,children:i})},{title:e("identity.policy.priority"),key:"priority",dataIndex:"priority",sorter:!0,defaultSortOrder:"ascend",hideInSearch:!0},{title:e("identity.policy.ip_group"),key:"ipGroup",dataIndex:"ipGroup",sorter:!1,hideInSearch:!0},{title:e("identity.policy.action.label"),key:"rule",dataIndex:"rule",hideInSearch:!0,render:(i=>i==="allow"?t.jsx(d,{icon:t.jsx(f,{}),color:"success",bordered:!1,children:e("identity.policy.action.allow")}):t.jsx(d,{icon:t.jsx(b,{}),color:"error",bordered:!1,children:e("identity.policy.action.reject")}))},{title:e("general.status"),key:"enabled",dataIndex:"enabled",hideInSearch:!0,valueEnum:{true:{text:e("general.enabled"),status:"success"},false:{text:e("general.disabled"),status:"default"}}},{title:e("assets.limit_time"),key:"expirationAt",dataIndex:"expirationAt",hideInSearch:!0,sorter:!0,valueType:"dateTime",width:191},{title:e("actions.label"),valueType:"option",key:"option",width:160,render:(i,a,m,l)=>[t.jsx(u,{to:`/login-policy/new?loginPolicyId=${a.id}`,children:t.jsx(c,{children:e("actions.edit")},"edit")}),t.jsx(I,{title:e("general.confirm_delete"),onConfirm:async()=>{await p.deleteById(a.id),r.current?.reload()},children:t.jsx(c,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm"),t.jsx(j,{onSelect:n=>{switch(n){case"login-policy-detail":o(`/login-policy/${a.id}?activeKey=info`);break;case"login-policy-bind-user":o(`/login-policy/${a.id}?activeKey=bind-user`);break}},menus:[{key:"login-policy-detail",name:e("actions.detail")},{key:"login-policy-bind-user",name:e("actions.binding")}]},"actionGroup")]}];return t.jsx("div",{children:t.jsx(B,{disabled:y.isFree(),children:t.jsx(w,{columns:g,actionRef:r,request:async(i={},a,m)=>{let[l,n]=v(a),x={pageIndex:i.current,pageSize:i.pageSize,order:l,field:n,name:i.name},s=await p.getPaging(x);return{data:s.items,success:!0,total:s.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.identity.submenus.login_policy"),toolBarRender:()=>[t.jsx(u,{to:"/login-policy/new",children:t.jsx(S,{type:"primary",children:e("actions.new")},"button")})]})})})};export{K as default}; diff --git a/server/resource/build/assets/LoginPolicyPostPage-Ds4eWRMf.js b/server/resource/build/assets/LoginPolicyPostPage--Tauq4PS.js similarity index 98% rename from server/resource/build/assets/LoginPolicyPostPage-Ds4eWRMf.js rename to server/resource/build/assets/LoginPolicyPostPage--Tauq4PS.js index e4bfe4076..a136d0c82 100644 --- a/server/resource/build/assets/LoginPolicyPostPage-Ds4eWRMf.js +++ b/server/resource/build/assets/LoginPolicyPostPage--Tauq4PS.js @@ -1 +1 @@ -import{f as m,S as s,a$ as J,aK as Q,aT as N,aM as X,bs as Z,aV as ee,b_ as te,aN as se,bh as ae}from"./antd-Afm2kNt7.js";import{u as $,m as I,b as re,o as oe,a as le,h as ne}from"./index-BdfI9ZEv.js";import{l as P}from"./login-policy-api-FsKg9lSA.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const ce=Array.from(Array(24)).map((i,o)=>o),_=(i,o)=>{const a={"hh:mm":{hour:"2-digit",minute:"2-digit",hour12:!1}};return new Intl.DateTimeFormat("default",a[o]).format(i)},ie=i=>Array.from(Array(i)).map((o,a)=>a),de=i=>{const a=1542384e6+i*18e5,x=a+18e5;let u=_(new Date(a),"hh:mm"),y=_(new Date(x),"hh:mm");return y==="00:00"&&(y="24:00"),`${u}~${y}`},he=i=>{const o=[];let a=!1;for(const x in i){let u=i[x];u.checked&&(u.checked!==a?o.push("、",u.begin,"~",u.end):o.length&&(o.pop(),o.push(u.end))),a=u.checked}return o.shift(),o.join("")},ue=({onChange:i,value:o})=>{let{t:a}=$();m.useEffect(()=>{o?K(o):S()},[]);const x={0:a("dw.week.days.sunday"),1:a("dw.week.days.monday"),2:a("dw.week.days.tuesday"),3:a("dw.week.days.wednesday"),4:a("dw.week.days.thursday"),5:a("dw.week.days.friday"),6:a("dw.week.days.saturday")},u=t=>x[t],y=()=>x,W=Object.keys(y()).map(t=>{let e=y()[t];return{value:e,day:t,child:((d,h,f)=>ie(f).map((j,g)=>{let w=de(g);return{week:d,value:w,begin:w.split("~")[0],end:w.split("~")[1],row:h,col:g,checked:!1}}))(e,parseInt(t),48)}});let[p,k]=m.useState(W),[c,A]=m.useState(!1),[D,E]=m.useState(!1),[l,q]=m.useState(0),[n,H]=m.useState(0),[b,L]=m.useState(!1),[M,F]=m.useState({width:0,height:0,left:0,top:0}),[U,Y]=m.useState(o);const G=(t,e)=>{let{width:r,height:d,left:h,top:f}=M;D?e.col<=n&&e.row<=l?(r=(n-e.col+1)*t.target.offsetWidth,d=(l-e.row+1)*t.target.offsetHeight,h=t.target.offsetLeft,f=t.target.offsetTop):e.col>=n&&e.row>=l?(r=(e.col-n+1)*t.target.offsetWidth,d=(e.row-l+1)*t.target.offsetHeight,e.col>n&&e.row===l&&(f=t.target.offsetTop),e.col===n&&e.row>l&&(h=t.target.offsetLeft)):e.col>n&&e.rowl&&(r=(n-e.col+1)*t.target.offsetWidth,d=(e.row-l+1)*t.target.offsetHeight,h=t.target.offsetLeft):(h=t.target.offsetLeft,f=t.target.offsetTop),F({width:r,height:d,left:h,top:f})},O=(t,e)=>{L(e.checked),E(!0),q(e.row),H(e.col)},V=(t,e)=>{e.col<=n&&e.row<=l?T([e.row,l],[e.col,n],!b):e.col>=n&&e.row>=l?T([l,e.row],[n,e.col],!b):e.col>n&&e.rowl&&T([l,e.row],[e.col,n],!b),F({width:0,height:0,left:0,top:0}),E(!1),v()},T=(t,e,r)=>{const[d,h]=t,[f,j]=e;p.forEach(g=>{g.child.forEach(w=>{w.row>=d&&w.row<=h&&w.col>=f&&w.col<=j&&(w.checked=r)})}),k(p)},S=()=>{p.forEach(t=>{t.child.forEach(e=>{e.checked=!1})}),k(p),C([])},B=()=>{p.forEach(t=>{t.child.forEach(e=>{e.checked=!0})}),k(p),v()},v=()=>{let t=p.map(e=>({key:parseInt(e.day),value:he(e.child)}));C(t)},C=t=>{i&&i(t),t.length>0?A(!0):A(!1),Y(t)},K=t=>{S();for(let e in t){let r=t[e].value;if(!I.hasText(r))continue;let d=r.split("、");for(const h in d)z(t[e].key,d[h])}v()},z=(t,e)=>{let r=t;const[d,h]=e.split("~"),f=R(d),j=R(h);for(let g=f;g<(j===0?48:j);g++){const w=p[r];w.child[g].checked=!0}k(p)},R=t=>{const e=Number(t.slice(0,2).replace(/^0/,""))||0,r=/30/.test(t)?1:0;return e*2+r};return s.jsxs("div",{className:"week-time",children:[s.jsx("div",{className:`schedule ${D?"schedule-notransi":""}`,style:M}),s.jsxs("table",{className:"week-time-table",children:[s.jsxs("thead",{className:"week-time-head",children:[s.jsxs("tr",{children:[s.jsxs("th",{rowSpan:8,className:"week-td",children:[a("dw.week.label"),"/",a("audit.accessLog.stats.tooltip.time")]}),s.jsx("th",{colSpan:24,children:"00:00 - 12:00"}),s.jsx("th",{colSpan:24,children:"12:00 - 24:00"})]}),s.jsx("tr",{children:ce.map(t=>s.jsx("td",{colSpan:2,children:t},t))})]}),s.jsxs("tbody",{className:"week-time-body",children:[p.map(t=>s.jsxs("tr",{children:[s.jsx("td",{"data-value":t.value,children:t.value},"td"+t.value),t.child.map(e=>s.jsx("td",{className:`${e.checked?"ui-selected":""}`,onMouseEnter:r=>G(r,e),onMouseDown:r=>O(r,e),onMouseUp:r=>V(r,e),"data-value":e.value},`${e.row}-${e.col}`))]},"tr"+t.value)),s.jsx("tr",{children:s.jsxs("td",{colSpan:49,className:"week-time-preview",children:[s.jsxs("div",{className:"d-clearfix week-time-con",children:[s.jsx("span",{className:"g-pull-left",children:a(c?"dw.selected":"dw.select")}),s.jsx("a",{className:"g-pull-right",onClick:S,children:a("dw.clear")}),s.jsx("a",{className:"g-pull-right",onClick:B,children:a("dw.select_all")})]}),c?s.jsx("div",{className:"week-time-time",children:U?.map(t=>{if(I.hasText(t.value))return s.jsx("div",{children:s.jsxs("p",{children:[s.jsx("span",{className:"g-tip-text",children:u(t.key)}),s.jsx("span",{children:t.value})]})},t.key)})}):void 0]})})]})]})]})},{Title:pe}=J,ke=()=>{const[i]=re();let o=oe(i.get("loginPolicyId"),""),{t:a}=$();const x=m.useRef(null);let u=le();const y=async()=>{if(o){let c=await P.getById(o);return c.expirationAt===0&&(c.expirationAt=void 0),c}return{ipGroup:"0.0.0.0/0",priority:50,rule:"reject",enabled:!0}};let p=ne({mutationFn:async c=>{c.expirationAt?c.expirationAt=ae(c.expirationAt).unix()*1e3:c.expirationAt=0,c.id?await P.updateById(c.id,c):await P.create(c)},onSuccess:()=>{u(-1)}});const k=async c=>{x.current?.validateFields().then(()=>{p.mutate(c)})};return s.jsxs("div",{className:"px-4",children:[s.jsx(pe,{level:5,style:{marginTop:0},children:a("actions.new")}),s.jsxs(Q,{formRef:x,request:y,onFinish:k,children:[s.jsx(N,{hidden:!0,name:"id"}),s.jsx(N,{name:"name",label:a("general.name"),rules:[{required:!0}]}),s.jsx(X,{name:"priority",label:a("identity.policy.priority"),extra:a("identity.policy.priority_extra"),rules:[{required:!0}],fieldProps:{min:1,max:100}}),s.jsx(N,{name:"ipGroup",label:a("identity.policy.ip_group"),extra:a("identity.policy.ip_group_extra"),rules:[{required:!0}]}),s.jsx(Z.Item,{label:a("identity.policy.time_period"),name:"timePeriod",children:s.jsx(ue,{})}),s.jsx(ee.Group,{label:a("identity.policy.action.label"),name:"rule",rules:[{required:!0}],options:[{value:"allow",label:a("identity.policy.action.allow")},{value:"reject",label:a("identity.policy.action.reject")}]}),s.jsx(te,{label:a("assets.limit_time"),name:"expirationAt",fieldProps:{format:"YYYY-MM-DD HH:mm:ss",showTime:!0}}),s.jsx(se,{label:a("general.status"),name:"enabled",rules:[{required:!0}]})]})]})};export{ke as default}; +import{f as m,S as s,a$ as J,aK as Q,aT as N,aM as X,bs as Z,aV as ee,b_ as te,aN as se,bh as ae}from"./antd-Afm2kNt7.js";import{u as $,m as I,b as re,o as oe,a as le,h as ne}from"./index-DQXwuKC5.js";import{l as P}from"./login-policy-api-BlI40YsB.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const ce=Array.from(Array(24)).map((i,o)=>o),_=(i,o)=>{const a={"hh:mm":{hour:"2-digit",minute:"2-digit",hour12:!1}};return new Intl.DateTimeFormat("default",a[o]).format(i)},ie=i=>Array.from(Array(i)).map((o,a)=>a),de=i=>{const a=1542384e6+i*18e5,x=a+18e5;let u=_(new Date(a),"hh:mm"),y=_(new Date(x),"hh:mm");return y==="00:00"&&(y="24:00"),`${u}~${y}`},he=i=>{const o=[];let a=!1;for(const x in i){let u=i[x];u.checked&&(u.checked!==a?o.push("、",u.begin,"~",u.end):o.length&&(o.pop(),o.push(u.end))),a=u.checked}return o.shift(),o.join("")},ue=({onChange:i,value:o})=>{let{t:a}=$();m.useEffect(()=>{o?K(o):S()},[]);const x={0:a("dw.week.days.sunday"),1:a("dw.week.days.monday"),2:a("dw.week.days.tuesday"),3:a("dw.week.days.wednesday"),4:a("dw.week.days.thursday"),5:a("dw.week.days.friday"),6:a("dw.week.days.saturday")},u=t=>x[t],y=()=>x,W=Object.keys(y()).map(t=>{let e=y()[t];return{value:e,day:t,child:((d,h,f)=>ie(f).map((j,g)=>{let w=de(g);return{week:d,value:w,begin:w.split("~")[0],end:w.split("~")[1],row:h,col:g,checked:!1}}))(e,parseInt(t),48)}});let[p,k]=m.useState(W),[c,A]=m.useState(!1),[D,E]=m.useState(!1),[l,q]=m.useState(0),[n,H]=m.useState(0),[b,L]=m.useState(!1),[M,F]=m.useState({width:0,height:0,left:0,top:0}),[U,Y]=m.useState(o);const G=(t,e)=>{let{width:r,height:d,left:h,top:f}=M;D?e.col<=n&&e.row<=l?(r=(n-e.col+1)*t.target.offsetWidth,d=(l-e.row+1)*t.target.offsetHeight,h=t.target.offsetLeft,f=t.target.offsetTop):e.col>=n&&e.row>=l?(r=(e.col-n+1)*t.target.offsetWidth,d=(e.row-l+1)*t.target.offsetHeight,e.col>n&&e.row===l&&(f=t.target.offsetTop),e.col===n&&e.row>l&&(h=t.target.offsetLeft)):e.col>n&&e.rowl&&(r=(n-e.col+1)*t.target.offsetWidth,d=(e.row-l+1)*t.target.offsetHeight,h=t.target.offsetLeft):(h=t.target.offsetLeft,f=t.target.offsetTop),F({width:r,height:d,left:h,top:f})},O=(t,e)=>{L(e.checked),E(!0),q(e.row),H(e.col)},V=(t,e)=>{e.col<=n&&e.row<=l?T([e.row,l],[e.col,n],!b):e.col>=n&&e.row>=l?T([l,e.row],[n,e.col],!b):e.col>n&&e.rowl&&T([l,e.row],[e.col,n],!b),F({width:0,height:0,left:0,top:0}),E(!1),v()},T=(t,e,r)=>{const[d,h]=t,[f,j]=e;p.forEach(g=>{g.child.forEach(w=>{w.row>=d&&w.row<=h&&w.col>=f&&w.col<=j&&(w.checked=r)})}),k(p)},S=()=>{p.forEach(t=>{t.child.forEach(e=>{e.checked=!1})}),k(p),C([])},B=()=>{p.forEach(t=>{t.child.forEach(e=>{e.checked=!0})}),k(p),v()},v=()=>{let t=p.map(e=>({key:parseInt(e.day),value:he(e.child)}));C(t)},C=t=>{i&&i(t),t.length>0?A(!0):A(!1),Y(t)},K=t=>{S();for(let e in t){let r=t[e].value;if(!I.hasText(r))continue;let d=r.split("、");for(const h in d)z(t[e].key,d[h])}v()},z=(t,e)=>{let r=t;const[d,h]=e.split("~"),f=R(d),j=R(h);for(let g=f;g<(j===0?48:j);g++){const w=p[r];w.child[g].checked=!0}k(p)},R=t=>{const e=Number(t.slice(0,2).replace(/^0/,""))||0,r=/30/.test(t)?1:0;return e*2+r};return s.jsxs("div",{className:"week-time",children:[s.jsx("div",{className:`schedule ${D?"schedule-notransi":""}`,style:M}),s.jsxs("table",{className:"week-time-table",children:[s.jsxs("thead",{className:"week-time-head",children:[s.jsxs("tr",{children:[s.jsxs("th",{rowSpan:8,className:"week-td",children:[a("dw.week.label"),"/",a("audit.accessLog.stats.tooltip.time")]}),s.jsx("th",{colSpan:24,children:"00:00 - 12:00"}),s.jsx("th",{colSpan:24,children:"12:00 - 24:00"})]}),s.jsx("tr",{children:ce.map(t=>s.jsx("td",{colSpan:2,children:t},t))})]}),s.jsxs("tbody",{className:"week-time-body",children:[p.map(t=>s.jsxs("tr",{children:[s.jsx("td",{"data-value":t.value,children:t.value},"td"+t.value),t.child.map(e=>s.jsx("td",{className:`${e.checked?"ui-selected":""}`,onMouseEnter:r=>G(r,e),onMouseDown:r=>O(r,e),onMouseUp:r=>V(r,e),"data-value":e.value},`${e.row}-${e.col}`))]},"tr"+t.value)),s.jsx("tr",{children:s.jsxs("td",{colSpan:49,className:"week-time-preview",children:[s.jsxs("div",{className:"d-clearfix week-time-con",children:[s.jsx("span",{className:"g-pull-left",children:a(c?"dw.selected":"dw.select")}),s.jsx("a",{className:"g-pull-right",onClick:S,children:a("dw.clear")}),s.jsx("a",{className:"g-pull-right",onClick:B,children:a("dw.select_all")})]}),c?s.jsx("div",{className:"week-time-time",children:U?.map(t=>{if(I.hasText(t.value))return s.jsx("div",{children:s.jsxs("p",{children:[s.jsx("span",{className:"g-tip-text",children:u(t.key)}),s.jsx("span",{children:t.value})]})},t.key)})}):void 0]})})]})]})]})},{Title:pe}=J,ke=()=>{const[i]=re();let o=oe(i.get("loginPolicyId"),""),{t:a}=$();const x=m.useRef(null);let u=le();const y=async()=>{if(o){let c=await P.getById(o);return c.expirationAt===0&&(c.expirationAt=void 0),c}return{ipGroup:"0.0.0.0/0",priority:50,rule:"reject",enabled:!0}};let p=ne({mutationFn:async c=>{c.expirationAt?c.expirationAt=ae(c.expirationAt).unix()*1e3:c.expirationAt=0,c.id?await P.updateById(c.id,c):await P.create(c)},onSuccess:()=>{u(-1)}});const k=async c=>{x.current?.validateFields().then(()=>{p.mutate(c)})};return s.jsxs("div",{className:"px-4",children:[s.jsx(pe,{level:5,style:{marginTop:0},children:a("actions.new")}),s.jsxs(Q,{formRef:x,request:y,onFinish:k,children:[s.jsx(N,{hidden:!0,name:"id"}),s.jsx(N,{name:"name",label:a("general.name"),rules:[{required:!0}]}),s.jsx(X,{name:"priority",label:a("identity.policy.priority"),extra:a("identity.policy.priority_extra"),rules:[{required:!0}],fieldProps:{min:1,max:100}}),s.jsx(N,{name:"ipGroup",label:a("identity.policy.ip_group"),extra:a("identity.policy.ip_group_extra"),rules:[{required:!0}]}),s.jsx(Z.Item,{label:a("identity.policy.time_period"),name:"timePeriod",children:s.jsx(ue,{})}),s.jsx(ee.Group,{label:a("identity.policy.action.label"),name:"rule",rules:[{required:!0}],options:[{value:"allow",label:a("identity.policy.action.allow")},{value:"reject",label:a("identity.policy.action.reject")}]}),s.jsx(te,{label:a("assets.limit_time"),name:"expirationAt",fieldProps:{format:"YYYY-MM-DD HH:mm:ss",showTime:!0}}),s.jsx(se,{label:a("general.status"),name:"enabled",rules:[{required:!0}]})]})]})};export{ke as default}; diff --git a/server/resource/build/assets/MobileAccessTerminal-DTIA7YRO.js b/server/resource/build/assets/MobileAccessTerminal-DNKK6b04.js similarity index 81% rename from server/resource/build/assets/MobileAccessTerminal-DTIA7YRO.js rename to server/resource/build/assets/MobileAccessTerminal-DNKK6b04.js index 80df487aa..3d2f5426f 100644 --- a/server/resource/build/assets/MobileAccessTerminal-DTIA7YRO.js +++ b/server/resource/build/assets/MobileAccessTerminal-DNKK6b04.js @@ -1 +1 @@ -import{S as s}from"./antd-Afm2kNt7.js";import{b as t,m as a,n as i}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const d=()=>{let[e]=t(),r=e.get("assetId");return a.hasText(r)?s.jsx("div",{children:s.jsx(i,{assetId:r})}):s.jsx("div",{children:"Error"})};export{d as default}; +import{S as s}from"./antd-Afm2kNt7.js";import{b as t,m as a,n as i}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const d=()=>{let[e]=t(),r=e.get("assetId");return a.hasText(r)?s.jsx("div",{children:s.jsx(i,{assetId:r})}):s.jsx("div",{children:"Error"})};export{d as default}; diff --git a/server/resource/build/assets/NLink-BW2w3qR4.js b/server/resource/build/assets/NLink-Dl2yFaN4.js similarity index 66% rename from server/resource/build/assets/NLink-BW2w3qR4.js rename to server/resource/build/assets/NLink-Dl2yFaN4.js index d3bbd06af..60c29e45a 100644 --- a/server/resource/build/assets/NLink-BW2w3qR4.js +++ b/server/resource/build/assets/NLink-Dl2yFaN4.js @@ -1 +1 @@ -import{S as s}from"./antd-Afm2kNt7.js";import{y as t}from"./index-BdfI9ZEv.js";const i=({to:r,children:e})=>s.jsx(t,{to:r,className:"text-blue-500 hover:underline",children:e});export{i as N}; +import{S as s}from"./antd-Afm2kNt7.js";import{y as t}from"./index-DQXwuKC5.js";const i=({to:r,children:e})=>s.jsx(t,{to:r,className:"text-blue-500 hover:underline",children:e});export{i as N}; diff --git a/server/resource/build/assets/OfflineSessionPage-BQbWlNuQ.js b/server/resource/build/assets/OfflineSessionPage-D1UBBI15.js similarity index 98% rename from server/resource/build/assets/OfflineSessionPage-BQbWlNuQ.js rename to server/resource/build/assets/OfflineSessionPage-D1UBBI15.js index dc2ef5b8d..6fa5ad999 100644 --- a/server/resource/build/assets/OfflineSessionPage-BQbWlNuQ.js +++ b/server/resource/build/assets/OfflineSessionPage-D1UBBI15.js @@ -1 +1 @@ -import{S as e,au as L,ar as $,b0 as j,bN as h,a$ as g,f as o,aI as F,ay as c,av as p,aS as B,bz as q,bp as w,a_ as f,bi as S,b2 as K,bo as M}from"./antd-Afm2kNt7.js";import{g as V}from"./sort-BOdE-yay.js";import{s as l}from"./session-api-CdVNYxgO.js";import{u as N,e as H,h as z,E as Q,Y as U}from"./index-BdfI9ZEv.js";import{N as v}from"./NButton-DoPcvKBF.js";import{c as W}from"./charts-DWBuA5Za.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const{Paragraph:Y}=g,G=({open:s,sessionId:d,onClose:y})=>{const{t:i}=N(),{data:n,isLoading:m,error:u}=H({queryKey:["session-audit",d],queryFn:()=>l.getAudit(d),enabled:s&&!!d});return e.jsxs(L,{title:i("audit.audit_detail"),placement:"right",width:600,onClose:y,open:s,children:[m&&e.jsx("div",{className:"flex justify-center items-center h-40",children:e.jsx($,{size:"large"})}),u&&e.jsx(j,{type:"error",message:i("audit.audit_load_failed"),description:String(u)}),n&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs(h,{column:1,bordered:!0,size:"small",children:[e.jsxs(h.Item,{label:i("audit.audit_status.label"),children:[n.status==="completed"&&e.jsx("span",{className:"text-green-600",children:i("audit.audit_status.completed")}),n.status==="pending"&&e.jsx("span",{className:"text-blue-600",children:i("audit.audit_status.pending")}),n.status==="failed"&&e.jsx("span",{className:"text-red-600",children:i("audit.audit_status.failed")})]}),e.jsx(h.Item,{label:i("general.created_at"),children:n.createdAt?new Date(n.createdAt*1e3).toLocaleString():"-"}),e.jsx(h.Item,{label:i("general.updated_at"),children:n.updatedAt?new Date(n.updatedAt*1e3).toLocaleString():"-"})]}),n.error&&e.jsx(j,{type:"error",message:i("audit.audit_error"),description:n.error}),n.content&&e.jsxs("div",{children:[e.jsx("div",{className:"font-medium mb-2",children:i("audit.audit_content")}),e.jsx("div",{className:"bg-gray-100 dark:bg-gray-800 p-4 rounded",children:e.jsx(Y,{style:{margin:0,whiteSpace:"pre-wrap"},children:n.content})})]})]}),!m&&!u&&!n&&e.jsx(j,{type:"info",message:i("audit.no_audit_data")})]})},ie=()=>{const{t:s}=N(),d=o.useRef(null),[y,i]=o.useState(!1),[n,m]=o.useState(""),[u,b]=o.useState(!1),[T,_]=o.useState(new Set),{modal:C,message:E}=F.useApp();o.useEffect(()=>{l.auditEnabled().then(({terminalEnabled:t})=>i(t)).catch(()=>i(!1))},[]);const O=t=>{m(t),b(!0)},k=async t=>{_(a=>new Set(a).add(t));try{await l.triggerAudit(t),d.current?.reload()}catch{E.error(s("audit.audit_failed"))}finally{_(a=>{const r=new Set(a);return r.delete(t),r})}},I=z({mutationFn:l.deleteById,onSuccess:()=>d.current?.reload()}),P=z({mutationFn:l.clear,onSuccess:()=>d.current?.reload()}),D=t=>{const a=t.protocol==="ssh"||t.protocol==="telnet",r=t.recordingSize>0&&a&&y,x=T.has(t.id);switch(t.auditStatus){case"pending":return e.jsx(K,{title:s("audit.audit_status.pending_tip"),children:e.jsx(S,{icon:e.jsx(M,{spin:!0}),color:"processing",children:s("audit.audit_status.pending")})});case"completed":return e.jsxs(f,{size:4,children:[e.jsx(S,{color:"success",children:s("audit.audit_status.completed")}),e.jsx(p,{type:"link",size:"small",style:{padding:0},onClick:()=>O(t.id),children:s("audit.audit_status.view")})]});case"failed":return e.jsxs(f,{size:4,children:[e.jsx(S,{color:"error",children:s("audit.audit_status.failed")}),r&&e.jsx(p,{type:"link",size:"small",danger:!0,loading:x,style:{padding:0},onClick:()=>k(t.id),children:s("audit.audit_status.retry")})]});default:return r?e.jsx(p,{type:"link",size:"small",loading:x,style:{padding:0},onClick:()=>k(t.id),children:s("audit.audit_status.start")}):null}},R=[{title:s("menus.identity.submenus.user"),dataIndex:"userAccount",key:"userAccount"},{title:s("menus.resource.submenus.asset"),dataIndex:"assetName",key:"assetName",render:(t,a)=>{const r=`${a.protocol} ${a.username}@${a.ip}:${a.port}`;return e.jsxs("div",{children:[e.jsx("div",{children:t}),e.jsx(g.Text,{type:"secondary",children:r})]})}},{title:s("audit.client_ip"),dataIndex:"clientIp",key:"clientIp",render:(t,a)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:t}),e.jsx(g.Text,{type:"secondary",children:a.region})]})},{title:s("assets.protocol"),dataIndex:"protocol",key:"protocol",sorter:!0,render:(t,a)=>e.jsx("span",{className:W("rounded-md px-1.5 py-1 text-white font-bold",Q(a.protocol)),style:{fontSize:9},children:a.protocol.toUpperCase()}),renderFormItem:(t,{type:a})=>a==="form"?null:e.jsxs(c,{children:[e.jsx(c.Option,{value:"rdp",children:"RDP"}),e.jsx(c.Option,{value:"ssh",children:"SSH"}),e.jsx(c.Option,{value:"telnet",children:"Telnet"}),e.jsx(c.Option,{value:"vnc",children:"VNC"}),e.jsx(c.Option,{value:"kubernetes",children:"Kubernetes"})]})},{title:s("audit.connected_at"),dataIndex:"connectedAt",key:"connectedAt",hideInSearch:!0,valueType:"dateTime"},{title:s("audit.connection_duration"),dataIndex:"connectionDuration",key:"connectionDuration",hideInSearch:!0},{title:s("audit.recording_size"),dataIndex:"recordingSize",key:"recordingSize",hideInSearch:!0,render:(t,a)=>{const r=a.commandCount;return e.jsxs("div",{children:[e.jsx("div",{children:U(a.recordingSize)}),r>0&&e.jsxs(g.Text,{type:"secondary",children:[s("sysops.command")," × ",r]})]})}},{title:s("audit.audit_status.label"),dataIndex:"auditStatus",key:"auditStatus",hideInSearch:!0,render:(t,a)=>D(a)},{title:s("actions.label"),valueType:"option",key:"option",render:(t,a)=>{const r=a.recordingSize<=0;return[e.jsx(p,{disabled:r,type:"link",size:"small",onClick:()=>{switch(a.protocol){case"ssh":case"telnet":window.open(`/terminal-playback?sessionId=${a.id}`,"_blank");break;case"rdp":case"vnc":window.open(`/graphics-playback?sessionId=${a.id}`,"_blank");break}},children:s("audit.options.playback")},"playback"),e.jsx(B,{title:s("general.confirm_delete"),onConfirm:async()=>{await l.deleteById(a.id),d.current?.reload()},children:e.jsx(v,{danger:!0,children:s("actions.delete")})},"delete-confirm")]}}];return e.jsxs("div",{children:[e.jsx(q,{defaultSize:"small",columns:R,actionRef:d,request:async(t={},a)=>{const[r,x]=V(a),A=await l.getPaging({pageIndex:t.current,pageSize:t.pageSize,order:r,field:x,status:"disconnected",clientIp:t.clientIp,protocol:t.protocol,assetName:t.assetName,userAccount:t.userAccount});return{data:A.items,success:!0,total:A.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:s("menus.log_audit.submenus.offline_session"),rowSelection:{selections:[w.SELECTION_ALL,w.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:t})=>e.jsx(f,{size:16,children:e.jsx(v,{danger:!0,loading:I.isPending,onClick:()=>I.mutate(t.join(",")),children:s("actions.delete")})}),toolBarRender:()=>[e.jsx(p,{type:"primary",danger:!0,onClick:()=>{C.confirm({title:s("general.clear_confirm"),onOk:()=>P.mutate()})},children:s("actions.clear")},"clear")],polling:5e3}),e.jsx(G,{open:u,sessionId:n,onClose:()=>b(!1)})]})};export{ie as default}; +import{S as e,au as L,ar as $,b0 as j,bN as h,a$ as g,f as o,aI as F,ay as c,av as p,aS as B,bz as q,bp as w,a_ as f,bi as S,b2 as K,bo as M}from"./antd-Afm2kNt7.js";import{g as V}from"./sort-BOdE-yay.js";import{s as l}from"./session-api-mmDQqQeA.js";import{u as N,e as H,h as z,E as Q,Y as U}from"./index-DQXwuKC5.js";import{N as v}from"./NButton-DoPcvKBF.js";import{c as W}from"./charts-DWBuA5Za.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const{Paragraph:Y}=g,G=({open:s,sessionId:d,onClose:y})=>{const{t:i}=N(),{data:n,isLoading:m,error:u}=H({queryKey:["session-audit",d],queryFn:()=>l.getAudit(d),enabled:s&&!!d});return e.jsxs(L,{title:i("audit.audit_detail"),placement:"right",width:600,onClose:y,open:s,children:[m&&e.jsx("div",{className:"flex justify-center items-center h-40",children:e.jsx($,{size:"large"})}),u&&e.jsx(j,{type:"error",message:i("audit.audit_load_failed"),description:String(u)}),n&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs(h,{column:1,bordered:!0,size:"small",children:[e.jsxs(h.Item,{label:i("audit.audit_status.label"),children:[n.status==="completed"&&e.jsx("span",{className:"text-green-600",children:i("audit.audit_status.completed")}),n.status==="pending"&&e.jsx("span",{className:"text-blue-600",children:i("audit.audit_status.pending")}),n.status==="failed"&&e.jsx("span",{className:"text-red-600",children:i("audit.audit_status.failed")})]}),e.jsx(h.Item,{label:i("general.created_at"),children:n.createdAt?new Date(n.createdAt*1e3).toLocaleString():"-"}),e.jsx(h.Item,{label:i("general.updated_at"),children:n.updatedAt?new Date(n.updatedAt*1e3).toLocaleString():"-"})]}),n.error&&e.jsx(j,{type:"error",message:i("audit.audit_error"),description:n.error}),n.content&&e.jsxs("div",{children:[e.jsx("div",{className:"font-medium mb-2",children:i("audit.audit_content")}),e.jsx("div",{className:"bg-gray-100 dark:bg-gray-800 p-4 rounded",children:e.jsx(Y,{style:{margin:0,whiteSpace:"pre-wrap"},children:n.content})})]})]}),!m&&!u&&!n&&e.jsx(j,{type:"info",message:i("audit.no_audit_data")})]})},ie=()=>{const{t:s}=N(),d=o.useRef(null),[y,i]=o.useState(!1),[n,m]=o.useState(""),[u,b]=o.useState(!1),[T,_]=o.useState(new Set),{modal:C,message:E}=F.useApp();o.useEffect(()=>{l.auditEnabled().then(({terminalEnabled:t})=>i(t)).catch(()=>i(!1))},[]);const O=t=>{m(t),b(!0)},k=async t=>{_(a=>new Set(a).add(t));try{await l.triggerAudit(t),d.current?.reload()}catch{E.error(s("audit.audit_failed"))}finally{_(a=>{const r=new Set(a);return r.delete(t),r})}},I=z({mutationFn:l.deleteById,onSuccess:()=>d.current?.reload()}),P=z({mutationFn:l.clear,onSuccess:()=>d.current?.reload()}),D=t=>{const a=t.protocol==="ssh"||t.protocol==="telnet",r=t.recordingSize>0&&a&&y,x=T.has(t.id);switch(t.auditStatus){case"pending":return e.jsx(K,{title:s("audit.audit_status.pending_tip"),children:e.jsx(S,{icon:e.jsx(M,{spin:!0}),color:"processing",children:s("audit.audit_status.pending")})});case"completed":return e.jsxs(f,{size:4,children:[e.jsx(S,{color:"success",children:s("audit.audit_status.completed")}),e.jsx(p,{type:"link",size:"small",style:{padding:0},onClick:()=>O(t.id),children:s("audit.audit_status.view")})]});case"failed":return e.jsxs(f,{size:4,children:[e.jsx(S,{color:"error",children:s("audit.audit_status.failed")}),r&&e.jsx(p,{type:"link",size:"small",danger:!0,loading:x,style:{padding:0},onClick:()=>k(t.id),children:s("audit.audit_status.retry")})]});default:return r?e.jsx(p,{type:"link",size:"small",loading:x,style:{padding:0},onClick:()=>k(t.id),children:s("audit.audit_status.start")}):null}},R=[{title:s("menus.identity.submenus.user"),dataIndex:"userAccount",key:"userAccount"},{title:s("menus.resource.submenus.asset"),dataIndex:"assetName",key:"assetName",render:(t,a)=>{const r=`${a.protocol} ${a.username}@${a.ip}:${a.port}`;return e.jsxs("div",{children:[e.jsx("div",{children:t}),e.jsx(g.Text,{type:"secondary",children:r})]})}},{title:s("audit.client_ip"),dataIndex:"clientIp",key:"clientIp",render:(t,a)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:t}),e.jsx(g.Text,{type:"secondary",children:a.region})]})},{title:s("assets.protocol"),dataIndex:"protocol",key:"protocol",sorter:!0,render:(t,a)=>e.jsx("span",{className:W("rounded-md px-1.5 py-1 text-white font-bold",Q(a.protocol)),style:{fontSize:9},children:a.protocol.toUpperCase()}),renderFormItem:(t,{type:a})=>a==="form"?null:e.jsxs(c,{children:[e.jsx(c.Option,{value:"rdp",children:"RDP"}),e.jsx(c.Option,{value:"ssh",children:"SSH"}),e.jsx(c.Option,{value:"telnet",children:"Telnet"}),e.jsx(c.Option,{value:"vnc",children:"VNC"}),e.jsx(c.Option,{value:"kubernetes",children:"Kubernetes"})]})},{title:s("audit.connected_at"),dataIndex:"connectedAt",key:"connectedAt",hideInSearch:!0,valueType:"dateTime"},{title:s("audit.connection_duration"),dataIndex:"connectionDuration",key:"connectionDuration",hideInSearch:!0},{title:s("audit.recording_size"),dataIndex:"recordingSize",key:"recordingSize",hideInSearch:!0,render:(t,a)=>{const r=a.commandCount;return e.jsxs("div",{children:[e.jsx("div",{children:U(a.recordingSize)}),r>0&&e.jsxs(g.Text,{type:"secondary",children:[s("sysops.command")," × ",r]})]})}},{title:s("audit.audit_status.label"),dataIndex:"auditStatus",key:"auditStatus",hideInSearch:!0,render:(t,a)=>D(a)},{title:s("actions.label"),valueType:"option",key:"option",render:(t,a)=>{const r=a.recordingSize<=0;return[e.jsx(p,{disabled:r,type:"link",size:"small",onClick:()=>{switch(a.protocol){case"ssh":case"telnet":window.open(`/terminal-playback?sessionId=${a.id}`,"_blank");break;case"rdp":case"vnc":window.open(`/graphics-playback?sessionId=${a.id}`,"_blank");break}},children:s("audit.options.playback")},"playback"),e.jsx(B,{title:s("general.confirm_delete"),onConfirm:async()=>{await l.deleteById(a.id),d.current?.reload()},children:e.jsx(v,{danger:!0,children:s("actions.delete")})},"delete-confirm")]}}];return e.jsxs("div",{children:[e.jsx(q,{defaultSize:"small",columns:R,actionRef:d,request:async(t={},a)=>{const[r,x]=V(a),A=await l.getPaging({pageIndex:t.current,pageSize:t.pageSize,order:r,field:x,status:"disconnected",clientIp:t.clientIp,protocol:t.protocol,assetName:t.assetName,userAccount:t.userAccount});return{data:A.items,success:!0,total:A.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:s("menus.log_audit.submenus.offline_session"),rowSelection:{selections:[w.SELECTION_ALL,w.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:t})=>e.jsx(f,{size:16,children:e.jsx(v,{danger:!0,loading:I.isPending,onClick:()=>I.mutate(t.join(",")),children:s("actions.delete")})}),toolBarRender:()=>[e.jsx(p,{type:"primary",danger:!0,onClick:()=>{C.confirm({title:s("general.clear_confirm"),onOk:()=>P.mutate()})},children:s("actions.clear")},"clear")],polling:5e3}),e.jsx(G,{open:u,sessionId:n,onClose:()=>b(!1)})]})};export{ie as default}; diff --git a/server/resource/build/assets/OidcCallback-Ceurjycx.js b/server/resource/build/assets/OidcCallback-qbNXTZur.js similarity index 91% rename from server/resource/build/assets/OidcCallback-Ceurjycx.js rename to server/resource/build/assets/OidcCallback-qbNXTZur.js index 7e89eb268..33f4ab1ff 100644 --- a/server/resource/build/assets/OidcCallback-Ceurjycx.js +++ b/server/resource/build/assets/OidcCallback-qbNXTZur.js @@ -1 +1 @@ -import{f as c,S as t,ar as l,aZ as m}from"./antd-Afm2kNt7.js";import{b as u,a as g,u as d,h as f,l as x}from"./index-BdfI9ZEv.js";import{o as p}from"./oidc-api-BsaBtN-M.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const y=()=>{const[n]=u(),s=g(),{t:o}=d(),a=f({mutationFn:({code:e,state:r})=>p.login(e,r),onSuccess:e=>{x(e.token),sessionStorage.removeItem("current"),sessionStorage.removeItem("openKeys"),s("/")},onError:e=>{console.error("OIDC login failed:",e),s(`/login?error=${e.message}`)},retry:!1});return c.useEffect(()=>{const e=n.get("code"),r=n.get("state"),i=sessionStorage.getItem("oidc_state");if(!e){s("/login?error=oidc_cancelled");return}if(!r){console.error("Missing state parameter"),s("/login?error=invalid_state");return}if(i&&r!==i){console.error("State mismatch"),s("/login?error=state_mismatch");return}sessionStorage.removeItem("oidc_state"),a.mutate({code:e,state:r})},[]),a.isPending?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx(l,{size:"large"}),t.jsx("div",{className:"mt-4 text-lg",children:o("account.login.processing")})]})}):a.isError?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsx(m,{status:"error",title:o("account.login.failed"),subTitle:o("account.login.oidc_error"),extra:[t.jsx("button",{className:"px-4 py-2 bg-blue-500 text-white rounded",onClick:()=>s("/login"),children:o("account.login.back_to_login")},"retry")]})}):null};export{y as default}; +import{f as c,S as t,ar as l,aZ as m}from"./antd-Afm2kNt7.js";import{b as u,a as g,u as d,h as f,l as x}from"./index-DQXwuKC5.js";import{o as p}from"./oidc-api-DdlmoOii.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const y=()=>{const[n]=u(),s=g(),{t:o}=d(),a=f({mutationFn:({code:e,state:r})=>p.login(e,r),onSuccess:e=>{x(e.token),sessionStorage.removeItem("current"),sessionStorage.removeItem("openKeys"),s("/")},onError:e=>{console.error("OIDC login failed:",e),s(`/login?error=${e.message}`)},retry:!1});return c.useEffect(()=>{const e=n.get("code"),r=n.get("state"),i=sessionStorage.getItem("oidc_state");if(!e){s("/login?error=oidc_cancelled");return}if(!r){console.error("Missing state parameter"),s("/login?error=invalid_state");return}if(i&&r!==i){console.error("State mismatch"),s("/login?error=state_mismatch");return}sessionStorage.removeItem("oidc_state"),a.mutate({code:e,state:r})},[]),a.isPending?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx(l,{size:"large"}),t.jsx("div",{className:"mt-4 text-lg",children:o("account.login.processing")})]})}):a.isError?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsx(m,{status:"error",title:o("account.login.failed"),subTitle:o("account.login.oidc_error"),extra:[t.jsx("button",{className:"px-4 py-2 bg-blue-500 text-white rounded",onClick:()=>s("/login"),children:o("account.login.back_to_login")},"retry")]})}):null};export{y as default}; diff --git a/server/resource/build/assets/OidcClientPage-DILLx2b5.js b/server/resource/build/assets/OidcClientPage-DeSDpT3L.js similarity index 98% rename from server/resource/build/assets/OidcClientPage-DILLx2b5.js rename to server/resource/build/assets/OidcClientPage-DeSDpT3L.js index 25d609612..834fcc023 100644 --- a/server/resource/build/assets/OidcClientPage-DILLx2b5.js +++ b/server/resource/build/assets/OidcClientPage-DeSDpT3L.js @@ -1,2 +1,2 @@ -var L=Object.defineProperty;var D=(e,l,d)=>l in e?L(e,l,{enumerable:!0,configurable:!0,writable:!0,value:d}):e[l]=d;var b=(e,l,d)=>D(e,typeof l!="symbol"?l+"":l,d);import{f as h,S as t,U as E,aK as M,aT as g,b$ as N,aN as v,aV as W,bH as G,aL as T,aU as H,aI as V,bi as f,az as J,aS as j,bI as Q,bz as X,a_ as k,av as P,bd as q}from"./antd-Afm2kNt7.js";import{A as Y,r as A,u as O,h as w}from"./index-BdfI9ZEv.js";import{g as Z}from"./sort-BOdE-yay.js";import{N as R}from"./NButton-DoPcvKBF.js";import{u as ee}from"./user-api-LAxz6xgj.js";import{d as te}from"./department-api-BBDEkNE1.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class ie extends Y{constructor(){super("admin/oidc-clients");b(this,"regenerateSecret",async d=>await A.post(`/${this.group}/${d}/regenerate-secret`,{}));b(this,"updateStatus",async(d,u)=>{await A.patch(`/${this.group}/${d}/status`,{status:u})})}}const U=new ie,ne=({visible:e,onOk:l,onCancel:d,confirmLoading:u,id:p})=>{const m=h.useRef(null),{t:i}=O(),x=async()=>{if(p){const s=await U.getById(p);return{...s,redirectUris:(s.redirectUris||[]).map(a=>({url:a})),accessControl:s.accessControl||"all"}}return{grantTypes:["authorization_code","refresh_token"],scopes:["openid","profile","email"],redirectUris:[],accessControl:"all"}},_=async s=>{s.redirectUris&&Array.isArray(s.redirectUris)&&(s.redirectUris=s.redirectUris.map(a=>(a?.url??"").trim()).filter(a=>a)),await l(s)};return t.jsx(E,{title:i(p?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{m.current?.validateFields().then(_)},onCancel:d,confirmLoading:u,width:700,children:t.jsxs(M,{formRef:m,request:x,submitter:!1,children:[t.jsx(g,{hidden:!0,name:"id"}),t.jsx(g,{name:"name",label:i("general.name"),rules:[{required:!0,message:i("identity.oidc_client.name_required")}],placeholder:i("identity.oidc_client.name_placeholder")}),t.jsx(g,{name:"clientId",label:i("identity.oidc_client.client_id_label"),rules:[{required:!0,message:i("identity.oidc_client.client_id_required")}],placeholder:i("identity.oidc_client.client_id_placeholder"),disabled:!!p,tooltip:p?i("identity.oidc_client.client_id_tooltip"):void 0}),t.jsx(N,{name:"redirectUris",label:i("identity.oidc_client.redirect_uris"),rules:[{validator:async(s,a)=>!a||a.length===0?Promise.reject(new Error(i("identity.oidc_client.redirect_uris_required"))):Promise.resolve()}],creatorButtonProps:{creatorButtonText:i("identity.oidc_client.redirect_uris_add")},min:1,copyIconProps:!1,alwaysShowItemLabel:!1,itemRender:({listDom:s,action:a},{index:c})=>t.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[t.jsx("div",{style:{flex:1},children:s}),a]}),children:t.jsx(g,{name:"url",rules:[{required:!0,message:i("identity.oidc_client.redirect_uri_required")},{type:"url",message:i("general.invalid_url")}],placeholder:"https://example.com/callback"})}),t.jsx(v.Group,{name:"grantTypes",label:i("identity.oidc_client.grant_types"),rules:[{required:!0,message:i("identity.oidc_client.grant_types_required")}],options:[{label:"Authorization Code",value:"authorization_code"},{label:"Refresh Token",value:"refresh_token"},{label:"Client Credentials",value:"client_credentials"}]}),t.jsx(v.Group,{name:"scopes",label:i("identity.oidc_client.scopes"),rules:[{required:!0,message:i("identity.oidc_client.scopes_required")}],options:[{label:"OpenID",value:"openid"},{label:"Profile",value:"profile"},{label:"Email",value:"email"},{label:"Offline Access",value:"offline_access"}]}),t.jsx(W.Group,{name:"accessControl",label:i("identity.oidc_client.access_control"),tooltip:i("identity.oidc_client.access_control_tip"),initialValue:"all",options:[{label:i("identity.oidc_client.access_all_users"),value:"all"},{label:i("identity.oidc_client.access_departments"),value:"department"},{label:i("identity.oidc_client.access_users"),value:"user"}]}),t.jsx(G,{name:["accessControl"],children:({accessControl:s})=>s==="user"?t.jsx(T,{name:"boundUserIds",label:i("identity.oidc_client.bound_users"),placeholder:i("identity.oidc_client.bound_users_placeholder"),mode:"multiple",fieldProps:{showSearch:!0,filterOption:(a,c)=>(c?.label??"").toLowerCase().includes(a.toLowerCase())},request:async()=>(await ee.getAll()).map(c=>({label:`${c.nickname} (${c.username})`,value:c.id})),rules:[{required:!0,message:i("identity.oidc_client.bound_users_required")}]}):s==="department"?t.jsx(T,{name:"boundDepartmentIds",label:i("identity.oidc_client.bound_departments"),placeholder:i("identity.oidc_client.bound_departments_placeholder"),mode:"multiple",fieldProps:{showSearch:!0,filterOption:(a,c)=>(c?.label??"").toLowerCase().includes(a.toLowerCase())},request:async()=>(await te.getAll()).map(c=>({label:c.name,value:c.id})),rules:[{required:!0,message:i("identity.oidc_client.bound_departments_required")}]}):null}),t.jsx(H,{name:"description",label:i("general.description"),placeholder:i("identity.oidc_client.description_placeholder"),fieldProps:{rows:3}})]})})},y=U,_e=()=>{const{t:e}=O(),l=h.useRef(null);let[d,u]=h.useState(!1),[p,m]=h.useState(),[i,x]=h.useState(),{message:_,modal:s}=V.useApp(),c=w({mutationFn:async n=>{if(n.id)await y.updateById(n.id,n);else{let r=await y.create(n);s.success({title:e("identity.oidc_client.created_success"),content:t.jsxs("div",{children:[t.jsxs("div",{children:[t.jsxs("strong",{children:[e("settings.oidc.client_id"),":"]})," ",r.client.clientId]}),t.jsxs("div",{children:[t.jsxs("strong",{children:[e("settings.oidc.client_secret"),":"]})," ",r.secret]}),t.jsx("div",{className:"text-red-500 mt-2",children:e("identity.oidc_client.created_copy_tip")})]}),okText:e("actions.copy"),onOk:()=>{q(`Client ID: ${r.client.clientId} +var L=Object.defineProperty;var D=(e,l,d)=>l in e?L(e,l,{enumerable:!0,configurable:!0,writable:!0,value:d}):e[l]=d;var b=(e,l,d)=>D(e,typeof l!="symbol"?l+"":l,d);import{f as h,S as t,U as E,aK as M,aT as g,b$ as N,aN as v,aV as W,bH as G,aL as T,aU as H,aI as V,bi as f,az as J,aS as j,bI as Q,bz as X,a_ as k,av as P,bd as q}from"./antd-Afm2kNt7.js";import{A as Y,r as A,u as O,h as w}from"./index-DQXwuKC5.js";import{g as Z}from"./sort-BOdE-yay.js";import{N as R}from"./NButton-DoPcvKBF.js";import{u as ee}from"./user-api-BJxKseSg.js";import{d as te}from"./department-api-fa0GHZbt.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class ie extends Y{constructor(){super("admin/oidc-clients");b(this,"regenerateSecret",async d=>await A.post(`/${this.group}/${d}/regenerate-secret`,{}));b(this,"updateStatus",async(d,u)=>{await A.patch(`/${this.group}/${d}/status`,{status:u})})}}const U=new ie,ne=({visible:e,onOk:l,onCancel:d,confirmLoading:u,id:p})=>{const m=h.useRef(null),{t:i}=O(),x=async()=>{if(p){const s=await U.getById(p);return{...s,redirectUris:(s.redirectUris||[]).map(a=>({url:a})),accessControl:s.accessControl||"all"}}return{grantTypes:["authorization_code","refresh_token"],scopes:["openid","profile","email"],redirectUris:[],accessControl:"all"}},_=async s=>{s.redirectUris&&Array.isArray(s.redirectUris)&&(s.redirectUris=s.redirectUris.map(a=>(a?.url??"").trim()).filter(a=>a)),await l(s)};return t.jsx(E,{title:i(p?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{m.current?.validateFields().then(_)},onCancel:d,confirmLoading:u,width:700,children:t.jsxs(M,{formRef:m,request:x,submitter:!1,children:[t.jsx(g,{hidden:!0,name:"id"}),t.jsx(g,{name:"name",label:i("general.name"),rules:[{required:!0,message:i("identity.oidc_client.name_required")}],placeholder:i("identity.oidc_client.name_placeholder")}),t.jsx(g,{name:"clientId",label:i("identity.oidc_client.client_id_label"),rules:[{required:!0,message:i("identity.oidc_client.client_id_required")}],placeholder:i("identity.oidc_client.client_id_placeholder"),disabled:!!p,tooltip:p?i("identity.oidc_client.client_id_tooltip"):void 0}),t.jsx(N,{name:"redirectUris",label:i("identity.oidc_client.redirect_uris"),rules:[{validator:async(s,a)=>!a||a.length===0?Promise.reject(new Error(i("identity.oidc_client.redirect_uris_required"))):Promise.resolve()}],creatorButtonProps:{creatorButtonText:i("identity.oidc_client.redirect_uris_add")},min:1,copyIconProps:!1,alwaysShowItemLabel:!1,itemRender:({listDom:s,action:a},{index:c})=>t.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[t.jsx("div",{style:{flex:1},children:s}),a]}),children:t.jsx(g,{name:"url",rules:[{required:!0,message:i("identity.oidc_client.redirect_uri_required")},{type:"url",message:i("general.invalid_url")}],placeholder:"https://example.com/callback"})}),t.jsx(v.Group,{name:"grantTypes",label:i("identity.oidc_client.grant_types"),rules:[{required:!0,message:i("identity.oidc_client.grant_types_required")}],options:[{label:"Authorization Code",value:"authorization_code"},{label:"Refresh Token",value:"refresh_token"},{label:"Client Credentials",value:"client_credentials"}]}),t.jsx(v.Group,{name:"scopes",label:i("identity.oidc_client.scopes"),rules:[{required:!0,message:i("identity.oidc_client.scopes_required")}],options:[{label:"OpenID",value:"openid"},{label:"Profile",value:"profile"},{label:"Email",value:"email"},{label:"Offline Access",value:"offline_access"}]}),t.jsx(W.Group,{name:"accessControl",label:i("identity.oidc_client.access_control"),tooltip:i("identity.oidc_client.access_control_tip"),initialValue:"all",options:[{label:i("identity.oidc_client.access_all_users"),value:"all"},{label:i("identity.oidc_client.access_departments"),value:"department"},{label:i("identity.oidc_client.access_users"),value:"user"}]}),t.jsx(G,{name:["accessControl"],children:({accessControl:s})=>s==="user"?t.jsx(T,{name:"boundUserIds",label:i("identity.oidc_client.bound_users"),placeholder:i("identity.oidc_client.bound_users_placeholder"),mode:"multiple",fieldProps:{showSearch:!0,filterOption:(a,c)=>(c?.label??"").toLowerCase().includes(a.toLowerCase())},request:async()=>(await ee.getAll()).map(c=>({label:`${c.nickname} (${c.username})`,value:c.id})),rules:[{required:!0,message:i("identity.oidc_client.bound_users_required")}]}):s==="department"?t.jsx(T,{name:"boundDepartmentIds",label:i("identity.oidc_client.bound_departments"),placeholder:i("identity.oidc_client.bound_departments_placeholder"),mode:"multiple",fieldProps:{showSearch:!0,filterOption:(a,c)=>(c?.label??"").toLowerCase().includes(a.toLowerCase())},request:async()=>(await te.getAll()).map(c=>({label:c.name,value:c.id})),rules:[{required:!0,message:i("identity.oidc_client.bound_departments_required")}]}):null}),t.jsx(H,{name:"description",label:i("general.description"),placeholder:i("identity.oidc_client.description_placeholder"),fieldProps:{rows:3}})]})})},y=U,_e=()=>{const{t:e}=O(),l=h.useRef(null);let[d,u]=h.useState(!1),[p,m]=h.useState(),[i,x]=h.useState(),{message:_,modal:s}=V.useApp(),c=w({mutationFn:async n=>{if(n.id)await y.updateById(n.id,n);else{let r=await y.create(n);s.success({title:e("identity.oidc_client.created_success"),content:t.jsxs("div",{children:[t.jsxs("div",{children:[t.jsxs("strong",{children:[e("settings.oidc.client_id"),":"]})," ",r.client.clientId]}),t.jsxs("div",{children:[t.jsxs("strong",{children:[e("settings.oidc.client_secret"),":"]})," ",r.secret]}),t.jsx("div",{className:"text-red-500 mt-2",children:e("identity.oidc_client.created_copy_tip")})]}),okText:e("actions.copy"),onOk:()=>{q(`Client ID: ${r.client.clientId} Client Secret: ${r.secret}`),_.success(e("general.copy_success"))}})}},onSuccess:()=>{l.current?.reload(),u(!1),m(void 0),_.success(e("general.success"))}});const S=()=>{_.success(e("general.success"))},C=async n=>{await y.deleteById(n.join(",")),S(),l.current?.reload(),x([])},F=w({mutationFn:({id:n,status:r})=>y.updateStatus(n,r),onSuccess:()=>{l.current?.reload(),S()}}),z=w({mutationFn:n=>y.regenerateSecret(n),onSuccess:n=>{s.success({title:e("identity.oidc_client.secret_regenerated"),content:t.jsxs("div",{children:[t.jsxs("div",{children:[t.jsxs("strong",{children:[e("identity.oidc_client.new_secret_label"),":"]})," ",n.clientSecret]}),t.jsx("div",{className:"text-red-500 mt-2",children:e("identity.oidc_client.new_secret_tip")})]}),okText:e("actions.copy"),onOk:()=>{q(n.clientSecret),_.success(e("general.copy_success"))}})}}),K=[{title:e("general.name"),dataIndex:"name",fixed:"left"},{title:e("identity.oidc_client.client_id_label"),dataIndex:"clientId",copyable:!0},{title:e("identity.oidc_client.redirect_uris"),dataIndex:"redirectUris",search:!1,render:(n,r)=>r.redirectUris?.map(o=>t.jsx(f,{children:o},o))},{title:e("identity.oidc_client.grant_types"),dataIndex:"grantTypes",search:!1,render:(n,r)=>r.grantTypes?.map(o=>t.jsx(f,{children:o},o))},{title:e("identity.oidc_client.scopes"),dataIndex:"scopes",search:!1,render:(n,r)=>r.scopes?.map(o=>t.jsx(f,{children:o},o))},{title:e("general.status"),dataIndex:"status",valueType:"select",valueEnum:{enabled:{text:e("general.enabled"),status:"Success"},disabled:{text:e("general.disabled"),status:"Default"}},render:(n,r)=>t.jsx(J,{checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled"),checked:r.status==="enabled",onChange:o=>{F.mutate({id:r.id,status:o?"enabled":"disabled"})}})},{title:e("general.description"),dataIndex:"description",search:!1,ellipsis:!0},{title:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime",search:!1,sorter:!0},{title:e("actions.label"),valueType:"option",fixed:"right",render:(n,r)=>[t.jsx(R,{onClick:()=>{m(r.id),u(!0)},children:e("actions.edit")},"edit"),t.jsx(j,{title:e("identity.oidc_client.regenerate_secret"),description:e("identity.oidc_client.regenerate_secret_confirm"),onConfirm:async()=>{z.mutate(r.id)},okText:e("actions.confirm"),cancelText:e("actions.cancel"),children:t.jsx(R,{danger:!0,children:e("identity.oidc_client.regenerate_secret")})},"regenerate"),t.jsx(Q,{menus:[{key:"delete",name:t.jsx(j,{title:e("general.confirm_delete"),onConfirm:async()=>{await C([r.id])},okText:e("actions.confirm"),cancelText:e("actions.cancel"),children:e("actions.delete")})}]},"actionGroup")]}];return t.jsxs(t.Fragment,{children:[t.jsx(X,{columns:K,actionRef:l,request:async(n={},r)=>{let[o,$]=Z(r),B={pageIndex:n.current,pageSize:n.pageSize,order:o,field:$,name:n.name,clientId:n.clientId,status:n.status},I=await y.getPaging(B);return{data:I.items,success:!0,total:I.total}},columnsState:{persistenceKey:"oidc-client-table-show",persistenceType:"localStorage"},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},scroll:{x:"max-content"},dateFormatter:"string",headerTitle:e("identity.oidc_client.title"),toolBarRender:()=>[t.jsx(P,{type:"primary",onClick:()=>{m(void 0),u(!0)},children:e("actions.new")},"button")],rowSelection:{selectedRowKeys:i,onChange:n=>{x(n)}},tableAlertRender:({selectedRowKeys:n,onCleanSelected:r})=>t.jsx(k,{size:16,children:t.jsxs("span",{children:[e("identity.oidc_client.selected_count",{count:n.length}),t.jsx("a",{style:{marginInlineStart:8},onClick:r,children:e("actions.cancel")})]})}),tableAlertOptionRender:({selectedRowKeys:n,onCleanSelected:r})=>t.jsx(k,{size:16,children:t.jsx(j,{title:e("general.confirm_delete"),onConfirm:async()=>{await C(n),r()},okText:e("actions.confirm"),cancelText:e("actions.cancel"),children:t.jsx(P,{type:"link",size:"small",children:e("actions.batch_delete")})})})}),t.jsx(ne,{id:p,visible:d,onOk:async n=>{await c.mutateAsync(n)},confirmLoading:c.isPending,onCancel:()=>{u(!1),m(void 0)}})]})};export{_e as default}; diff --git a/server/resource/build/assets/OidcServerConsent-Cp7AAUPq.js b/server/resource/build/assets/OidcServerConsent-zcgmhrgY.js similarity index 98% rename from server/resource/build/assets/OidcServerConsent-Cp7AAUPq.js rename to server/resource/build/assets/OidcServerConsent-zcgmhrgY.js index a7ff0b838..efd3cdd5e 100644 --- a/server/resource/build/assets/OidcServerConsent-Cp7AAUPq.js +++ b/server/resource/build/assets/OidcServerConsent-zcgmhrgY.js @@ -1 +1 @@ -import{f as a,S as e,ar as D,b0 as u,aY as P,a$ as R,bE as z,ai as E,be as y,a_ as _,av as b,bF as q,bG as A}from"./antd-Afm2kNt7.js";import{u as T,b as O,a as $,g as m}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const{Title:F,Text:l}=R,B=()=>{const{t}=T(),[r]=O(),x=$(),[N,p]=a.useState(!0),[h,f]=a.useState(!1),[n,v]=a.useState(null),[d,g]=a.useState([]),[i,w]=a.useState(null),I={openid:t("account.oidc_consent.scope.openid"),profile:t("account.oidc_consent.scope.profile"),email:t("account.oidc_consent.scope.email"),offline_access:t("account.oidc_consent.scope.offline_access")};a.useEffect(()=>{S()},[]);const S=async()=>{try{const s=r.get("client_id"),o=r.get("scopes"),c=r.get("return_url");if(!s||!o||!c)throw new Error("Missing required parameters");const[j,k]=await Promise.all([m.getOidcConsentPage(s,o,c,void 0),m.getUserInfo()]);v(j),w(k),g(j.scopes),p(!1)}catch(s){console.error("Failed to load consent page data:",s),p(!1)}},C=async()=>{if(n){f(!0);try{const s=r.get("client_id"),o=r.get("return_url");if(!s||!o)throw new Error("Missing required parameters");const c=await m.submitOidcConsent(s,o,!0,d);c&&c.return_url?window.location.href=c.return_url:x("/")}catch(s){console.error("Authorization failed:",s),f(!1)}}},U=()=>{if(n&&n.redirectURI){const s=new URL(n.redirectURI);s.searchParams.set("error","access_denied"),s.searchParams.set("error_description","User denied consent"),n.state&&s.searchParams.set("state",n.state),window.location.href=s.toString()}else x("/")};return N?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"100vh",padding:"16px"},children:e.jsx(D,{size:"large",tip:t("general.loading")})}):n?e.jsx("div",{className:"flex justify-center items-center min-h-screen bg-gray-100 p-4",children:e.jsxs(P,{className:"w-full shadow-md",style:{maxWidth:460},styles:{body:{padding:"24px"}},children:[e.jsxs("div",{className:"text-center mb-5",children:[e.jsx(F,{level:3,className:"mt-3 mb-1",children:t("account.oidc_consent.title")}),e.jsx(l,{type:"secondary",className:"text-[13px]",children:t("account.oidc_consent.subtitle")})]}),e.jsxs("div",{className:"flex flex-col gap-4",children:[i&&e.jsx("div",{className:"bg-gray-50 rounded-lg p-3 mb-4 border border-gray-200",children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(z,{size:40,icon:e.jsx(E,{}),className:"bg-blue-500 flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx(l,{type:"secondary",className:"text-xs block mb-0.5",children:t("account.oidc_consent.current_account")}),e.jsx(l,{strong:!0,className:"text-sm block",children:i.nickname||i.username}),i.email&&e.jsx(l,{type:"secondary",className:"text-xs",children:i.email})]})]})}),e.jsx(u,{message:e.jsxs("span",{className:"text-[13px]",children:[e.jsx("strong",{children:n.clientID})," ",t("account.oidc_consent.request_access")]}),description:e.jsx("span",{className:"text-xs",children:t("account.oidc_consent.request_access_desc")}),type:"info",showIcon:!0}),e.jsxs("div",{children:[e.jsx(l,{strong:!0,className:"block mb-3 text-sm",children:t("account.oidc_consent.requested_scopes")}),e.jsx(y.Group,{value:d,onChange:s=>g(s),className:"w-full",children:e.jsx(_,{direction:"vertical",className:"w-full",size:8,children:n.scopes.map(s=>e.jsx(y,{value:s,children:e.jsxs("div",{className:"ml-2",children:[e.jsx("div",{className:"font-medium text-[13px] mb-0.5",children:s}),e.jsx("div",{className:"text-xs text-gray-500",children:I[s]||t("account.oidc_consent.scope.default")})]})},s))})})]}),e.jsx(u,{message:e.jsx("span",{className:"text-xs",children:t("account.oidc_consent.warning",{clientId:n.clientID})}),type:"warning",showIcon:!1,className:"px-3 py-2"}),e.jsxs(_,{className:"w-full justify-end",size:"middle",children:[e.jsx(b,{icon:e.jsx(q,{}),onClick:U,disabled:h,children:t("identity.policy.action.reject")}),e.jsx(b,{type:"primary",icon:e.jsx(A,{}),onClick:C,loading:h,disabled:d.length===0,children:t("actions.authorized")})]})]})]})}):e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"100vh",padding:"16px"},children:e.jsx(u,{message:t("general.error"),description:t("account.oidc_consent.load_error"),type:"error",showIcon:!0,style:{maxWidth:400,width:"100%"}})})};export{B as default}; +import{f as a,S as e,ar as D,b0 as u,aY as P,a$ as R,bE as z,ai as E,be as y,a_ as _,av as b,bF as q,bG as A}from"./antd-Afm2kNt7.js";import{u as T,b as O,a as $,g as m}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const{Title:F,Text:l}=R,B=()=>{const{t}=T(),[r]=O(),x=$(),[N,p]=a.useState(!0),[h,f]=a.useState(!1),[n,v]=a.useState(null),[d,g]=a.useState([]),[i,w]=a.useState(null),I={openid:t("account.oidc_consent.scope.openid"),profile:t("account.oidc_consent.scope.profile"),email:t("account.oidc_consent.scope.email"),offline_access:t("account.oidc_consent.scope.offline_access")};a.useEffect(()=>{S()},[]);const S=async()=>{try{const s=r.get("client_id"),o=r.get("scopes"),c=r.get("return_url");if(!s||!o||!c)throw new Error("Missing required parameters");const[j,k]=await Promise.all([m.getOidcConsentPage(s,o,c,void 0),m.getUserInfo()]);v(j),w(k),g(j.scopes),p(!1)}catch(s){console.error("Failed to load consent page data:",s),p(!1)}},C=async()=>{if(n){f(!0);try{const s=r.get("client_id"),o=r.get("return_url");if(!s||!o)throw new Error("Missing required parameters");const c=await m.submitOidcConsent(s,o,!0,d);c&&c.return_url?window.location.href=c.return_url:x("/")}catch(s){console.error("Authorization failed:",s),f(!1)}}},U=()=>{if(n&&n.redirectURI){const s=new URL(n.redirectURI);s.searchParams.set("error","access_denied"),s.searchParams.set("error_description","User denied consent"),n.state&&s.searchParams.set("state",n.state),window.location.href=s.toString()}else x("/")};return N?e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"100vh",padding:"16px"},children:e.jsx(D,{size:"large",tip:t("general.loading")})}):n?e.jsx("div",{className:"flex justify-center items-center min-h-screen bg-gray-100 p-4",children:e.jsxs(P,{className:"w-full shadow-md",style:{maxWidth:460},styles:{body:{padding:"24px"}},children:[e.jsxs("div",{className:"text-center mb-5",children:[e.jsx(F,{level:3,className:"mt-3 mb-1",children:t("account.oidc_consent.title")}),e.jsx(l,{type:"secondary",className:"text-[13px]",children:t("account.oidc_consent.subtitle")})]}),e.jsxs("div",{className:"flex flex-col gap-4",children:[i&&e.jsx("div",{className:"bg-gray-50 rounded-lg p-3 mb-4 border border-gray-200",children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(z,{size:40,icon:e.jsx(E,{}),className:"bg-blue-500 flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx(l,{type:"secondary",className:"text-xs block mb-0.5",children:t("account.oidc_consent.current_account")}),e.jsx(l,{strong:!0,className:"text-sm block",children:i.nickname||i.username}),i.email&&e.jsx(l,{type:"secondary",className:"text-xs",children:i.email})]})]})}),e.jsx(u,{message:e.jsxs("span",{className:"text-[13px]",children:[e.jsx("strong",{children:n.clientID})," ",t("account.oidc_consent.request_access")]}),description:e.jsx("span",{className:"text-xs",children:t("account.oidc_consent.request_access_desc")}),type:"info",showIcon:!0}),e.jsxs("div",{children:[e.jsx(l,{strong:!0,className:"block mb-3 text-sm",children:t("account.oidc_consent.requested_scopes")}),e.jsx(y.Group,{value:d,onChange:s=>g(s),className:"w-full",children:e.jsx(_,{direction:"vertical",className:"w-full",size:8,children:n.scopes.map(s=>e.jsx(y,{value:s,children:e.jsxs("div",{className:"ml-2",children:[e.jsx("div",{className:"font-medium text-[13px] mb-0.5",children:s}),e.jsx("div",{className:"text-xs text-gray-500",children:I[s]||t("account.oidc_consent.scope.default")})]})},s))})})]}),e.jsx(u,{message:e.jsx("span",{className:"text-xs",children:t("account.oidc_consent.warning",{clientId:n.clientID})}),type:"warning",showIcon:!1,className:"px-3 py-2"}),e.jsxs(_,{className:"w-full justify-end",size:"middle",children:[e.jsx(b,{icon:e.jsx(q,{}),onClick:U,disabled:h,children:t("identity.policy.action.reject")}),e.jsx(b,{type:"primary",icon:e.jsx(A,{}),onClick:C,loading:h,disabled:d.length===0,children:t("actions.authorized")})]})]})]})}):e.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"100vh",padding:"16px"},children:e.jsx(u,{message:t("general.error"),description:t("account.oidc_consent.load_error"),type:"error",showIcon:!0,style:{maxWidth:400,width:"100%"}})})};export{B as default}; diff --git a/server/resource/build/assets/OnlineSessionPage-C4HtKXE7.js b/server/resource/build/assets/OnlineSessionPage-zbyIKEoo.js similarity index 95% rename from server/resource/build/assets/OnlineSessionPage-C4HtKXE7.js rename to server/resource/build/assets/OnlineSessionPage-zbyIKEoo.js index b1bbdf409..c019c9e61 100644 --- a/server/resource/build/assets/OnlineSessionPage-C4HtKXE7.js +++ b/server/resource/build/assets/OnlineSessionPage-zbyIKEoo.js @@ -1 +1 @@ -import{f,aI as g,S as t,a$ as d,ay as r,aS as y,bz as j}from"./antd-Afm2kNt7.js";import{g as v}from"./sort-BOdE-yay.js";import{s as u}from"./session-api-CdVNYxgO.js";import{N as p}from"./NButton-DoPcvKBF.js";import{c as I}from"./charts-DWBuA5Za.js";import{u as w,E as S}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const C=()=>{const{t:o}=w(),a=f.useRef(null),{message:m}=g.useApp(),x=[{title:o("menus.identity.submenus.user"),dataIndex:"userAccount",key:"userAccount"},{title:o("menus.resource.submenus.asset"),dataIndex:"assetName",key:"assetName",render:(n,e)=>{let s=t.jsx("div",{children:n});const i=`${e.protocol} ${e.username}@${e.ip}:${e.port}`;return t.jsxs("div",{children:[s,t.jsx(d.Text,{type:"secondary",children:i})]})}},{title:o("audit.client_ip"),dataIndex:"clientIp",key:"clientIp",render:(n,e)=>{let s=t.jsx("div",{children:n});const i=e.region;return t.jsxs("div",{className:"flex items-center gap-2",children:[s,t.jsx(d.Text,{type:"secondary",children:i})]})}},{title:o("assets.protocol"),dataIndex:"protocol",key:"protocol",sorter:!0,render:(n,e)=>t.jsx("span",{className:I("rounded-md px-1.5 py-1 text-white font-bold",S(e.protocol)),style:{fontSize:9},children:e.protocol.toUpperCase()}),renderFormItem:(n,{type:e,defaultRender:s,...i},l)=>e==="form"?null:t.jsxs(r,{children:[t.jsx(r.Option,{value:"rdp",children:"RDP"}),t.jsx(r.Option,{value:"ssh",children:"SSH"}),t.jsx(r.Option,{value:"telnet",children:"Telnet"}),t.jsx(r.Option,{value:"vnc",children:"VNC"}),t.jsx(r.Option,{value:"kubernetes",children:"Kubernetes"})]})},{title:o("audit.connected_at"),dataIndex:"connectedAt",key:"connectedAt",hideInSearch:!0,valueType:"dateTime"},{title:o("audit.connection_duration"),dataIndex:"connectionDuration",key:"connectionDuration",hideInSearch:!0},{title:o("actions.label"),valueType:"option",key:"option",render:(n,e,s,i)=>[t.jsx(p,{onClick:()=>{switch(e.protocol){case"ssh":window.open(`/terminal-monitor?sessionId=${e.id}`,"_blank");break;case"rdp":case"vnc":window.open(`/graphics-monitor?sessionId=${e.id}`,"_blank");break;default:m.warning(o("audit.unknown_protocol",{protocol:e.protocol}))}},children:o("gateways.monitor.action")},"monitor"),t.jsx(y,{title:o("audit.options.disconnect.confirm"),onConfirm:async()=>{await u.disconnect(e.id),a.current?.reload()},children:t.jsx(p,{danger:!0,children:o("audit.options.disconnect.action")},"delete")},"confirm-disconnect")]}];return t.jsx("div",{children:t.jsx(j,{defaultSize:"small",columns:x,actionRef:a,request:async(n={},e,s)=>{let[i,l]=v(e),h={pageIndex:n.current,pageSize:n.pageSize,order:i,field:l,status:"connected",clientIp:n.clientIp,protocol:n.protocol,assetName:n.assetName,userAccount:n.userAccount},c=await u.getPaging(h);return{data:c.items,success:!0,total:c.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},polling:1e3,dateFormatter:"string",headerTitle:o("menus.log_audit.submenus.online_session"),toolBarRender:()=>[]})})};export{C as default}; +import{f,aI as g,S as t,a$ as d,ay as r,aS as y,bz as j}from"./antd-Afm2kNt7.js";import{g as v}from"./sort-BOdE-yay.js";import{s as u}from"./session-api-mmDQqQeA.js";import{N as p}from"./NButton-DoPcvKBF.js";import{c as I}from"./charts-DWBuA5Za.js";import{u as w,E as S}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const C=()=>{const{t:o}=w(),a=f.useRef(null),{message:m}=g.useApp(),x=[{title:o("menus.identity.submenus.user"),dataIndex:"userAccount",key:"userAccount"},{title:o("menus.resource.submenus.asset"),dataIndex:"assetName",key:"assetName",render:(n,e)=>{let s=t.jsx("div",{children:n});const i=`${e.protocol} ${e.username}@${e.ip}:${e.port}`;return t.jsxs("div",{children:[s,t.jsx(d.Text,{type:"secondary",children:i})]})}},{title:o("audit.client_ip"),dataIndex:"clientIp",key:"clientIp",render:(n,e)=>{let s=t.jsx("div",{children:n});const i=e.region;return t.jsxs("div",{className:"flex items-center gap-2",children:[s,t.jsx(d.Text,{type:"secondary",children:i})]})}},{title:o("assets.protocol"),dataIndex:"protocol",key:"protocol",sorter:!0,render:(n,e)=>t.jsx("span",{className:I("rounded-md px-1.5 py-1 text-white font-bold",S(e.protocol)),style:{fontSize:9},children:e.protocol.toUpperCase()}),renderFormItem:(n,{type:e,defaultRender:s,...i},l)=>e==="form"?null:t.jsxs(r,{children:[t.jsx(r.Option,{value:"rdp",children:"RDP"}),t.jsx(r.Option,{value:"ssh",children:"SSH"}),t.jsx(r.Option,{value:"telnet",children:"Telnet"}),t.jsx(r.Option,{value:"vnc",children:"VNC"}),t.jsx(r.Option,{value:"kubernetes",children:"Kubernetes"})]})},{title:o("audit.connected_at"),dataIndex:"connectedAt",key:"connectedAt",hideInSearch:!0,valueType:"dateTime"},{title:o("audit.connection_duration"),dataIndex:"connectionDuration",key:"connectionDuration",hideInSearch:!0},{title:o("actions.label"),valueType:"option",key:"option",render:(n,e,s,i)=>[t.jsx(p,{onClick:()=>{switch(e.protocol){case"ssh":window.open(`/terminal-monitor?sessionId=${e.id}`,"_blank");break;case"rdp":case"vnc":window.open(`/graphics-monitor?sessionId=${e.id}`,"_blank");break;default:m.warning(o("audit.unknown_protocol",{protocol:e.protocol}))}},children:o("gateways.monitor.action")},"monitor"),t.jsx(y,{title:o("audit.options.disconnect.confirm"),onConfirm:async()=>{await u.disconnect(e.id),a.current?.reload()},children:t.jsx(p,{danger:!0,children:o("audit.options.disconnect.action")},"delete")},"confirm-disconnect")]}];return t.jsx("div",{children:t.jsx(j,{defaultSize:"small",columns:x,actionRef:a,request:async(n={},e,s)=>{let[i,l]=v(e),h={pageIndex:n.current,pageSize:n.pageSize,order:i,field:l,status:"connected",clientIp:n.clientIp,protocol:n.protocol,assetName:n.assetName,userAccount:n.userAccount},c=await u.getPaging(h);return{data:c.items,success:!0,total:c.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},polling:1e3,dateFormatter:"string",headerTitle:o("menus.log_audit.submenus.online_session"),toolBarRender:()=>[]})})};export{C as default}; diff --git a/server/resource/build/assets/OperationLogPage-7stIEQaB.js b/server/resource/build/assets/OperationLogPage-BlAhFenm.js similarity index 97% rename from server/resource/build/assets/OperationLogPage-7stIEQaB.js rename to server/resource/build/assets/OperationLogPage-BlAhFenm.js index 2988e2137..263fa713e 100644 --- a/server/resource/build/assets/OperationLogPage-7stIEQaB.js +++ b/server/resource/build/assets/OperationLogPage-BlAhFenm.js @@ -1 +1 @@ -var x=Object.defineProperty;var f=(e,t,s)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var u=(e,t,s)=>f(e,typeof t!="symbol"?t+"":t,s);import{f as I,aI as y,S as i,bi as o,b2 as S,bz as A,av as k}from"./antd-Afm2kNt7.js";import{g as b}from"./sort-BOdE-yay.js";import{A as j,r as T,u as _,h as $}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class w extends j{constructor(){super("admin/operation-logs");u(this,"clear",async()=>{await T.post(`/${this.group}/clear`)})}}let c=new w;const C=()=>{const{t:e}=_(),t=I.useRef(null);let{modal:s}=y.useApp(),d=$({mutationFn:c.clear,onSuccess:()=>{t.current?.reload()}});const p=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("audit.operation.account"),dataIndex:"accountName",key:"accountName",hideInSearch:!0},{title:e("assets.type"),dataIndex:"action",key:"action",render:(a,r)=>{let n="blue";return r.action.includes("add")?n="green":r.action.includes("delete")&&(n="red"),i.jsx(o,{bordered:!1,color:n,children:e("audit.operation.options."+r.action.replaceAll("-","_"))})},hideInSearch:!0},{title:e("actions.detail"),dataIndex:"content",key:"content",hideInSearch:!0},{title:e("general.status"),dataIndex:"success",key:"success",hideInSearch:!0,render:(a,r)=>a==="failed"?i.jsx(S,{title:r.errorMessage,children:i.jsx(o,{color:"error",children:e("general.failed")})}):i.jsx(o,{color:"success",children:e("general.success")})},{title:e("audit.client_ip"),dataIndex:"ip",key:"ip",render:(a,r)=>`${a} (${r.region})`},{title:e("audit.user_agent"),dataIndex:"userAgent",key:"userAgent",hideInSearch:!0,render:(a,r)=>{let n=r.userAgent;return n?`${n?.OS} ${n?.OSVersion} ${n?.Name} ${n?.Version}`:"-"}},{title:e("audit.operation.at"),dataIndex:"createdAt",key:"createdAt",hideInSearch:!0,valueType:"dateTime",sorter:!0}];return i.jsx("div",{children:i.jsx(A,{defaultSize:"small",columns:p,actionRef:t,request:async(a={},r,n)=>{let[g,m]=b(r),h={pageIndex:a.current,pageSize:a.pageSize,order:g,field:m,username:a.username,clientIp:a.clientIp},l=await c.getPaging(h);return{data:l.items,success:!0,total:l.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.operation_log"),toolBarRender:()=>[i.jsx(k,{type:"primary",danger:!0,onClick:()=>{s.confirm({title:e("general.clear_confirm"),onOk:async()=>d.mutate()})},children:e("actions.clear")},"clear")]})})};export{C as default}; +var x=Object.defineProperty;var f=(e,t,s)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var u=(e,t,s)=>f(e,typeof t!="symbol"?t+"":t,s);import{f as I,aI as y,S as i,bi as o,b2 as S,bz as A,av as k}from"./antd-Afm2kNt7.js";import{g as b}from"./sort-BOdE-yay.js";import{A as j,r as T,u as _,h as $}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class w extends j{constructor(){super("admin/operation-logs");u(this,"clear",async()=>{await T.post(`/${this.group}/clear`)})}}let c=new w;const C=()=>{const{t:e}=_(),t=I.useRef(null);let{modal:s}=y.useApp(),d=$({mutationFn:c.clear,onSuccess:()=>{t.current?.reload()}});const p=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("audit.operation.account"),dataIndex:"accountName",key:"accountName",hideInSearch:!0},{title:e("assets.type"),dataIndex:"action",key:"action",render:(a,r)=>{let n="blue";return r.action.includes("add")?n="green":r.action.includes("delete")&&(n="red"),i.jsx(o,{bordered:!1,color:n,children:e("audit.operation.options."+r.action.replaceAll("-","_"))})},hideInSearch:!0},{title:e("actions.detail"),dataIndex:"content",key:"content",hideInSearch:!0},{title:e("general.status"),dataIndex:"success",key:"success",hideInSearch:!0,render:(a,r)=>a==="failed"?i.jsx(S,{title:r.errorMessage,children:i.jsx(o,{color:"error",children:e("general.failed")})}):i.jsx(o,{color:"success",children:e("general.success")})},{title:e("audit.client_ip"),dataIndex:"ip",key:"ip",render:(a,r)=>`${a} (${r.region})`},{title:e("audit.user_agent"),dataIndex:"userAgent",key:"userAgent",hideInSearch:!0,render:(a,r)=>{let n=r.userAgent;return n?`${n?.OS} ${n?.OSVersion} ${n?.Name} ${n?.Version}`:"-"}},{title:e("audit.operation.at"),dataIndex:"createdAt",key:"createdAt",hideInSearch:!0,valueType:"dateTime",sorter:!0}];return i.jsx("div",{children:i.jsx(A,{defaultSize:"small",columns:p,actionRef:t,request:async(a={},r,n)=>{let[g,m]=b(r),h={pageIndex:a.current,pageSize:a.pageSize,order:g,field:m,username:a.username,clientIp:a.clientIp},l=await c.getPaging(h);return{data:l.items,success:!0,total:l.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.log_audit.submenus.operation_log"),toolBarRender:()=>[i.jsx(k,{type:"primary",danger:!0,onClick:()=>{s.confirm({title:e("general.clear_confirm"),onOk:async()=>d.mutate()})},children:e("actions.clear")},"clear")]})})};export{C as default}; diff --git a/server/resource/build/assets/QuerySelects-DHrAMegb.js b/server/resource/build/assets/QuerySelects-HiP3pg4d.js similarity index 92% rename from server/resource/build/assets/QuerySelects-DHrAMegb.js rename to server/resource/build/assets/QuerySelects-HiP3pg4d.js index bd17c26de..f0fdc4732 100644 --- a/server/resource/build/assets/QuerySelects-DHrAMegb.js +++ b/server/resource/build/assets/QuerySelects-HiP3pg4d.js @@ -1 +1 @@ -import{f as s,S as d,ay as m}from"./antd-Afm2kNt7.js";import{u as g}from"./user-api-LAxz6xgj.js";import{d as y}from"./department-api-BBDEkNE1.js";import{a as b}from"./asset-api-CdGgZMNY.js";import{w as S}from"./website-api-rU4LiJu6.js";import{d as A}from"./database-asset-api-CCmdFIKr.js";import{u as w}from"./index-BdfI9ZEv.js";const v=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await g.getAll()).map(t=>({label:t.nickname||t.username,value:t.id}));u(r)}catch(e){console.error("Failed to fetch users:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.identity.submenus.user"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},F=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await y.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch departments:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.identity.submenus.department"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},W=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const e=await b.getGroups(),r=t=>{if(!t)return[];let h=[];return t.forEach(p=>{p.key!=="default"&&h.push({label:p.title||p.name,value:p.key}),p.children&&(h=h.concat(r(p.children)))}),h};u(r(e))}catch(e){console.error("Failed to fetch asset groups:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("authorised.label.asset_group"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},k=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await b.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch assets:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.resource.submenus.asset"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},D=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const e=await S.getGroups(),r=t=>{if(!t)return[];let h=[];return t.forEach(p=>{p.key!=="default"&&h.push({label:p.title||p.name,value:p.key}),p.children&&(h=h.concat(r(p.children)))}),h};u(r(e))}catch(e){console.error("Failed to fetch website groups:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("authorised.label.website_group"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},U=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await A.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch database assets:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.resource.submenus.database_asset"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},_=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await S.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch websites:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.resource.submenus.website"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})};export{k as A,F as D,v as U,_ as W,W as a,D as b,U as c}; +import{f as s,S as d,ay as m}from"./antd-Afm2kNt7.js";import{u as g}from"./user-api-BJxKseSg.js";import{d as y}from"./department-api-fa0GHZbt.js";import{a as b}from"./asset-api-1abjsV5s.js";import{w as S}from"./website-api-CiGWjL7L.js";import{d as A}from"./database-asset-api-BQeUyDt2.js";import{u as w}from"./index-DQXwuKC5.js";const v=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await g.getAll()).map(t=>({label:t.nickname||t.username,value:t.id}));u(r)}catch(e){console.error("Failed to fetch users:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.identity.submenus.user"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},F=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await y.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch departments:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.identity.submenus.department"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},W=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const e=await b.getGroups(),r=t=>{if(!t)return[];let h=[];return t.forEach(p=>{p.key!=="default"&&h.push({label:p.title||p.name,value:p.key}),p.children&&(h=h.concat(r(p.children)))}),h};u(r(e))}catch(e){console.error("Failed to fetch asset groups:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("authorised.label.asset_group"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},k=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await b.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch assets:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.resource.submenus.asset"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},D=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const e=await S.getGroups(),r=t=>{if(!t)return[];let h=[];return t.forEach(p=>{p.key!=="default"&&h.push({label:p.title||p.name,value:p.key}),p.children&&(h=h.concat(r(p.children)))}),h};u(r(e))}catch(e){console.error("Failed to fetch website groups:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("authorised.label.website_group"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},U=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await A.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch database assets:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.resource.submenus.database_asset"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})},_=({value:l,onChange:n})=>{const{t:c}=w(),[i,u]=s.useState([]),[f,a]=s.useState(!1);return s.useEffect(()=>{(async()=>{a(!0);try{const r=(await S.getAll()).map(t=>({label:t.name,value:t.id}));u(r)}catch(e){console.error("Failed to fetch websites:",e)}finally{a(!1)}})()},[]),d.jsx(m,{value:l,onChange:n,placeholder:c("menus.resource.submenus.website"),allowClear:!0,showSearch:!0,loading:f,options:i,filterOption:(o,e)=>(e?.label??"").toString().toLowerCase().includes(o.toLowerCase())})};export{k as A,F as D,v as U,_ as W,W as a,D as b,U as c}; diff --git a/server/resource/build/assets/RedirectPage-xjIE-7In.js b/server/resource/build/assets/RedirectPage-BghypuSI.js similarity index 86% rename from server/resource/build/assets/RedirectPage-xjIE-7In.js rename to server/resource/build/assets/RedirectPage-BghypuSI.js index 21abc9b03..ec1567bf4 100644 --- a/server/resource/build/assets/RedirectPage-xjIE-7In.js +++ b/server/resource/build/assets/RedirectPage-BghypuSI.js @@ -1 +1 @@ -import{f as r,S as t}from"./antd-Afm2kNt7.js";import{a as s,e as i,V as o,an as u,g as n}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const c=()=>{let e=s(),a=i({queryKey:["infoQuery"],queryFn:()=>n.getUserInfo()});return r.useEffect(()=>{if(!a.data)return;if(o()){e("/x-asset");return}a.data.type==="user"?e("/x-asset"):e("/dashboard")},[a.data]),t.jsx("div",{children:t.jsx(u,{})})};export{c as default}; +import{f as r,S as t}from"./antd-Afm2kNt7.js";import{a as s,e as i,V as o,an as u,g as n}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const c=()=>{let e=s(),a=i({queryKey:["infoQuery"],queryFn:()=>n.getUserInfo()});return r.useEffect(()=>{if(!a.data)return;if(o()){e("/x-asset");return}a.data.type==="user"?e("/x-asset"):e("/dashboard")},[a.data]),t.jsx("div",{children:t.jsx(u,{})})};export{c as default}; diff --git a/server/resource/build/assets/RoleDetail-BVoN2R-V.js b/server/resource/build/assets/RoleDetail-B5ZhMtSV.js similarity index 93% rename from server/resource/build/assets/RoleDetail-BVoN2R-V.js rename to server/resource/build/assets/RoleDetail-B5ZhMtSV.js index 50d7a0791..37776d3ed 100644 --- a/server/resource/build/assets/RoleDetail-BVoN2R-V.js +++ b/server/resource/build/assets/RoleDetail-B5ZhMtSV.js @@ -1 +1 @@ -import{f as h,S as r,bL as u,aP as b,b4 as k}from"./antd-Afm2kNt7.js";import{r as f}from"./role-api-BtBYGwtw.js";import{u as x,d as j,e as I,m as T,p as v,b as K,o as A}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const P=f,S=c=>{const s=new Set,n=i=>{if(i)for(const l of i)s.add(l.key),l.children&&n(l.children)};return n(c),s},w=({id:c})=>{let{t:s}=x(),[n,i]=h.useState([]),[l]=j();const m=async()=>{let a=await f.getMenus();return d("",a),a},d=(a,e)=>{for(let t=0;t{let a=await P.getById(c),e=a.menus?.filter(t=>t.checked===!0).map(t=>t.menuId).filter(Boolean);return i(e||[]),{success:!0,data:a}};return r.jsx("div",{className:"page-detail-info",children:r.jsxs(u,{column:1,request:y,children:[r.jsx(u.Item,{label:s("general.name"),dataIndex:"name"}),r.jsx(u.Item,{label:s("identity.role.permission"),dataIndex:"menus",render:()=>o.isLoading?r.jsx("div",{children:"Loading"}):r.jsx(b,{checkable:!0,disabled:!0,checkedKeys:o.data?n.filter(a=>S(o.data).has(a)):[],treeData:o.data,style:{backgroundColor:l.backgroundColor}})}),r.jsx(u.Item,{label:s("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})},N=()=>{let{t:c}=x();const n=v().roleId,[i,l]=K();let m=A(i.get("activeKey"),"detail"),[d,o]=h.useState(m);const y=e=>{o(e),l({activeKey:e})},a=[{label:c("actions.detail"),key:"detail",children:r.jsx(w,{id:n})}];return r.jsx("div",{className:"px-4",children:r.jsx(k,{activeKey:d,onChange:y,items:a})})};export{N as default}; +import{f as h,S as r,bL as u,aP as b,b4 as k}from"./antd-Afm2kNt7.js";import{r as f}from"./role-api-RbYCFKw-.js";import{u as x,d as j,e as I,m as T,p as v,b as K,o as A}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const P=f,S=c=>{const s=new Set,n=i=>{if(i)for(const l of i)s.add(l.key),l.children&&n(l.children)};return n(c),s},w=({id:c})=>{let{t:s}=x(),[n,i]=h.useState([]),[l]=j();const m=async()=>{let a=await f.getMenus();return d("",a),a},d=(a,e)=>{for(let t=0;t{let a=await P.getById(c),e=a.menus?.filter(t=>t.checked===!0).map(t=>t.menuId).filter(Boolean);return i(e||[]),{success:!0,data:a}};return r.jsx("div",{className:"page-detail-info",children:r.jsxs(u,{column:1,request:y,children:[r.jsx(u.Item,{label:s("general.name"),dataIndex:"name"}),r.jsx(u.Item,{label:s("identity.role.permission"),dataIndex:"menus",render:()=>o.isLoading?r.jsx("div",{children:"Loading"}):r.jsx(b,{checkable:!0,disabled:!0,checkedKeys:o.data?n.filter(a=>S(o.data).has(a)):[],treeData:o.data,style:{backgroundColor:l.backgroundColor}})}),r.jsx(u.Item,{label:s("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})},N=()=>{let{t:c}=x();const n=v().roleId,[i,l]=K();let m=A(i.get("activeKey"),"detail"),[d,o]=h.useState(m);const y=e=>{o(e),l({activeKey:e})},a=[{label:c("actions.detail"),key:"detail",children:r.jsx(w,{id:n})}];return r.jsx("div",{className:"px-4",children:r.jsx(k,{activeKey:d,onChange:y,items:a})})};export{N as default}; diff --git a/server/resource/build/assets/RolePage-C6MaXYBm.js b/server/resource/build/assets/RolePage-DqozdEe0.js similarity index 96% rename from server/resource/build/assets/RolePage-C6MaXYBm.js rename to server/resource/build/assets/RolePage-DqozdEe0.js index 732953a05..d8870417d 100644 --- a/server/resource/build/assets/RolePage-C6MaXYBm.js +++ b/server/resource/build/assets/RolePage-DqozdEe0.js @@ -1 +1 @@ -import{f as h,S as s,U as v,aK as A,aT as I,bs as F,aP as B,aI as O,aS as q,bz as M,av as z}from"./antd-Afm2kNt7.js";import{r as T}from"./role-api-BtBYGwtw.js";import{u as C,e as K,m as _,z as $,h as L,y as N,D}from"./index-BdfI9ZEv.js";import{g as E}from"./sort-BOdE-yay.js";import{N as b}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const U=T,P=(d,t,l=[])=>{if(!d)return[];for(const o of d){if(l.push(o.key),t(o))return l;if(o.children){const i=P(o.children,t,l);if(i.length)return i}l.pop()}return[]},J=d=>{const t=new Set,l=o=>{if(o)for(const i of o)t.add(i.key),i.children&&l(i.children)};return l(d),t},Q=({open:d,handleOk:t,handleCancel:l,confirmLoading:o,id:i})=>{let{t:c}=C();const f=h.useRef(null);let[w,j]=h.useState([]);const g=async()=>{if(i){let n=await U.getById(i),r=n.menus?.filter(e=>e.checked===!0).map(e=>e.menuId).filter(Boolean);return j(r||[]),n}return{}},S=async()=>{let n=await T.getMenus();return x("",n),n},x=(n,r)=>{for(let e=0;e{let r=new Set;for(let e=0;em.key===y);for(let m=0;mJSON.parse(e))})};return s.jsx(v,{title:c(i?"actions.edit":"actions.new"),open:d,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{f.current?.validateFields().then(async n=>{t(n)})},onCancel:()=>{l()},confirmLoading:o,children:s.jsxs(A,{formRef:f,request:g,submitter:!1,children:[s.jsx(I,{hidden:!0,name:"id"}),s.jsx(I,{name:"name",label:c("general.name"),rules:[{required:!0}]}),s.jsx(F.Item,{label:c("identity.role.permission"),name:"menus",rules:[{required:!0}],children:s.jsx(B,{checkable:!0,onCheck:u,checkedKeys:a.data?w.filter(n=>J(a.data).has(n)):[],treeData:a.data})})]})})},k=T,te=()=>{let{license:d}=$();const{t}=C(),l=h.useRef(null);let[o,i]=h.useState(!1),[c,f]=h.useState();const{message:w}=O.useApp();let g=L({mutationFn:async a=>{a.id?await k.updateById(a.id,a):await k.create(a)},onSuccess:()=>{l.current?.reload(),i(!1),f(void 0),S()}});function S(){w.open({type:"success",content:t("general.success")})}const x=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",render:(a,u)=>s.jsx("a",{onClick:()=>{i(!0),f(u.id)},children:a})},{title:t("identity.role.type"),dataIndex:"type",valueType:"radio",sorter:!0,valueEnum:{default:{text:t("identity.role.types.default")},new:{text:t("identity.role.types.new")}}},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:191},{title:t("actions.label"),valueType:"option",key:"option",width:160,render:(a,u,n,r)=>[s.jsx(b,{children:s.jsx(N,{to:`/role/${u.id}`,children:t("actions.detail")},"get")},"info"),s.jsx(b,{onClick:()=>{i(!0),f(u.id)},children:t("actions.edit")},"edit"),s.jsx(q,{title:t("general.confirm_delete"),onConfirm:async()=>{await k.deleteById(u.id),l.current?.reload()},children:s.jsx(b,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return s.jsx("div",{children:s.jsxs(D,{disabled:d.isFree(),children:[s.jsx(M,{columns:x,actionRef:l,request:async(a={},u,n)=>{let[r,e]=E(u),y={pageIndex:a.current,pageSize:a.pageSize,order:r,field:e,name:a.name,type:a.type},p=await k.getPaging(y);return{data:p.items,success:!0,total:p.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.identity.submenus.role"),toolBarRender:()=>[s.jsx(z,{type:"primary",onClick:()=>{i(!0)},children:t("actions.new")},"button")]}),s.jsx(Q,{id:c,open:o,confirmLoading:g.isPending,handleCancel:()=>{i(!1),f(void 0)},handleOk:g.mutate})]})})};export{te as default}; +import{f as h,S as s,U as v,aK as A,aT as I,bs as F,aP as B,aI as O,aS as q,bz as M,av as z}from"./antd-Afm2kNt7.js";import{r as T}from"./role-api-RbYCFKw-.js";import{u as C,e as K,m as _,z as $,h as L,y as N,D}from"./index-DQXwuKC5.js";import{g as E}from"./sort-BOdE-yay.js";import{N as b}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const U=T,P=(d,t,l=[])=>{if(!d)return[];for(const o of d){if(l.push(o.key),t(o))return l;if(o.children){const i=P(o.children,t,l);if(i.length)return i}l.pop()}return[]},J=d=>{const t=new Set,l=o=>{if(o)for(const i of o)t.add(i.key),i.children&&l(i.children)};return l(d),t},Q=({open:d,handleOk:t,handleCancel:l,confirmLoading:o,id:i})=>{let{t:c}=C();const f=h.useRef(null);let[w,j]=h.useState([]);const g=async()=>{if(i){let n=await U.getById(i),r=n.menus?.filter(e=>e.checked===!0).map(e=>e.menuId).filter(Boolean);return j(r||[]),n}return{}},S=async()=>{let n=await T.getMenus();return x("",n),n},x=(n,r)=>{for(let e=0;e{let r=new Set;for(let e=0;em.key===y);for(let m=0;mJSON.parse(e))})};return s.jsx(v,{title:c(i?"actions.edit":"actions.new"),open:d,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{f.current?.validateFields().then(async n=>{t(n)})},onCancel:()=>{l()},confirmLoading:o,children:s.jsxs(A,{formRef:f,request:g,submitter:!1,children:[s.jsx(I,{hidden:!0,name:"id"}),s.jsx(I,{name:"name",label:c("general.name"),rules:[{required:!0}]}),s.jsx(F.Item,{label:c("identity.role.permission"),name:"menus",rules:[{required:!0}],children:s.jsx(B,{checkable:!0,onCheck:u,checkedKeys:a.data?w.filter(n=>J(a.data).has(n)):[],treeData:a.data})})]})})},k=T,te=()=>{let{license:d}=$();const{t}=C(),l=h.useRef(null);let[o,i]=h.useState(!1),[c,f]=h.useState();const{message:w}=O.useApp();let g=L({mutationFn:async a=>{a.id?await k.updateById(a.id,a):await k.create(a)},onSuccess:()=>{l.current?.reload(),i(!1),f(void 0),S()}});function S(){w.open({type:"success",content:t("general.success")})}const x=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",render:(a,u)=>s.jsx("a",{onClick:()=>{i(!0),f(u.id)},children:a})},{title:t("identity.role.type"),dataIndex:"type",valueType:"radio",sorter:!0,valueEnum:{default:{text:t("identity.role.types.default")},new:{text:t("identity.role.types.new")}}},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,width:191},{title:t("actions.label"),valueType:"option",key:"option",width:160,render:(a,u,n,r)=>[s.jsx(b,{children:s.jsx(N,{to:`/role/${u.id}`,children:t("actions.detail")},"get")},"info"),s.jsx(b,{onClick:()=>{i(!0),f(u.id)},children:t("actions.edit")},"edit"),s.jsx(q,{title:t("general.confirm_delete"),onConfirm:async()=>{await k.deleteById(u.id),l.current?.reload()},children:s.jsx(b,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return s.jsx("div",{children:s.jsxs(D,{disabled:d.isFree(),children:[s.jsx(M,{columns:x,actionRef:l,request:async(a={},u,n)=>{let[r,e]=E(u),y={pageIndex:a.current,pageSize:a.pageSize,order:r,field:e,name:a.name,type:a.type},p=await k.getPaging(y);return{data:p.items,success:!0,total:p.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.identity.submenus.role"),toolBarRender:()=>[s.jsx(z,{type:"primary",onClick:()=>{i(!0)},children:t("actions.new")},"button")]}),s.jsx(Q,{id:c,open:o,confirmLoading:g.isPending,handleCancel:()=>{i(!1),f(void 0)},handleOk:g.mutate})]})})};export{te as default}; diff --git a/server/resource/build/assets/ScheduledTaskPage-CpGHrjAP.js b/server/resource/build/assets/ScheduledTaskPage-CQSqn-EP.js similarity index 98% rename from server/resource/build/assets/ScheduledTaskPage-CpGHrjAP.js rename to server/resource/build/assets/ScheduledTaskPage-CQSqn-EP.js index 09a829d59..ebaa24d8e 100644 --- a/server/resource/build/assets/ScheduledTaskPage-CpGHrjAP.js +++ b/server/resource/build/assets/ScheduledTaskPage-CQSqn-EP.js @@ -1 +1 @@ -var G=Object.defineProperty;var Y=(t,o,l)=>o in t?G(t,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[o]=l;var v=(t,o,l)=>Y(t,typeof o!="symbol"?o+"":o,l);import{S as e,f as k,U as Z,aK as ee,aT as O,bj as se,bk as K,aL as M,bJ as te,bH as L,bA as re,aU as ae,aI as U,a_ as S,a$ as ne,bi as d,au as le,bz as B,av as H,az as oe,aS as ce}from"./antd-Afm2kNt7.js";import{g as J}from"./sort-BOdE-yay.js";import{v as ie,A as de,r as F,q as ue,e as Q,u as E,X as $,o as z,h as pe,M as he}from"./index-BdfI9ZEv.js";import{a as ge}from"./asset-api-CdGgZMNY.js";import{N as A}from"./NButton-DoPcvKBF.js";import{S as D}from"./server-BXUeOkFL.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const ye=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],W=ie("code",ye);class xe extends de{constructor(){super("admin/scheduled-tasks");v(this,"changeStatus",async(l,s)=>await F.post(`/${this.group}/${l}/change-status?enabled=${s}`));v(this,"exec",async l=>{await F.post(`/${this.group}/${l}/exec`)});v(this,"getLogPaging",async(l,s)=>{let h=ue.stringify(s);return await F.get(`/${this.group}/${l}/logs/paging?${h}`)});v(this,"clearLog",async l=>{await F.delete(`/${this.group}/${l}/logs`)});v(this,"getNextTenRuns",async l=>await F.post(`/${this.group}/next-ten-runs`,{spec:l}))}}let P=new xe;const me=({open:t,spec:o})=>{let l=Q({queryKey:["scheduled-task-runtime",o],queryFn:()=>P.getNextTenRuns(o),enabled:t&&!!o,retry:!1});return e.jsxs("div",{className:"",children:[l.isError&&e.jsxs("div",{className:"text-red-500",children:["Error: ",l.error?.message]}),e.jsx("div",{className:"space-y-1",children:Array.isArray(l.data)?l.data.map((s,h)=>e.jsx("div",{children:s},h)):[]})]})},fe=({open:t,handleOk:o,handleCancel:l,confirmLoading:s,id:h})=>{let{t:c}=E();const b=k.useRef(null);let[w,f]=k.useState(!1),[u,r]=k.useState("");const{data:j}=Q({queryKey:["asset-tree","ssh"],queryFn:async()=>{let a=await ge.tree("ssh");function x(i){i.value=i.value||i.key||i.id,i.title=i.title||i.name||"",i.isLeaf&&i.extra?.network&&(i.title=i.title+" ("+i.extra.network+")"),i.children&&i.children.length>0&&i.children.forEach(x)}return a&&a.length>0&&a.forEach(x),a||[]}}),y=async()=>h?await P.getById(h):{type:"asset-exec-command",mode:"all"},T=a=>{if(a){const x=b.current?.getFieldValue("spec")||"";r(x)}f(a)};return e.jsx(Z,{title:c(h?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{b.current?.validateFields().then(async a=>{o(a)})},onCancel:()=>{l()},confirmLoading:s,children:e.jsxs(ee,{formRef:b,request:y,submitter:!1,children:[e.jsx(O,{hidden:!0,name:"id"}),e.jsx(O,{label:c("general.name"),name:"name",rules:[{required:!0}]}),e.jsxs(se,{gutter:16,children:[e.jsx(K,{span:12,children:e.jsx(M,{label:c("assets.type"),name:"type",options:[{label:c("sysops.type.options.exec_command"),value:"asset-exec-command"},{label:c("sysops.type.options.check_status"),value:"asset-check-status"},{label:c("sysops.type.options.delete_log"),value:"delete-history-log"},{label:c("assets.certificates.renew"),value:"renew-certificate"}]})}),e.jsx(K,{span:12,children:e.jsx(O,{label:c("sysops.spec"),name:"spec",rules:[{required:!0}],tooltip:c("sysops.spec_tooltip"),fieldProps:{addonAfter:e.jsx("div",{className:"cursor-pointer",children:e.jsx(te,{content:w?e.jsx(me,{open:w,spec:u}):null,title:c("sysops.spec_run_time"),trigger:"click",placement:"rightTop",open:w,onOpenChange:T,children:c("sysops.spec_run")})})}})})]}),e.jsx(L,{name:["type"],children:({type:a})=>a==="delete-history-log"||a==="renew-certificate"?e.jsx(e.Fragment,{}):e.jsx(M,{label:c("sysops.mode.label"),name:"mode",options:[{label:c("sysops.mode.options.all_asset"),value:"all"},{label:c("sysops.mode.options.custom_asset"),value:"custom"}]})}),e.jsx(L,{name:["mode"],children:({mode:a})=>{switch(a){case"all":break;case"local":break;case"custom":return e.jsx(re,{label:c("menus.resource.submenus.asset"),name:"assetIdList",rules:[{required:!0}],fieldProps:{treeData:j||[],multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"}})}return e.jsx(e.Fragment,{})}}),e.jsx(L,{name:["type"],children:({type:a})=>a==="asset-exec-command"?e.jsx(ae,{label:c("sysops.command"),name:"script",rules:[{required:!0}]}):e.jsx(e.Fragment,{})})]})})},{Text:p,Title:je}=ne,ke=({open:t,jobId:o,handleCancel:l})=>{let{t:s}=E();const h=k.useRef(null);let{modal:c}=U.useApp();k.useEffect(()=>{t&&h.current?.reload()},[t,o]);const b=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:s("sysops.logs.exec_at"),dataIndex:"createdAt",key:"createdAt",hideInSearch:!0,sorter:!0,width:191,valueType:"dateTime"},{title:s("sysops.logs.messages"),dataIndex:"message",key:"message",hideInSearch:!0,render:(f,u)=>{switch(u.jobType){case"asset-check-status":let r=u.results,j=r?.filter(g=>g.active)?.length;j=z(j,0);let y=r?.filter(g=>!g.active)?.length;return y=z(y,0),e.jsxs(S,{align:"center",size:"small",children:[e.jsx(D,{size:14,style:{color:"#1890ff"}}),e.jsx(p,{children:s("sysops.logs.asset_status_check")}),e.jsxs(d,{color:"green",children:[s("general.online"),": ",j]}),e.jsxs(d,{color:"red",children:[s("general.offline"),": ",y]})]});case"asset-exec-command":let T=u.results,a=T?.filter(g=>g.success)?.length;a=z(a,0);let x=T?.filter(g=>!g.success)?.length;return x=z(x,0),e.jsxs(S,{align:"center",size:"small",children:[e.jsx(W,{size:14,style:{color:"#52c41a"}}),e.jsx(p,{children:s("sysops.logs.script_execution")}),a>0&&e.jsxs(d,{color:"green",children:[s("general.success"),": ",a]}),x>0&&e.jsxs(d,{color:"red",children:[s("general.failed"),": ",x]})]});case"renew-certificate":let i=u.results;if(!i||i.length===0)return e.jsxs(S,{align:"center",size:"small",children:[e.jsx($,{size:14,style:{color:"#faad14"}}),e.jsx(p,{children:s("sysops.logs.certificate_renewal")}),e.jsx(d,{color:"blue",children:s("sysops.logs.no_certificates_to_renew")})]});let _=i?.filter(g=>g.success)?.length;_=z(_,0);let I=i?.filter(g=>!g.success)?.length;return I=z(I,0),e.jsxs(S,{align:"center",size:"small",children:[e.jsx($,{size:14,style:{color:"#faad14"}}),e.jsx(p,{children:s("sysops.logs.certificate_renewal")}),_>0&&e.jsxs(d,{color:"green",children:[s("general.success"),": ",_]}),I>0&&e.jsxs(d,{color:"orange",children:[s("sysops.logs.skipped"),": ",I]})]})}return""}}],w=f=>{const u=()=>{switch(f.jobType){case"asset-check-status":return[{title:s("sysops.logs.asset_name"),dataIndex:"name",key:"name",render:r=>e.jsxs(S,{align:"center",size:4,children:[e.jsx(D,{size:12,style:{color:"#1890ff"}}),e.jsx(p,{strong:!0,children:r})]})},{title:s("general.status"),dataIndex:"active",key:"active",render:r=>r===!0?e.jsx(d,{color:"green",children:s("general.online")}):e.jsx(d,{color:"red",children:s("general.offline")})},{title:s("sysops.logs.used_time"),dataIndex:"usedTimeStr",key:"usedTimeStr",render:r=>e.jsx(p,{type:"secondary",children:r})},{title:s("sysops.logs.reason"),dataIndex:"error",key:"error",render:r=>r?e.jsx(p,{type:"danger",children:r}):e.jsx(p,{type:"secondary",children:"-"})}];case"asset-exec-command":return[{title:s("sysops.logs.asset_name"),dataIndex:"name",key:"name",render:r=>e.jsxs(S,{align:"center",size:4,children:[e.jsx(W,{size:12,style:{color:"#52c41a"}}),e.jsx(p,{strong:!0,children:r})]})},{title:s("general.status"),dataIndex:"success",key:"success",render:r=>r===!0?e.jsx(d,{color:"green",children:s("general.success")}):e.jsx(d,{color:"red",children:s("general.failed")})},{title:s("sysops.logs.used_time"),dataIndex:"usedTimeStr",key:"usedTimeStr",render:r=>e.jsx(p,{type:"secondary",children:r})},{title:s("sysops.logs.script"),dataIndex:"script",key:"script",valueType:"code"},{title:s("sysops.logs.result"),dataIndex:"result",key:"result",width:200,render:r=>r?e.jsx("div",{style:{maxHeight:60,overflow:"auto",backgroundColor:"#f5f5f5",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:r}):e.jsx(p,{type:"secondary",children:"-"})}];case"renew-certificate":return[{title:s("sysops.logs.certificate_name"),dataIndex:"name",key:"name",render:r=>e.jsxs(S,{align:"center",size:4,children:[e.jsx($,{size:12,style:{color:"#faad14"}}),e.jsx(p,{strong:!0,children:r})]})},{title:s("general.status"),dataIndex:"success",key:"success",render:r=>r===!0?e.jsx(d,{color:"green",children:s("sysops.logs.renewed")}):e.jsx(d,{color:"orange",children:s("sysops.logs.skipped")})},{title:s("sysops.logs.reason"),dataIndex:"error",key:"error",render:r=>r?e.jsx(p,{type:"warning",children:r}):e.jsx(p,{type:"secondary",children:"-"})}]}};return e.jsx(B,{size:"small",columns:u(),headerTitle:!1,search:!1,options:!1,dataSource:f.results,pagination:!1,rowKey:(r,j)=>r.name||r.id||j})};return e.jsx(le,{title:e.jsx(S,{align:"center",children:e.jsx(je,{level:4,style:{margin:0,color:"#1890ff"},children:s("sysops.logs.label")})}),placement:"right",width:window.innerWidth*.9,closable:!0,maskClosable:!0,onClose:l,open:t,styles:{body:{padding:"12px"}},extra:e.jsx(S,{children:e.jsx(H,{type:"primary",danger:!0,onClick:async()=>{c.confirm({title:s("general.clear_confirm"),content:s("sysops.logs.clear_confirm_content"),okText:s("actions.clear"),cancelText:s("actions.cancel"),okType:"danger",onOk:async()=>{await P.clearLog(o),h.current?.reload()}})},children:s("actions.clear")})}),children:e.jsx(B,{columns:b,actionRef:h,request:async(f={},u,r)=>{let[j,y]=J(u),T={pageIndex:f.current,pageSize:f.pageSize,name:f.name,order:j,field:y},a=await P.getLogPaging(o,T);return{data:a.items,success:!0,total:a.total}},expandable:{expandedRowRender:w,expandRowByClick:!0},rowKey:"id",search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0,showQuickJumper:!0},options:!1,dateFormatter:"string",size:"middle",cardBordered:!1,headerTitle:!1})})},C=P,Re=()=>{const{t}=E(),o=k.useRef(null);let[l,s]=k.useState(!1),[h,c]=k.useState(!1),[b,w]=k.useState(""),[f,u]=k.useState(!1),[r,j]=k.useState({});const{message:y}=U.useApp();let a=pe({mutationFn:async n=>{n.id?await C.updateById(n.id,n):await C.create(n)},onSuccess:()=>{o.current?.reload(),s(!1),w(void 0),x()}});function x(){y.open({type:"success",content:t("general.success")})}const i=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",key:"name",sorter:!0},{title:t("general.status"),dataIndex:"enabled",key:"enabled",hideInSearch:!0,render:(n,m,R)=>e.jsx(oe,{checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),checked:n===!0,onChange:q=>_(m.id,!n)})},{title:t("assets.type"),dataIndex:"type",key:"type",hideInSearch:!0,render:(n,m)=>{switch(n){case"asset-check-status":return e.jsx(d,{color:"blue",bordered:!1,children:t("sysops.type.options.check_status")});case"asset-exec-command":return e.jsx(d,{color:"red",bordered:!1,children:t("sysops.type.options.exec_command")});case"delete-history-log":return e.jsx(d,{color:"green",bordered:!1,children:t("sysops.type.options.delete_log")});case"renew-certificate":return e.jsx(d,{color:"orange",bordered:!1,children:t("assets.certificates.renew")});default:return""}}},{title:t("sysops.spec"),dataIndex:"spec",key:"spec",hideInSearch:!0},{title:t("general.created_at"),dataIndex:"createdAt",key:"createdAt",hideInSearch:!0,valueType:"dateTime",sorter:!0},{title:t("sysops.last_exec_at"),dataIndex:"lastExecAt",key:"lastExecAt",hideInSearch:!0,valueType:"dateTime",sorter:!0},{title:t("actions.label"),valueType:"option",key:"option",width:200,render:(n,m,R,q)=>[e.jsx(A,{onClick:()=>I(m.id),children:t("sysops.options.exec")},"exec"),e.jsx(A,{onClick:()=>g(m.id),children:t("sysops.options.logs")},"logs"),e.jsx(A,{onClick:()=>{s(!0),w(m.id)},children:t("actions.edit")},"edit"),e.jsx(ce,{title:t("general.confirm_delete"),onConfirm:async()=>{await C.deleteById(m.id),o.current?.reload()},children:e.jsx(A,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}],_=async(n,m,R)=>{await C.changeStatus(n,m),o.current?.reload()},I=async(n,m)=>{y.loading({content:"loading...",key:n,duration:30});try{await C.exec(n),y.success({content:t("general.success"),key:n}),o.current?.reload()}catch{y.error({content:t("general.failed"),key:n})}},g=n=>{w(n),c(!0)};return e.jsxs("div",{children:[e.jsx(B,{columns:i,actionRef:o,request:async(n={},m,R)=>{let[q,V]=J(m),X={pageIndex:n.current,pageSize:n.pageSize,order:q,field:V,name:n.name},N=await C.getPaging(X);return{data:N.items,success:!0,total:N.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.sysops.submenus.scheduled_task"),toolBarRender:()=>[e.jsx(H,{type:"primary",onClick:()=>{s(!0)},children:t("actions.new")},"button")]}),e.jsx(fe,{id:b,open:l,confirmLoading:a.isPending,handleCancel:()=>{s(!1),w("")},handleOk:n=>{j(n),u(!0)}}),e.jsx(he,{open:f,handleOk:async n=>{u(!1),r.securityToken=n,a.mutate(r)},handleCancel:()=>u(!1)}),e.jsx(ke,{jobId:b,open:h,handleCancel:()=>{c(!1)}})]})};export{Re as default}; +var G=Object.defineProperty;var Y=(t,o,l)=>o in t?G(t,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[o]=l;var v=(t,o,l)=>Y(t,typeof o!="symbol"?o+"":o,l);import{S as e,f as k,U as Z,aK as ee,aT as O,bj as se,bk as K,aL as M,bJ as te,bH as L,bA as re,aU as ae,aI as U,a_ as S,a$ as ne,bi as d,au as le,bz as B,av as H,az as oe,aS as ce}from"./antd-Afm2kNt7.js";import{g as J}from"./sort-BOdE-yay.js";import{v as ie,A as de,r as F,q as ue,e as Q,u as E,X as $,o as z,h as pe,M as he}from"./index-DQXwuKC5.js";import{a as ge}from"./asset-api-1abjsV5s.js";import{N as A}from"./NButton-DoPcvKBF.js";import{S as D}from"./server-DnjIV_zW.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const ye=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],W=ie("code",ye);class xe extends de{constructor(){super("admin/scheduled-tasks");v(this,"changeStatus",async(l,s)=>await F.post(`/${this.group}/${l}/change-status?enabled=${s}`));v(this,"exec",async l=>{await F.post(`/${this.group}/${l}/exec`)});v(this,"getLogPaging",async(l,s)=>{let h=ue.stringify(s);return await F.get(`/${this.group}/${l}/logs/paging?${h}`)});v(this,"clearLog",async l=>{await F.delete(`/${this.group}/${l}/logs`)});v(this,"getNextTenRuns",async l=>await F.post(`/${this.group}/next-ten-runs`,{spec:l}))}}let P=new xe;const me=({open:t,spec:o})=>{let l=Q({queryKey:["scheduled-task-runtime",o],queryFn:()=>P.getNextTenRuns(o),enabled:t&&!!o,retry:!1});return e.jsxs("div",{className:"",children:[l.isError&&e.jsxs("div",{className:"text-red-500",children:["Error: ",l.error?.message]}),e.jsx("div",{className:"space-y-1",children:Array.isArray(l.data)?l.data.map((s,h)=>e.jsx("div",{children:s},h)):[]})]})},fe=({open:t,handleOk:o,handleCancel:l,confirmLoading:s,id:h})=>{let{t:c}=E();const b=k.useRef(null);let[w,f]=k.useState(!1),[u,r]=k.useState("");const{data:j}=Q({queryKey:["asset-tree","ssh"],queryFn:async()=>{let a=await ge.tree("ssh");function x(i){i.value=i.value||i.key||i.id,i.title=i.title||i.name||"",i.isLeaf&&i.extra?.network&&(i.title=i.title+" ("+i.extra.network+")"),i.children&&i.children.length>0&&i.children.forEach(x)}return a&&a.length>0&&a.forEach(x),a||[]}}),y=async()=>h?await P.getById(h):{type:"asset-exec-command",mode:"all"},T=a=>{if(a){const x=b.current?.getFieldValue("spec")||"";r(x)}f(a)};return e.jsx(Z,{title:c(h?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{b.current?.validateFields().then(async a=>{o(a)})},onCancel:()=>{l()},confirmLoading:s,children:e.jsxs(ee,{formRef:b,request:y,submitter:!1,children:[e.jsx(O,{hidden:!0,name:"id"}),e.jsx(O,{label:c("general.name"),name:"name",rules:[{required:!0}]}),e.jsxs(se,{gutter:16,children:[e.jsx(K,{span:12,children:e.jsx(M,{label:c("assets.type"),name:"type",options:[{label:c("sysops.type.options.exec_command"),value:"asset-exec-command"},{label:c("sysops.type.options.check_status"),value:"asset-check-status"},{label:c("sysops.type.options.delete_log"),value:"delete-history-log"},{label:c("assets.certificates.renew"),value:"renew-certificate"}]})}),e.jsx(K,{span:12,children:e.jsx(O,{label:c("sysops.spec"),name:"spec",rules:[{required:!0}],tooltip:c("sysops.spec_tooltip"),fieldProps:{addonAfter:e.jsx("div",{className:"cursor-pointer",children:e.jsx(te,{content:w?e.jsx(me,{open:w,spec:u}):null,title:c("sysops.spec_run_time"),trigger:"click",placement:"rightTop",open:w,onOpenChange:T,children:c("sysops.spec_run")})})}})})]}),e.jsx(L,{name:["type"],children:({type:a})=>a==="delete-history-log"||a==="renew-certificate"?e.jsx(e.Fragment,{}):e.jsx(M,{label:c("sysops.mode.label"),name:"mode",options:[{label:c("sysops.mode.options.all_asset"),value:"all"},{label:c("sysops.mode.options.custom_asset"),value:"custom"}]})}),e.jsx(L,{name:["mode"],children:({mode:a})=>{switch(a){case"all":break;case"local":break;case"custom":return e.jsx(re,{label:c("menus.resource.submenus.asset"),name:"assetIdList",rules:[{required:!0}],fieldProps:{treeData:j||[],multiple:!0,showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"}})}return e.jsx(e.Fragment,{})}}),e.jsx(L,{name:["type"],children:({type:a})=>a==="asset-exec-command"?e.jsx(ae,{label:c("sysops.command"),name:"script",rules:[{required:!0}]}):e.jsx(e.Fragment,{})})]})})},{Text:p,Title:je}=ne,ke=({open:t,jobId:o,handleCancel:l})=>{let{t:s}=E();const h=k.useRef(null);let{modal:c}=U.useApp();k.useEffect(()=>{t&&h.current?.reload()},[t,o]);const b=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:s("sysops.logs.exec_at"),dataIndex:"createdAt",key:"createdAt",hideInSearch:!0,sorter:!0,width:191,valueType:"dateTime"},{title:s("sysops.logs.messages"),dataIndex:"message",key:"message",hideInSearch:!0,render:(f,u)=>{switch(u.jobType){case"asset-check-status":let r=u.results,j=r?.filter(g=>g.active)?.length;j=z(j,0);let y=r?.filter(g=>!g.active)?.length;return y=z(y,0),e.jsxs(S,{align:"center",size:"small",children:[e.jsx(D,{size:14,style:{color:"#1890ff"}}),e.jsx(p,{children:s("sysops.logs.asset_status_check")}),e.jsxs(d,{color:"green",children:[s("general.online"),": ",j]}),e.jsxs(d,{color:"red",children:[s("general.offline"),": ",y]})]});case"asset-exec-command":let T=u.results,a=T?.filter(g=>g.success)?.length;a=z(a,0);let x=T?.filter(g=>!g.success)?.length;return x=z(x,0),e.jsxs(S,{align:"center",size:"small",children:[e.jsx(W,{size:14,style:{color:"#52c41a"}}),e.jsx(p,{children:s("sysops.logs.script_execution")}),a>0&&e.jsxs(d,{color:"green",children:[s("general.success"),": ",a]}),x>0&&e.jsxs(d,{color:"red",children:[s("general.failed"),": ",x]})]});case"renew-certificate":let i=u.results;if(!i||i.length===0)return e.jsxs(S,{align:"center",size:"small",children:[e.jsx($,{size:14,style:{color:"#faad14"}}),e.jsx(p,{children:s("sysops.logs.certificate_renewal")}),e.jsx(d,{color:"blue",children:s("sysops.logs.no_certificates_to_renew")})]});let _=i?.filter(g=>g.success)?.length;_=z(_,0);let I=i?.filter(g=>!g.success)?.length;return I=z(I,0),e.jsxs(S,{align:"center",size:"small",children:[e.jsx($,{size:14,style:{color:"#faad14"}}),e.jsx(p,{children:s("sysops.logs.certificate_renewal")}),_>0&&e.jsxs(d,{color:"green",children:[s("general.success"),": ",_]}),I>0&&e.jsxs(d,{color:"orange",children:[s("sysops.logs.skipped"),": ",I]})]})}return""}}],w=f=>{const u=()=>{switch(f.jobType){case"asset-check-status":return[{title:s("sysops.logs.asset_name"),dataIndex:"name",key:"name",render:r=>e.jsxs(S,{align:"center",size:4,children:[e.jsx(D,{size:12,style:{color:"#1890ff"}}),e.jsx(p,{strong:!0,children:r})]})},{title:s("general.status"),dataIndex:"active",key:"active",render:r=>r===!0?e.jsx(d,{color:"green",children:s("general.online")}):e.jsx(d,{color:"red",children:s("general.offline")})},{title:s("sysops.logs.used_time"),dataIndex:"usedTimeStr",key:"usedTimeStr",render:r=>e.jsx(p,{type:"secondary",children:r})},{title:s("sysops.logs.reason"),dataIndex:"error",key:"error",render:r=>r?e.jsx(p,{type:"danger",children:r}):e.jsx(p,{type:"secondary",children:"-"})}];case"asset-exec-command":return[{title:s("sysops.logs.asset_name"),dataIndex:"name",key:"name",render:r=>e.jsxs(S,{align:"center",size:4,children:[e.jsx(W,{size:12,style:{color:"#52c41a"}}),e.jsx(p,{strong:!0,children:r})]})},{title:s("general.status"),dataIndex:"success",key:"success",render:r=>r===!0?e.jsx(d,{color:"green",children:s("general.success")}):e.jsx(d,{color:"red",children:s("general.failed")})},{title:s("sysops.logs.used_time"),dataIndex:"usedTimeStr",key:"usedTimeStr",render:r=>e.jsx(p,{type:"secondary",children:r})},{title:s("sysops.logs.script"),dataIndex:"script",key:"script",valueType:"code"},{title:s("sysops.logs.result"),dataIndex:"result",key:"result",width:200,render:r=>r?e.jsx("div",{style:{maxHeight:60,overflow:"auto",backgroundColor:"#f5f5f5",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontFamily:"monospace",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:r}):e.jsx(p,{type:"secondary",children:"-"})}];case"renew-certificate":return[{title:s("sysops.logs.certificate_name"),dataIndex:"name",key:"name",render:r=>e.jsxs(S,{align:"center",size:4,children:[e.jsx($,{size:12,style:{color:"#faad14"}}),e.jsx(p,{strong:!0,children:r})]})},{title:s("general.status"),dataIndex:"success",key:"success",render:r=>r===!0?e.jsx(d,{color:"green",children:s("sysops.logs.renewed")}):e.jsx(d,{color:"orange",children:s("sysops.logs.skipped")})},{title:s("sysops.logs.reason"),dataIndex:"error",key:"error",render:r=>r?e.jsx(p,{type:"warning",children:r}):e.jsx(p,{type:"secondary",children:"-"})}]}};return e.jsx(B,{size:"small",columns:u(),headerTitle:!1,search:!1,options:!1,dataSource:f.results,pagination:!1,rowKey:(r,j)=>r.name||r.id||j})};return e.jsx(le,{title:e.jsx(S,{align:"center",children:e.jsx(je,{level:4,style:{margin:0,color:"#1890ff"},children:s("sysops.logs.label")})}),placement:"right",width:window.innerWidth*.9,closable:!0,maskClosable:!0,onClose:l,open:t,styles:{body:{padding:"12px"}},extra:e.jsx(S,{children:e.jsx(H,{type:"primary",danger:!0,onClick:async()=>{c.confirm({title:s("general.clear_confirm"),content:s("sysops.logs.clear_confirm_content"),okText:s("actions.clear"),cancelText:s("actions.cancel"),okType:"danger",onOk:async()=>{await P.clearLog(o),h.current?.reload()}})},children:s("actions.clear")})}),children:e.jsx(B,{columns:b,actionRef:h,request:async(f={},u,r)=>{let[j,y]=J(u),T={pageIndex:f.current,pageSize:f.pageSize,name:f.name,order:j,field:y},a=await P.getLogPaging(o,T);return{data:a.items,success:!0,total:a.total}},expandable:{expandedRowRender:w,expandRowByClick:!0},rowKey:"id",search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0,showQuickJumper:!0},options:!1,dateFormatter:"string",size:"middle",cardBordered:!1,headerTitle:!1})})},C=P,Re=()=>{const{t}=E(),o=k.useRef(null);let[l,s]=k.useState(!1),[h,c]=k.useState(!1),[b,w]=k.useState(""),[f,u]=k.useState(!1),[r,j]=k.useState({});const{message:y}=U.useApp();let a=pe({mutationFn:async n=>{n.id?await C.updateById(n.id,n):await C.create(n)},onSuccess:()=>{o.current?.reload(),s(!1),w(void 0),x()}});function x(){y.open({type:"success",content:t("general.success")})}const i=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",key:"name",sorter:!0},{title:t("general.status"),dataIndex:"enabled",key:"enabled",hideInSearch:!0,render:(n,m,R)=>e.jsx(oe,{checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),checked:n===!0,onChange:q=>_(m.id,!n)})},{title:t("assets.type"),dataIndex:"type",key:"type",hideInSearch:!0,render:(n,m)=>{switch(n){case"asset-check-status":return e.jsx(d,{color:"blue",bordered:!1,children:t("sysops.type.options.check_status")});case"asset-exec-command":return e.jsx(d,{color:"red",bordered:!1,children:t("sysops.type.options.exec_command")});case"delete-history-log":return e.jsx(d,{color:"green",bordered:!1,children:t("sysops.type.options.delete_log")});case"renew-certificate":return e.jsx(d,{color:"orange",bordered:!1,children:t("assets.certificates.renew")});default:return""}}},{title:t("sysops.spec"),dataIndex:"spec",key:"spec",hideInSearch:!0},{title:t("general.created_at"),dataIndex:"createdAt",key:"createdAt",hideInSearch:!0,valueType:"dateTime",sorter:!0},{title:t("sysops.last_exec_at"),dataIndex:"lastExecAt",key:"lastExecAt",hideInSearch:!0,valueType:"dateTime",sorter:!0},{title:t("actions.label"),valueType:"option",key:"option",width:200,render:(n,m,R,q)=>[e.jsx(A,{onClick:()=>I(m.id),children:t("sysops.options.exec")},"exec"),e.jsx(A,{onClick:()=>g(m.id),children:t("sysops.options.logs")},"logs"),e.jsx(A,{onClick:()=>{s(!0),w(m.id)},children:t("actions.edit")},"edit"),e.jsx(ce,{title:t("general.confirm_delete"),onConfirm:async()=>{await C.deleteById(m.id),o.current?.reload()},children:e.jsx(A,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}],_=async(n,m,R)=>{await C.changeStatus(n,m),o.current?.reload()},I=async(n,m)=>{y.loading({content:"loading...",key:n,duration:30});try{await C.exec(n),y.success({content:t("general.success"),key:n}),o.current?.reload()}catch{y.error({content:t("general.failed"),key:n})}},g=n=>{w(n),c(!0)};return e.jsxs("div",{children:[e.jsx(B,{columns:i,actionRef:o,request:async(n={},m,R)=>{let[q,V]=J(m),X={pageIndex:n.current,pageSize:n.pageSize,order:q,field:V,name:n.name},N=await C.getPaging(X);return{data:N.items,success:!0,total:N.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.sysops.submenus.scheduled_task"),toolBarRender:()=>[e.jsx(H,{type:"primary",onClick:()=>{s(!0)},children:t("actions.new")},"button")]}),e.jsx(fe,{id:b,open:l,confirmLoading:a.isPending,handleCancel:()=>{s(!1),w("")},handleOk:n=>{j(n),u(!0)}}),e.jsx(he,{open:f,handleOk:async n=>{u(!1),r.securityToken=n,a.mutate(r)},handleCancel:()=>u(!1)}),e.jsx(ke,{jobId:b,open:h,handleCancel:()=>{c(!1)}})]})};export{Re as default}; diff --git a/server/resource/build/assets/SettingPage-naIEfwq6.js b/server/resource/build/assets/SettingPage-DxlkP9BT.js similarity index 99% rename from server/resource/build/assets/SettingPage-naIEfwq6.js rename to server/resource/build/assets/SettingPage-DxlkP9BT.js index d3d4b068a..a865fbb60 100644 --- a/server/resource/build/assets/SettingPage-naIEfwq6.js +++ b/server/resource/build/assets/SettingPage-DxlkP9BT.js @@ -1 +1 @@ -var me=Object.defineProperty;var he=(a,r,s)=>r in a?me(a,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[r]=s;var S=(a,r,s)=>he(a,typeof r!="symbol"?r+"":r,s);import{S as e,a$ as C,aK as w,bO as p,aL as N,f as h,aI as ae,bj as ne,bk as Q,aY as ee,aT as g,aM as y,b0 as L,aU as X,bD as B,aV as be,bH as ie,bs as I,av as U,U as xe,aO as ye,T as fe,bP as je,bQ as ke,aN as se,bR as ve,bS as _e,bT as we,bU as Ce,bV as Pe,bW as Se,a_ as te,bg as z,b2 as J,aS as qe,bK as Te,bA as de,b4 as Y}from"./antd-Afm2kNt7.js";import{v as Fe,u as b,r as q,m as V,w as $,x as f,h as oe,y as ce,z as G,D,e as Z,f as Ne,b as Ae,o as Be,g as Le,M as $e}from"./index-BdfI9ZEv.js";import{N as Ee}from"./NLink-BW2w3qR4.js";import{U as ue}from"./upload-D2Oc5RCX.js";import{u as Ie}from"./user-api-LAxz6xgj.js";import{d as pe}from"./department-api-BBDEkNE1.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Re=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Me=Fe("info",Re),{Title:Ke}=C,Oe=({get:a,set:r})=>{let{t:s}=b();return e.jsxs("div",{children:[e.jsx(Ke,{level:5,style:{marginTop:0},children:s("settings.log.setting")}),e.jsxs(w,{onFinish:r,request:a,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"enable-recording",label:s("identity.user.recording"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(N,{name:"session-saved-limit",label:s("settings.log.session.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾️"},{value:"1",label:"1"},{value:"7",label:"7"},{value:"15",label:"15"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"}]},addonAfter:s("general.days")}),e.jsx(N,{name:"login-log-saved-limit",label:s("settings.log.login_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾️"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"},{value:"360",label:"360"}]},addonAfter:s("general.days")}),e.jsx(N,{name:"cron-log-saved-limit",label:s("settings.log.cron_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"},{value:"360",label:"360"}]},addonAfter:s("general.days")}),e.jsx(N,{name:"access-log-saved-limit",label:s("settings.log.access_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾"},{value:"7",label:"7"},{value:"15",label:"15"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"}]},addonAfter:s("general.days")})]})]})},{Title:ze}=C,Ue=({get:a,set:r})=>{let{t:s}=b();return e.jsxs("div",{children:[e.jsx(ze,{level:5,style:{marginTop:0},children:s("settings.rdp.setting")}),e.jsxs(w,{onFinish:r,request:a,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"enable-wallpaper",label:s("settings.rdp.enable.wallpaper"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-theming",label:s("settings.rdp.enable.theming"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-font-smoothing",label:s("settings.rdp.enable.font_smoothing"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-full-window-drag",label:s("settings.rdp.enable.full_window_drag"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-desktop-composition",label:s("settings.rdp.enable.desktop_composition"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-menu-animations",label:s("settings.rdp.enable.menu_animations"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"disable-bitmap-caching",label:s("settings.rdp.disable.bitmap_caching"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"disable-offscreen-caching",label:s("settings.rdp.disable.offscreen_caching"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")})]})]})},{Title:De}=C,Ge=({get:a,set:r})=>{let{t:s}=b();return e.jsxs("div",{children:[e.jsx(De,{level:5,style:{marginTop:0},children:s("settings.vnc.setting")}),e.jsxs(w,{onFinish:r,request:a,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(N,{name:"color-depth",label:s("assets.color_depth"),fieldProps:{options:[{value:"",label:s("general.default")},{value:"8",label:"8"},{value:"16",label:"16"},{value:"24",label:"24"},{value:"32",label:"32"}]}}),e.jsx(N,{name:"cursor",label:s("settings.vnc.cursor.setting"),fieldProps:{options:[{value:"",label:s("general.default")},{value:"local",label:s("identity.user.sources.local")},{value:"remote",label:s("settings.vnc.cursor.remote")}]}}),e.jsx(p,{name:"swap-red-blue",label:s("settings.vnc.swap_red_blue"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")})]})]})},Ve=["watermark-content-user-account","watermark-content-asset-username","reverse-proxy-server-auto-tls","reverse-proxy-server-http-redirect-to-https","login-session-count-custom","ssh-server-port-forwarding-enabled","access-require-mfa","ssh-server-disable-password-auth","db-proxy-block-dml"];class We{constructor(){S(this,"group","admin/properties");S(this,"get",async()=>{let r=await q.get(`/${this.group}`);for(let s in r)r.hasOwnProperty(s)&&(r[s]==="-"&&(r[s]=""),s.includes("enable")&&(r[s]=V.isTrue(r[s])),s.includes("disable")&&(r[s]=V.isTrue(r[s])),Ve.includes(s)&&(r[s]=V.isTrue(r[s])));return r});S(this,"set",async(r,s)=>{const t=s?`?securityToken=${encodeURIComponent(s)}`:"";await q.put(`/${this.group}${t}`,r)});S(this,"genRSAPrivateKey",async()=>(await q.post(`/${this.group}/gen-rsa-private-key`)).key);S(this,"sendMail",async r=>{await q.post(`/${this.group}/send-mail`,r)});S(this,"getLatestVersion",async()=>await q.get(`/${this.group}/latest-version?noerror`));S(this,"upgrade",async()=>{await q.post(`/${this.group}/upgrade`)});S(this,"upgradeStatus",async()=>await q.get(`/${this.group}/upgrade-status`));S(this,"getClientIPs",async()=>await q.get(`/${this.group}/client-ips`))}}let R=new We;const{Title:He}=C,Qe=({get:a,set:r})=>{const{isMobile:s}=$();let{t}=b(),[l,n]=h.useState(!1),{message:c}=ae.useApp();const o=async()=>{let i=await a();return n(i["mail-enabled"]),i},d=async i=>{await R.sendMail(i),c.success(t("general.success"))};return e.jsxs("div",{children:[e.jsx(He,{level:5,style:{marginTop:0},children:t("settings.mail.setting")}),e.jsxs(ne,{gutter:16,children:[e.jsx(Q,{span:s?24:12,children:e.jsx(ee,{children:e.jsxs(w,{onFinish:r,request:o,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"mail-enabled",label:t("settings.mail.enabled"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsx(g,{name:"mail-host",label:t("settings.mail.host"),required:l,disabled:!l}),e.jsx(y,{name:"mail-port",label:t("settings.mail.port"),required:l,disabled:!l,min:1,max:65535,fieldProps:{precision:0}}),e.jsx(g,{name:"mail-username",label:t("settings.mail.username"),required:l,disabled:!l}),e.jsx(g.Password,{name:"mail-password",label:t("settings.mail.password"),required:l,disabled:!l}),e.jsx(g,{name:"mail-from",label:t("settings.mail.from"),placeholder:"name ",disabled:!l}),e.jsx(p,{name:"mail-use-ssl",label:"SSL",disabled:!l,checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:"mail-insecure-skip-verify",label:"Server Name Insecure Skip Verify",disabled:!l,checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")})]})})}),e.jsx(Q,{span:s?24:12,children:e.jsxs(ee,{children:[e.jsx(L,{message:t("settings.mail.tip"),type:"warning",style:{marginBottom:10}}),e.jsxs(w,{onFinish:d,submitter:{searchConfig:{submitText:t("settings.mail.send")},resetButtonProps:{style:{display:"none"}}},children:[e.jsx(g,{name:"mail",label:t("settings.mail.mail"),rules:[{required:!0}]}),e.jsx(g,{name:"title",label:t("settings.mail.title"),rules:[{required:!0}]}),e.jsx(X,{name:"content",label:t("settings.mail.content"),rules:[{required:!0}],fieldProps:{rows:4}})]})]})})]})]})},{Title:Je}=C,Xe=({get:a,set:r})=>{const{isMobile:s}=$();let{t}=b(),[l,n]=h.useState(),[c,o]=h.useState();const d=async()=>{let m=await a();n(m["login-lock-enabled"]),o(m["login-session-count-custom"]);try{m["password-strength"]=JSON.parse(m["password-strength-policy"]||"{}")}catch{m["password-strength"]={}}return m},i=async m=>{const x=m["password-strength"];return x&&(delete m["password-strength"],m["password-strength-policy"]=JSON.stringify(x)),await r(m)};return e.jsxs("div",{children:[e.jsx(Je,{level:5,style:{marginTop:0},children:t("settings.security.setting")}),e.jsxs(w,{onFinish:i,request:d,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(B,{orientation:"left",children:t("settings.security.protection")}),e.jsxs("div",{className:"flex md:items-center md:gap-2 md:flex-row flex-col",children:[e.jsx(p,{name:"login-captcha-enabled",label:t("settings.security.captcha"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:"login-force-totp-enabled",label:t("settings.security.force_otp"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:"disable-password-login",label:t("settings.security.disable_password_login"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")})]}),e.jsxs("div",{className:"flex md:items-center md:gap-2 md:flex-row flex-col",children:[e.jsx(p,{name:"access-require-mfa",label:t("settings.security.access_require_mfa"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(y,{name:"access-mfa-expires-at",label:t("settings.security.access_mfa_expires_at"),min:0,addonAfter:t("general.minute"),fieldProps:{precision:0}})]}),e.jsx(B,{orientation:"left",children:t("settings.security.session_management")}),e.jsxs("div",{className:"flex md:items-center md:gap-2 md:flex-row flex-col",children:[e.jsx(p,{name:"login-session-count-custom",label:t("settings.security.session.count_custom"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:c,onChange:o}}),e.jsx(y,{name:"login-session-count-limit",label:t("settings.security.session.count_limit"),min:1,required:c,disabled:!c,addonAfter:t("settings.security.devices"),fieldProps:{precision:0}}),e.jsx(y,{name:"login-session-duration",label:t("settings.security.session.duration"),min:1,addonAfter:t("general.minute"),fieldProps:{precision:0}}),e.jsx(y,{name:"password-expiration-period",label:t("settings.security.password.expiration_period"),tooltip:t("general.less-zero-tip"),min:-1,required:!0,addonAfter:t("general.days"),fieldProps:{precision:0}}),e.jsx(y,{name:"user-client-cert-valid-days",label:t("settings.security.client_cert_valid_days"),min:1,addonAfter:t("general.days"),fieldProps:{precision:0}})]}),e.jsx(B,{orientation:"left",children:t("settings.security.password.complexity")}),e.jsx(be.Group,{label:t("settings.security.password.complexity"),name:"password-strength-type",options:[{label:t("settings.security.password.recommend"),value:"recommend"},{label:t("settings.security.password.customize"),value:"customize"}]}),e.jsx(ie,{name:["password-strength-type"],children:(m,x)=>m["password-strength-type"]!=="customize"?null:e.jsxs("div",{className:"rounded-md p-4 bg-gray-50 mt-4 dark:bg-[#141414]",children:[e.jsx(y,{name:["password-strength","minLength"],label:t("settings.security.password.too_short"),min:1,required:!0,addonAfter:t("settings.security.password.character")}),e.jsx(y,{name:["password-strength","minCharacterType"],label:t("settings.security.password.too_simple"),min:1,max:3,required:!0,addonAfter:t("assets.type")}),e.jsx(p,{name:["password-strength","mustNotContainUsername"],label:t("settings.security.password.cannot_contain_username"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:["password-strength","mustNotBePalindrome"],label:t("settings.security.password.cannot_be_palindrome"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:["password-strength","mustNotWeak"],label:t("settings.security.password.cannot_be_weak"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")})]})}),e.jsx(B,{orientation:"left",children:t("settings.security.login_lock.setting")}),e.jsx(L,{message:e.jsxs("div",{children:[t("settings.security.login_lock.tip"),e.jsx(Ee,{to:"/login-locked",children:e.jsxs("span",{className:"ml-2",children:["[",t("menus.identity.submenus.login_locked"),"]"]})})]}),type:"info",style:{marginBottom:16}}),e.jsx(p,{name:"login-lock-enabled",label:t("settings.security.login_lock.enabled"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsxs("div",{className:f("grid gap-4",s?"grid-cols-1":"grid-cols-4"),children:[e.jsx(y,{name:"login-lock-failed-duration",label:t("settings.security.login_lock.failed_duration"),min:1,required:l,disabled:!l,addonAfter:t("general.minute")}),e.jsx(y,{name:"login-lock-failed-times",label:t("settings.security.login_lock.failed_times"),min:1,required:l,disabled:!l}),e.jsx(y,{name:"login-lock-account-duration",label:t("settings.security.login_lock.account_duration"),min:0,required:l,addonAfter:t("general.minute"),disabled:!l}),e.jsx(y,{name:"login-lock-ip-duration",label:t("settings.security.login_lock.ip_duration"),min:0,required:l,addonAfter:t("general.minute"),disabled:!l})]})]})]})},{Title:Ye,Paragraph:le}=C,Ze=({get:a,set:r})=>{let{t:s}=b();const t=h.useRef(null);let[l,n]=h.useState(!1),[c,o]=h.useState(!1),[d,i]=h.useState(!1),[m,x]=h.useState(!1),[j,T]=h.useState(!1);const[F]=I.useForm(),M=async P=>{await t.current?.validateFields(),await r(P)},k=async()=>{let P=await a();n(P["ssh-server-enabled"]),o(P["ssh-server-port-forwarding-enabled"]);const u=P["ssh-server-private-key-exists"],_=typeof u=="string"?u.toLowerCase()==="true":!!u;return i(_),P};let E=oe({mutationFn:R.genRSAPrivateKey,onSuccess:P=>{F.setFieldsValue({privateKey:P})}});const K=()=>{F.resetFields(),x(!0)},v=async()=>{const P=await F.validateFields();T(!0);try{await r({"ssh-server-private-key":P.privateKey})!==!1&&(i(!0),x(!1),F.resetFields())}finally{T(!1)}};return e.jsxs("div",{children:[e.jsx(Ye,{level:5,style:{marginTop:0},children:s("settings.sshd.setting")}),e.jsx(L,{message:s("settings.sshd.tip"),type:"info",style:{marginBottom:10}}),e.jsxs("div",{className:"space-y-1 mb-4 border rounded-lg p-4",children:[e.jsx("div",{className:"font-medium",children:s("settings.sshd.usage")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("settings.sshd.mode_proxy")}),e.jsx("div",{children:e.jsx(le,{style:{marginBottom:0},copyable:!0,children:"ssh username@host -p port"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("settings.sshd.direct_proxy")}),e.jsx("div",{children:e.jsx(le,{style:{marginBottom:0},copyable:!0,children:"ssh username:asset-name@host -p port"})})]})]}),e.jsxs(w,{formRef:t,onFinish:M,request:k,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"ssh-server-enabled",label:s("settings.sshd.enabled"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsx(g,{name:"ssh-server-addr",label:s("settings.sshd.addr"),placeholder:"0.0.0.0:2022",rules:[{required:l}],disabled:!l}),e.jsx(I.Item,{label:s("settings.sshd.private_key"),children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{type:"primary",onClick:K,disabled:!l,children:s("settings.sshd.private_key_button")}),e.jsx(C.Text,{type:d?"success":"secondary",children:s(d?"settings.sshd.private_key_status_set":"settings.sshd.private_key_status_empty")})]})}),e.jsx(p,{name:"ssh-server-port-forwarding-enabled",label:s("settings.sshd.port_forwarding.enabled"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:c,onChange:o}}),e.jsx(X,{name:"ssh-server-port-forwarding-host-port",label:s("settings.sshd.port_forwarding.host_port"),rules:[{required:c}],disabled:!c,placeholder:"172.16.0.1:3306,10.10.0.3:5432",fieldProps:{rows:4}}),e.jsx(p,{name:"ssh-server-disable-password-auth",label:s("settings.sshd.disable_password_auth"),checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")})]}),e.jsx(xe,{title:s("settings.sshd.private_key_modal_title"),open:m,onOk:v,onCancel:()=>x(!1),okText:s("actions.save"),cancelText:s("actions.cancel"),confirmLoading:j,destroyOnClose:!0,children:e.jsxs(I,{form:F,layout:"vertical",children:[e.jsx(I.Item,{name:"privateKey",label:s("settings.sshd.private_key"),rules:[{required:!0}],children:e.jsx(ye.TextArea,{rows:8,placeholder:"RSA、EC、DSA、OPENSSH"})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{onClick:()=>E.mutate(),loading:E.isPending,children:s("assets.generate_private_key")}),e.jsx(C.Text,{type:"secondary",children:s("settings.sshd.private_key_modal_tip")})]})]})})]})},{Title:es,Paragraph:re}=C,ss=({get:a,set:r})=>{const{t:s}=b(),t=h.useRef(null),[l,n]=h.useState(!1),c=async d=>(await t.current?.validateFields(),await r(d)),o=async()=>{const d=await a();return n(d["db-proxy-enabled"]),d};return e.jsxs("div",{children:[e.jsx(es,{level:5,style:{marginTop:0},children:s("db.proxy.setting")}),e.jsx(L,{message:s("db.proxy.tip"),type:"info",style:{marginBottom:10}}),e.jsxs("div",{className:"space-y-1 mb-4 border rounded-lg p-4",children:[e.jsx("div",{className:"font-medium",children:s("db.proxy.usage_title")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("db.proxy.usage_client")}),e.jsx("div",{children:e.jsx(re,{style:{marginBottom:0},copyable:!0,children:"mysql -h host -P port -u username@asset_name -p"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("db.proxy.password_label")}),e.jsx("div",{children:e.jsxs(re,{style:{marginBottom:0},children:[s("db.proxy.password_tip_prefix"),e.jsx(ce,{to:"/info?activeKey=access-token",children:s("db.proxy.password_tip_link")}),s("db.proxy.password_tip_suffix")]})})]})]}),e.jsxs(w,{formRef:t,onFinish:c,request:o,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"db-proxy-enabled",label:s("db.proxy.enabled"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsx(g,{name:"db-proxy-addr",label:s("settings.sshd.addr"),placeholder:"0.0.0.0:3307",rules:[{required:l}],disabled:!l}),e.jsx(p,{name:"db-proxy-block-dml",label:s("db.proxy.block_dml"),tooltip:s("db.proxy.block_dml_tip"),checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")}),e.jsx(N,{name:"db-sql-log-saved-limit-days",label:s("db.sql_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾️"},{value:"7",label:"7"},{value:"15",label:"15"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"}]},addonAfter:s("general.days")})]})]})},{Title:ts,Text:ls}=C,rs=(a=we)=>Object.entries(a).map(([r,s])=>({label:r,colors:s})),as=({get:a,set:r})=>{const{isMobile:s}=$();let{t}=b(),[l,n]=h.useState(),[c,o]=h.useState(),[d,i]=h.useState(""),[m,x]=h.useState(""),[j,T]=h.useState(!1),{license:F}=G();const M=async()=>{let u=await a();return n(u["system-logo"]),i(u["watermark-font-color"]),T(u["watermark-enabled"]),o(u["system-login-background-image"]),x(u["system-login-background-color"]),u},k=u=>(u["system-logo"]=l,u["watermark-font-color"]=d,u["system-login-background-image"]=c,u["system-login-background-color"]=m,r(u)),E=({file:u,onSuccess:_})=>{const A=new FileReader;u&&(A.readAsDataURL(u),A.onloadend=function(){let O=A.result;_(O)})},K=u=>{let _=u.target.files[0];E({file:_,onSuccess:A=>{n(A)}})},{token:v}=fe.useToken(),P=rs({primary:je(v.colorPrimary),red:Pe,green:Ce});return e.jsxs("div",{children:[e.jsx(ts,{level:5,style:{marginTop:0},children:t("menus.setting.label")}),e.jsxs(w,{onFinish:k,request:M,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(B,{orientation:"left",children:t("settings.system.basic_info_title")}),e.jsx(D,{disabled:F.isFree(),children:e.jsxs("div",{className:f("flex gap-4",s?"flex-col items-center":"items-start"),children:[e.jsx("div",{className:f(s&&"w-full flex justify-center"),children:e.jsx(I.Item,{name:"system-logo",label:t("settings.system.logo"),rules:[{required:!0}],children:e.jsxs("div",{className:"logo-upload-container",children:[e.jsx("input",{id:"file",type:"file",accept:".png,.jpg,.jpeg",style:{display:"none"},onChange:K}),e.jsx("div",{onClick:()=>{document.getElementById("file")?.click()},className:f("logo-preview border border-dashed border-gray-300 rounded-md p-3 cursor-pointer hover:border-blue-400 transition-colors flex flex-col items-center justify-center",s?"w-24 h-24":"w-20 h-20"),children:l?e.jsx(ke,{className:"w-full h-full object-contain",src:l,alt:"logo",preview:!1}):e.jsxs("div",{className:"flex flex-col items-center gap-1 text-gray-400",children:[e.jsx(ue,{size:16}),e.jsx(ls,{type:"secondary",className:"text-xs",children:t("general.upload")})]})})]})})}),e.jsxs("div",{className:f(s&&"w-full"),children:[e.jsxs("div",{className:f("flex gap-4",s?"flex-col":"items-center"),children:[e.jsx(g,{name:"system-name",label:t("settings.system.name"),rules:[{required:!0}],width:s?"xl":void 0}),e.jsx(g,{name:"system-icp",label:t("settings.system.icp"),width:s?"xl":void 0})]}),e.jsx("div",{children:e.jsx(g,{name:"system-copyright",label:t("settings.system.copyright"),rules:[{required:!0}],width:"xl"})})]})]})}),e.jsx(B,{orientation:"left",children:t("settings.system.watermark.setting")}),e.jsxs(D,{disabled:F.isFree(),children:[e.jsx(p,{name:"watermark-enabled",label:t("identity.user.watermark"),rules:[{required:!0}],checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:j,onChange:T}}),e.jsxs("div",{className:f("flex gap-4",s?"flex-col":"items-center flex-wrap"),children:[e.jsx(g,{name:"watermark-content",label:t("settings.system.watermark.content"),rules:[{required:!1}],disabled:!j,width:s?"xl":void 0}),e.jsxs("div",{className:f("flex gap-4",s?"flex-col":"items-center"),children:[e.jsx(se,{name:"watermark-content-user-account",label:t("settings.system.watermark.append_user"),disabled:!j}),e.jsx(se,{name:"watermark-content-asset-username",label:t("settings.system.watermark.append_asset"),disabled:!j})]}),e.jsx(I.Item,{name:"watermark-font-color",label:t("settings.system.watermark.font_color"),rules:[{required:!1}],children:e.jsx(ve,{disabled:!j,presets:P,onChange:u=>{let _=u.toRgb();i(`rgba(${_.r}, ${_.g}, ${_.b}, ${_.a})`)}})})]}),e.jsx("div",{className:f(s?"w-full":"w-1/2"),children:e.jsx(_e,{name:"watermark-font-size",label:t("settings.system.watermark.font_size"),rules:[{required:!1}],min:1,max:100,disabled:!j,marks:{1:t("settings.system.watermark.size_small"),25:t("settings.system.watermark.size_medium"),50:t("settings.system.watermark.size_large"),100:t("settings.system.watermark.size_xlarge")}})})]})]})]})},ns=({label:a,isPending:r,error:s,value:t,errorText:l,isMobile:n=!1})=>{const c=()=>r?e.jsx(Se,{}):s!=null?e.jsx("div",{style:{color:"red"},children:l}):e.jsx("div",{className:"font-normal ml-1",children:t});return e.jsxs("div",{className:f("font-bold flex items-center gap-2",n&&"text-sm"),children:[e.jsxs("div",{children:[a,": "]}),e.jsx("div",{children:c()})]})},{Title:is}=C,ds=()=>{const{isMobile:a}=$(),{t:r}=b();let s=Z({queryKey:["branding"],queryFn:Ne.getBranding});return e.jsxs("div",{children:[e.jsx("div",{className:f("flex flex-col gap-3 md:flex-row md:items-center md:justify-between mb-3",a&&"items-stretch"),children:e.jsx(is,{level:5,style:{margin:0},children:r("settings.about.setting")})}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx("div",{className:f("space-y-4",a&&"w-full px-2"),children:e.jsx("div",{className:f("flex flex-col gap-1","text-left"),children:e.jsx(ns,{label:r("settings.about.current_version"),isPending:s.isPending,error:s.error,value:s.data?.version,errorText:r("error"),isMobile:a})})})})]})},{Title:os}=C,cs=()=>{let{t:a}=b(),[r,s]=h.useState(!1),[t,l]=h.useState(!1);const n=o=>{if(!o)return;const d=new FileReader;d.onload=async()=>{let i=JSON.parse(d.result.toString());s(!0);try{await q.post("/admin/backup/import",i),z.success(a("settings.backup.restore_success"),3)}finally{s(!1)}},d.readAsText(o[0])},c=async()=>{l(!0);try{const o=await q.get("/admin/backup/export",{responseType:"blob"}),d=window.URL.createObjectURL(new Blob([o])),i=document.createElement("a");i.href=d,i.setAttribute("download",`backup_${new Date().toISOString().replace(/[:.]/g,"-")}.json`),document.body.appendChild(i),i.click(),i.remove(),window.URL.revokeObjectURL(d),z.success(a("settings.backup.export_success")||"导出成功")}catch{z.error(a("settings.backup.export_failed")||"导出失败")}finally{l(!1)}};return e.jsxs("div",{children:[e.jsx(os,{level:5,style:{marginTop:0},children:a("settings.backup.setting")}),e.jsxs(te,{direction:"vertical",children:[e.jsx(L,{message:a("settings.backup.tip"),type:"info"}),e.jsxs(te,{children:[e.jsx(U,{type:"primary",loading:t,onClick:c,children:a("settings.backup.export")||"导出备份"}),e.jsx(U,{loading:r,onClick:()=>{document.getElementById("file-upload").click()},children:a("settings.backup.recovery")}),e.jsx("input",{type:"file",id:"file-upload",style:{display:"none"},accept:".json",onChange:async o=>{let d=o.target.files;await n(d),o.target.value=""}})]})]})]})};class us{constructor(){S(this,"group","admin/logos");S(this,"logos",async()=>await q.get(`/${this.group}`));S(this,"upload",async r=>{const s=new FormData;return s.append("file",r),await q.postForm(`/${this.group}/upload`,s)});S(this,"delete",async r=>await q.delete(`/${this.group}/${r}`))}}const W=new us,{Title:ps}=C,gs=()=>{let{t:a}=b(),r=Z({queryKey:["system-logos"],queryFn:W.logos});const s=l=>l.size/1024/1024?!0:(z.error("Image must smaller than 1MB!"),!1),t=async({file:l,onSuccess:n})=>{W.upload(l).then(c=>{r.refetch(),n(c)})};return e.jsxs("div",{className:"space-y-2",children:[e.jsx(ps,{level:5,style:{marginTop:0},children:a("settings.logo.setting")}),e.jsx("div",{children:a("settings.logo.preset")}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:(Array.isArray(r.data)?r.data.filter(l=>!l.deletable):[]).map(l=>e.jsx(J,{title:l.name,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2",children:e.jsx("img",{src:l.data,alt:l.name},l.name)},l.name)}))}),e.jsx("div",{children:a("settings.logo.custom")}),e.jsx("div",{children:e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[(Array.isArray(r.data)?r.data.filter(l=>l.deletable):[]).map(l=>e.jsx(qe,{title:a("general.confirm_delete"),onConfirm:()=>{W.delete(l.name).then(n=>{r.refetch()})},children:e.jsx(J,{title:l.name,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-red-500",children:e.jsx("img",{src:l.data,alt:l.name},l.name)})})},"delete-confirm"+l.name)),e.jsx(Te,{accept:"image/*",showUploadList:!1,customRequest:t,beforeUpload:s,multiple:!0,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-blue-500 flex items-center justify-center",children:e.jsx(ue,{className:"text-blue-500 h-4 w-4"})})})]})})]})},ms=({get:a,set:r})=>{let{t:s}=b(),[t,l]=h.useState(!1),{license:n}=G(),{message:c}=ae.useApp(),o=oe({mutationFn:Ie.syncLdapUser,onSuccess:()=>{c.success(s("general.success"))}});const d=async()=>{let i=await a();return l(i["ldap-enabled"]),i};return e.jsx("div",{children:e.jsxs(D,{disabled:!n.isEnterprise(),children:[e.jsx(L,{message:s("settings.ldap.tip"),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:d,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}},render:(i,m)=>[...m,e.jsx(U,{color:"geekblue",variant:"filled",loading:o.isPending,onClick:()=>o.mutate(),disabled:!t,children:s("actions.refresh")},"sync")]},children:[e.jsx(p,{name:"ldap-enabled",label:s("settings.ldap.setting"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"ldap-url",label:s("settings.ldap.url"),placeholder:"ldap://server:389",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-user",label:s("settings.ldap.user"),tooltip:"cn=administrator,dc=domain,dc=com | administrator@domain.com",placeholder:"cn=administrator,dc=domain,dc=com | administrator@domain.com",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-password",label:s("settings.ldap.password"),placeholder:"******",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-base-dn",label:s("settings.ldap.base_dn"),tooltip:"dc=domain,dc=com",placeholder:"dc=domain,dc=com",disabled:!t,rules:[{required:t}]}),e.jsx(y,{name:"ldap-user-search-size-limit",label:s("settings.ldap.user_search.size_limit"),tooltip:s("settings.ldap.user_search.size_limit_tooltip"),placeholder:"1000",min:1,disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-user-search-filter",label:s("settings.ldap.user_search.filter"),tooltip:s("settings.ldap.user_search.filter_tooltip"),placeholder:"(objectClass=*)",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-user-property-mapping",label:s("settings.ldap.user_property_mapping"),placeholder:'{"username": "cn", "nickname": "sn", "mail": "mail"}',disabled:!t,rules:[{required:t}]})]})]})})},hs=({get:a,set:r})=>{const{isMobile:s}=$();let[t,l]=h.useState(),{t:n}=b();const c=async()=>{let i=await a();return l(i["passkey-enabled"]),i["passkey-origins"]=i["passkey-origins"]?.split(","),i},o=async i=>(i["passkey-origins"]=i["passkey-origins"]?.join(","),await r(i));function d(i){try{const m=new URL(i);return m.protocol==="http:"||m.protocol==="https:"}catch{return!1}}return e.jsx("div",{children:e.jsxs(w,{onFinish:o,request:c,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"passkey-enabled",label:n("settings.security.passkey.enabled"),checkedChildren:n("general.enabled"),unCheckedChildren:n("general.disabled"),rules:[{required:!0}],fieldProps:{checked:t,onChange:l}}),e.jsxs("div",{className:f("flex gap-2",s?"flex-col":"items-center"),children:[e.jsx(g,{name:"passkey-domain",label:n("settings.security.passkey.domain"),rules:[{required:t}],disabled:!t,width:s?"xl":void 0}),e.jsx("div",{className:f(s?"w-full":"flex-grow"),children:e.jsx(N,{name:"passkey-origins",label:n("settings.security.passkey.origins"),tooltip:n("settings.security.passkey.origins_tip"),disabled:!t,fieldProps:{mode:"tags"},rules:[{required:t},({getFieldValue:i})=>({validator(m,x){if(!x)return Promise.resolve();for(let j=0;j{let{t:s}=b(),[t,l]=h.useState(!1),{license:n}=G();const c=async()=>{let o=await a();return l(o["wechat-work-enabled"]),o};return e.jsx("div",{children:e.jsxs(D,{disabled:!n.isEnterprise(),children:[e.jsx(L,{message:s("settings.wechat_work.tip"),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:c,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"wechat-work-enabled",label:s("settings.wechat_work.enabled"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"wechat-work-corp-id",label:s("settings.wechat_work.corp_id"),placeholder:s("settings.wechat_work.corp_id_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"wechat-work-agent-id",label:s("settings.wechat_work.agent_id"),placeholder:s("settings.wechat_work.agent_id_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g.Password,{name:"wechat-work-secret",label:s("settings.wechat_work.secret"),placeholder:"******",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"wechat-work-redirect-uri",label:s("identity.oidc_client.redirect_uris"),placeholder:s("settings.wechat_work.redirect_uri_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(de,{name:"wechat-work-department",label:s("settings.oidc.department"),placeholder:s("settings.oidc.department_placeholder"),disabled:!t,fieldProps:{showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>await pe.getTree()})]})]})})},xs=({get:a,set:r})=>{let{t:s}=b(),[t,l]=h.useState(!1),{license:n}=G();const c=async()=>{let o=await a();return l(o["oidc-enabled"]),o};return e.jsx("div",{children:e.jsxs(D,{disabled:!n.isEnterprise(),children:[e.jsx(L,{message:s("settings.oidc.tip"),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:c,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"oidc-enabled",label:s("settings.oidc.enabled"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"oidc-issuer",label:s("settings.oidc.issuer"),placeholder:s("settings.oidc.issuer_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"oidc-client-id",label:s("settings.oidc.client_id"),placeholder:s("settings.oidc.client_id_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g.Password,{name:"oidc-client-secret",label:s("settings.oidc.client_secret"),placeholder:"******",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"oidc-redirect-uri",label:s("identity.oidc_client.redirect_uris"),placeholder:s("settings.oidc.redirect_uri_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"oidc-scopes",label:s("settings.oidc.scopes"),placeholder:s("settings.oidc.scopes_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(de,{name:"oidc-department",label:s("settings.oidc.department"),placeholder:s("settings.oidc.department_placeholder"),disabled:!t,fieldProps:{showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>await pe.getTree()})]})]})})},ys=({get:a,set:r})=>{let{t:s}=b();const t=[{key:"webauthn",label:s("settings.webauthn.setting"),children:e.jsx(hs,{get:a,set:r})},{key:"ldap",label:s("settings.ldap.setting"),children:e.jsx(ms,{get:a,set:r})},{key:"wechat-work",label:s("settings.wechat_work.setting"),children:e.jsx(bs,{get:a,set:r})},{key:"oidc",label:s("settings.oidc.setting"),children:e.jsx(xs,{get:a,set:r})}];return e.jsx("div",{children:e.jsx(Y,{items:t})})},fs=({get:a,set:r})=>{const{t:s}=b(),[t,l]=h.useState(!1),n=async()=>{let c=await a();return l(c["oidc-server-enabled"]),c};return e.jsxs("div",{children:[e.jsx(L,{message:s("settings.oidc_server.description"),description:e.jsxs("div",{children:[e.jsxs("p",{children:[s("settings.oidc_server.manage_tip_prefix"),e.jsx(ce,{to:"/oidc-client",children:s("settings.oidc_server.manage_link")}),s("settings.oidc_server.manage_tip_suffix")]}),e.jsx("p",{children:s("settings.oidc_server.endpoints_title")}),e.jsxs("ul",{style:{marginBottom:0},children:[e.jsxs("li",{children:[s("settings.oidc_server.endpoint.discovery"),": ",e.jsx("code",{children:"/api/.well-known/openid-configuration"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.jwks"),": ",e.jsx("code",{children:"/api/oidc/server/.well-known/jwks.json"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.authorization"),": ",e.jsx("code",{children:"/api/oidc/server/authorize"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.token"),": ",e.jsx("code",{children:"/api/oidc/server/token"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.userinfo"),": ",e.jsx("code",{children:"/api/oidc/server/userinfo"})]})]})]}),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:n,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"oidc-server-enabled",label:s("settings.oidc_server.enable_label"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"oidc-server-issuer",label:s("settings.oidc_server.issuer_label"),placeholder:"https://next-terminal.example.com/api",tooltip:s("settings.oidc_server.issuer_tooltip"),disabled:!t,rules:[{required:t,message:s("settings.oidc_server.issuer_required")},{type:"url",message:s("general.invalid_url")}]}),e.jsx(y,{name:"oidc-server-access-token-ttl",label:s("settings.oidc_server.access_token_ttl_label"),placeholder:"3600",tooltip:s("settings.oidc_server.access_token_ttl_tooltip"),min:60,max:86400,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}}),e.jsx(y,{name:"oidc-server-refresh-token-ttl",label:s("settings.oidc_server.refresh_token_ttl_label"),placeholder:"604800",tooltip:s("settings.oidc_server.refresh_token_ttl_tooltip"),min:3600,max:2592e3,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}}),e.jsx(y,{name:"oidc-server-id-token-ttl",label:s("settings.oidc_server.id_token_ttl_label"),placeholder:"3600",tooltip:s("settings.oidc_server.id_token_ttl_tooltip"),min:60,max:86400,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}}),e.jsx(y,{name:"oidc-server-auth-code-ttl",label:s("settings.oidc_server.auth_code_ttl_label"),placeholder:"600",tooltip:s("settings.oidc_server.auth_code_ttl_tooltip"),min:60,max:1800,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}})]})]})},js=({get:a,set:r})=>{let{t:s}=b();const t=[{key:"oidc-server",label:"OIDC Server",children:e.jsx(fs,{get:a,set:r})}];return e.jsx("div",{children:e.jsx(Y,{items:t})})},ks=({get:a,set:r})=>{let{t:s}=b(),[t,l]=h.useState([]),[n,c]=h.useState(null);h.useEffect(()=>{R.getClientIPs().then(i=>{c(i)}).catch(i=>{console.error("Failed to get client IPs:",i)})},[]);const o=async()=>{let i=await a();if(i["ip-trust-list"]){let m=i["ip-trust-list"].split(",");l(m)}return i},d=i=>(i["ip-trust-list"]=t.join(","),r(i));return e.jsx("div",{children:e.jsxs(w,{onFinish:d,request:o,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(B,{orientation:"left",children:s("settings.network.setting")}),e.jsx(N,{name:"ip-extractor",label:s("settings.system.ip.extractor"),rules:[{required:!0}],options:[{label:`${s("assets.addr")}${n?.direct?` (${n.direct})`:""}`,value:"direct"},{label:`Header(X-Real-IP)${n?.["x-real-ip"]?` (${n["x-real-ip"]})`:` (${s("settings.network.not_detected")})`}`,value:"x-real-ip"},{label:`Header(X-Forwarded-For)${n?.["x-forwarded-for"]?` (${n["x-forwarded-for"]})`:` (${s("settings.network.not_detected")})`}`,value:"x-forwarded-for"}]}),e.jsx(ie,{name:["ip-extractor"],children:i=>i["ip-extractor"]==="direct"?null:e.jsx(ne,{gutter:[16,16],children:e.jsx(Q,{xs:24,children:e.jsx(N,{name:"ip-trust-list",label:e.jsxs("div",{className:"flex items-center gap-1",children:[s("settings.system.ip.trust_list"),e.jsx(J,{title:s("settings.network.trust_ip_tip"),children:e.jsx(Me,{className:"text-gray-400",size:12})})]}),placeholder:s("settings.system.ip.trust_placeholder"),fieldProps:{mode:"tags",value:t,onChange:l}})})})})]})})},{Title:vs}=C,H=({enabled:a,namePrefix:r,configLabel:s,description:t,enableLabel:l,promptLabel:n,promptPlaceholder:c})=>e.jsxs(e.Fragment,{children:[e.jsx(B,{orientation:"left",children:s}),t&&e.jsx(C.Paragraph,{type:"secondary",style:{marginBottom:16},children:t}),e.jsx(p,{name:`llm-${r}-enabled`,label:l,disabled:!a}),e.jsx(X,{name:`llm-${r}-prompt`,label:n,placeholder:c,fieldProps:{rows:6,autoSize:{minRows:6,maxRows:12}},disabled:!a})]}),_s=({get:a,set:r})=>{const{t:s}=b(),{isMobile:t}=$(),[l,n]=h.useState(!1),c=async()=>{const o=await a();return n(o["llm-enabled"]),o["llm-shell-prompt"]||(o["llm-shell-prompt"]=s("settings.llm.shell_prompt_default")),o["llm-audit-prompt"]||(o["llm-audit-prompt"]=s("settings.llm.audit_prompt_default")),o["llm-audit-rdp-prompt"]||(o["llm-audit-rdp-prompt"]=s("settings.llm.audit_rdp_prompt_default")),o};return e.jsxs("div",{className:f(t&&"px-2"),children:[e.jsx(vs,{level:5,style:{marginTop:0},children:s("settings.llm.title")}),e.jsxs(w,{onFinish:r,request:c,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},layout:t?"vertical":"horizontal",labelCol:t?void 0:{span:6},wrapperCol:t?void 0:{span:14},children:[e.jsx(B,{orientation:"left",children:s("settings.llm.base_config")}),e.jsx(p,{name:"llm-enabled",label:s("settings.llm.enable"),fieldProps:{onChange:n}}),e.jsx(g.Password,{name:"llm-api-key",label:s("settings.llm.api_key"),placeholder:s("settings.llm.api_key_placeholder"),rules:[{required:l,message:s("settings.llm.api_key_required")}],disabled:!l}),e.jsx(g,{name:"llm-base-url",label:s("settings.llm.base_url"),placeholder:"https://api.openai.com/v1",rules:[{required:l,message:s("settings.llm.base_url_required")}],disabled:!l}),e.jsx(g,{name:"llm-proxy-url",label:s("settings.llm.proxy_url"),placeholder:s("settings.llm.proxy_url_placeholder"),disabled:!l}),e.jsx(g,{name:"llm-model",label:s("settings.llm.model"),placeholder:"gpt-3.5-turbo",rules:[{required:l,message:s("settings.llm.model_required")}],disabled:!l}),e.jsx(y,{name:"llm-temperature",label:s("settings.llm.temperature"),min:0,max:2,fieldProps:{step:.1,precision:1},initialValue:.7,disabled:!l}),e.jsx(y,{name:"llm-max-tokens",label:s("settings.llm.max_tokens"),min:1,initialValue:4096,disabled:!l}),e.jsx(H,{enabled:l,namePrefix:"shell",configLabel:s("settings.llm.shell_config"),enableLabel:s("settings.llm.shell_enable"),promptLabel:s("settings.llm.shell_prompt"),promptPlaceholder:s("settings.llm.shell_prompt_placeholder")}),e.jsx(H,{enabled:l,namePrefix:"audit",configLabel:s("settings.llm.audit_config"),description:s("settings.llm.audit_config_desc"),enableLabel:s("settings.llm.audit_enable"),promptLabel:s("settings.llm.audit_prompt"),promptPlaceholder:s("settings.llm.audit_prompt_placeholder")}),e.jsx(H,{enabled:l,namePrefix:"audit-rdp",configLabel:s("settings.llm.audit_rdp_config"),description:s("settings.llm.audit_rdp_config_desc"),enableLabel:s("settings.llm.audit_rdp_enable"),promptLabel:s("settings.llm.audit_rdp_prompt"),promptPlaceholder:s("settings.llm.audit_rdp_prompt_placeholder")})]})]})},Ls=()=>{const{isMobile:a}=$(),[r,s]=z.useMessage(),[t,l]=Ae();let n=Be(t.get("activeKey"),"system-setting"),[c,o]=h.useState(n),{t:d}=b(),[i,m]=h.useState(!1),[x,j]=h.useState(null);const T=Z({queryKey:["info"],queryFn:Le.getUserInfo}),F=u=>{o(u),l({activeKey:u})},M=async()=>{if(T.data)return!!T.data.mfaEnabled;try{return!!(await T.refetch()).data?.mfaEnabled}catch{return!1}},k=async u=>{try{return x?!1:await M()?new Promise((A,O)=>{j({values:u,resolve:A,reject:O}),m(!0)}):(await R.set(u),r.success(d("general.success")),!0)}catch(_){return console.error("Setting save error:",_),r.error(_?.message||d("general.error")),!1}},E=async u=>{if(!x){m(!1);return}const{values:_,resolve:A,reject:O}=x;try{await R.set(_,u),r.success(d("general.success")),A(!0)}catch(ge){O(ge)}finally{j(null),m(!1)}},K=()=>{x&&x.resolve(!1),j(null),m(!1)},v=async()=>{try{return await R.get()}catch(u){return console.error("Setting get error:",u),r.error(u?.message||d("general.error")),{}}},P=[{label:d("menus.setting.label"),key:"system-setting",children:e.jsx(as,{get:v,set:k})},{label:d("settings.security.setting"),key:"security-setting",children:e.jsx(Xe,{get:v,set:k})},{label:d("settings.sshd.setting"),key:"sshd",children:e.jsx(Ze,{get:v,set:k})},{label:d("db.proxy.setting"),key:"db-proxy",children:e.jsx(ss,{get:v,set:k})},{label:d("settings.rdp.setting"),key:"rdp",children:e.jsx(Ue,{get:v,set:k})},{label:d("settings.vnc.setting"),key:"vnc",children:e.jsx(Ge,{get:v,set:k})},{label:d("settings.mail.setting"),key:"mail",children:e.jsx(Qe,{get:v,set:k})},{label:d("settings.identity_methods"),key:"ldap",children:e.jsx(ys,{get:v,set:k})},{label:d("settings.identity_source.setting"),key:"identity-source",children:e.jsx(js,{get:v,set:k})},{label:d("settings.log.setting"),key:"log",children:e.jsx(Oe,{get:v,set:k})},{label:d("settings.backup.setting"),key:"backup",children:e.jsx(cs,{})},{label:d("settings.network.setting"),key:"network",children:e.jsx(ks,{get:v,set:k})},{label:d("settings.llm.title"),key:"llm",children:e.jsx(_s,{get:v,set:k})},{label:d("settings.logo.setting"),key:"logo",children:e.jsx(gs,{})},{label:d("settings.about.setting"),key:"about",children:e.jsx(ds,{})}];return e.jsxs("div",{className:f("px-4",a&&"px-2"),children:[e.jsx(Y,{tabPosition:a?"top":"left",activeKey:c,onChange:F,tabBarStyle:a?{}:{width:150},items:P,size:a?"small":"middle",className:f(a&&"mobile-setting-tabs")}),s,e.jsx($e,{open:i,forceReauth:!0,handleOk:E,handleCancel:K})]})};export{Ls as default}; +var me=Object.defineProperty;var he=(a,r,s)=>r in a?me(a,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[r]=s;var S=(a,r,s)=>he(a,typeof r!="symbol"?r+"":r,s);import{S as e,a$ as C,aK as w,bO as p,aL as N,f as h,aI as ae,bj as ne,bk as Q,aY as ee,aT as g,aM as y,b0 as L,aU as X,bD as B,aV as be,bH as ie,bs as I,av as U,U as xe,aO as ye,T as fe,bP as je,bQ as ke,aN as se,bR as ve,bS as _e,bT as we,bU as Ce,bV as Pe,bW as Se,a_ as te,bg as z,b2 as J,aS as qe,bK as Te,bA as de,b4 as Y}from"./antd-Afm2kNt7.js";import{v as Fe,u as b,r as q,m as V,w as $,x as f,h as oe,y as ce,z as G,D,e as Z,f as Ne,b as Ae,o as Be,g as Le,M as $e}from"./index-DQXwuKC5.js";import{N as Ee}from"./NLink-Dl2yFaN4.js";import{U as ue}from"./upload-D4kD-YfJ.js";import{u as Ie}from"./user-api-BJxKseSg.js";import{d as pe}from"./department-api-fa0GHZbt.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Re=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Me=Fe("info",Re),{Title:Ke}=C,Oe=({get:a,set:r})=>{let{t:s}=b();return e.jsxs("div",{children:[e.jsx(Ke,{level:5,style:{marginTop:0},children:s("settings.log.setting")}),e.jsxs(w,{onFinish:r,request:a,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"enable-recording",label:s("identity.user.recording"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(N,{name:"session-saved-limit",label:s("settings.log.session.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾️"},{value:"1",label:"1"},{value:"7",label:"7"},{value:"15",label:"15"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"}]},addonAfter:s("general.days")}),e.jsx(N,{name:"login-log-saved-limit",label:s("settings.log.login_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾️"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"},{value:"360",label:"360"}]},addonAfter:s("general.days")}),e.jsx(N,{name:"cron-log-saved-limit",label:s("settings.log.cron_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"},{value:"360",label:"360"}]},addonAfter:s("general.days")}),e.jsx(N,{name:"access-log-saved-limit",label:s("settings.log.access_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾"},{value:"7",label:"7"},{value:"15",label:"15"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"}]},addonAfter:s("general.days")})]})]})},{Title:ze}=C,Ue=({get:a,set:r})=>{let{t:s}=b();return e.jsxs("div",{children:[e.jsx(ze,{level:5,style:{marginTop:0},children:s("settings.rdp.setting")}),e.jsxs(w,{onFinish:r,request:a,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"enable-wallpaper",label:s("settings.rdp.enable.wallpaper"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-theming",label:s("settings.rdp.enable.theming"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-font-smoothing",label:s("settings.rdp.enable.font_smoothing"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-full-window-drag",label:s("settings.rdp.enable.full_window_drag"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-desktop-composition",label:s("settings.rdp.enable.desktop_composition"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"enable-menu-animations",label:s("settings.rdp.enable.menu_animations"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"disable-bitmap-caching",label:s("settings.rdp.disable.bitmap_caching"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")}),e.jsx(p,{name:"disable-offscreen-caching",label:s("settings.rdp.disable.offscreen_caching"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")})]})]})},{Title:De}=C,Ge=({get:a,set:r})=>{let{t:s}=b();return e.jsxs("div",{children:[e.jsx(De,{level:5,style:{marginTop:0},children:s("settings.vnc.setting")}),e.jsxs(w,{onFinish:r,request:a,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(N,{name:"color-depth",label:s("assets.color_depth"),fieldProps:{options:[{value:"",label:s("general.default")},{value:"8",label:"8"},{value:"16",label:"16"},{value:"24",label:"24"},{value:"32",label:"32"}]}}),e.jsx(N,{name:"cursor",label:s("settings.vnc.cursor.setting"),fieldProps:{options:[{value:"",label:s("general.default")},{value:"local",label:s("identity.user.sources.local")},{value:"remote",label:s("settings.vnc.cursor.remote")}]}}),e.jsx(p,{name:"swap-red-blue",label:s("settings.vnc.swap_red_blue"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled")})]})]})},Ve=["watermark-content-user-account","watermark-content-asset-username","reverse-proxy-server-auto-tls","reverse-proxy-server-http-redirect-to-https","login-session-count-custom","ssh-server-port-forwarding-enabled","access-require-mfa","ssh-server-disable-password-auth","db-proxy-block-dml"];class We{constructor(){S(this,"group","admin/properties");S(this,"get",async()=>{let r=await q.get(`/${this.group}`);for(let s in r)r.hasOwnProperty(s)&&(r[s]==="-"&&(r[s]=""),s.includes("enable")&&(r[s]=V.isTrue(r[s])),s.includes("disable")&&(r[s]=V.isTrue(r[s])),Ve.includes(s)&&(r[s]=V.isTrue(r[s])));return r});S(this,"set",async(r,s)=>{const t=s?`?securityToken=${encodeURIComponent(s)}`:"";await q.put(`/${this.group}${t}`,r)});S(this,"genRSAPrivateKey",async()=>(await q.post(`/${this.group}/gen-rsa-private-key`)).key);S(this,"sendMail",async r=>{await q.post(`/${this.group}/send-mail`,r)});S(this,"getLatestVersion",async()=>await q.get(`/${this.group}/latest-version?noerror`));S(this,"upgrade",async()=>{await q.post(`/${this.group}/upgrade`)});S(this,"upgradeStatus",async()=>await q.get(`/${this.group}/upgrade-status`));S(this,"getClientIPs",async()=>await q.get(`/${this.group}/client-ips`))}}let R=new We;const{Title:He}=C,Qe=({get:a,set:r})=>{const{isMobile:s}=$();let{t}=b(),[l,n]=h.useState(!1),{message:c}=ae.useApp();const o=async()=>{let i=await a();return n(i["mail-enabled"]),i},d=async i=>{await R.sendMail(i),c.success(t("general.success"))};return e.jsxs("div",{children:[e.jsx(He,{level:5,style:{marginTop:0},children:t("settings.mail.setting")}),e.jsxs(ne,{gutter:16,children:[e.jsx(Q,{span:s?24:12,children:e.jsx(ee,{children:e.jsxs(w,{onFinish:r,request:o,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"mail-enabled",label:t("settings.mail.enabled"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsx(g,{name:"mail-host",label:t("settings.mail.host"),required:l,disabled:!l}),e.jsx(y,{name:"mail-port",label:t("settings.mail.port"),required:l,disabled:!l,min:1,max:65535,fieldProps:{precision:0}}),e.jsx(g,{name:"mail-username",label:t("settings.mail.username"),required:l,disabled:!l}),e.jsx(g.Password,{name:"mail-password",label:t("settings.mail.password"),required:l,disabled:!l}),e.jsx(g,{name:"mail-from",label:t("settings.mail.from"),placeholder:"name ",disabled:!l}),e.jsx(p,{name:"mail-use-ssl",label:"SSL",disabled:!l,checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:"mail-insecure-skip-verify",label:"Server Name Insecure Skip Verify",disabled:!l,checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")})]})})}),e.jsx(Q,{span:s?24:12,children:e.jsxs(ee,{children:[e.jsx(L,{message:t("settings.mail.tip"),type:"warning",style:{marginBottom:10}}),e.jsxs(w,{onFinish:d,submitter:{searchConfig:{submitText:t("settings.mail.send")},resetButtonProps:{style:{display:"none"}}},children:[e.jsx(g,{name:"mail",label:t("settings.mail.mail"),rules:[{required:!0}]}),e.jsx(g,{name:"title",label:t("settings.mail.title"),rules:[{required:!0}]}),e.jsx(X,{name:"content",label:t("settings.mail.content"),rules:[{required:!0}],fieldProps:{rows:4}})]})]})})]})]})},{Title:Je}=C,Xe=({get:a,set:r})=>{const{isMobile:s}=$();let{t}=b(),[l,n]=h.useState(),[c,o]=h.useState();const d=async()=>{let m=await a();n(m["login-lock-enabled"]),o(m["login-session-count-custom"]);try{m["password-strength"]=JSON.parse(m["password-strength-policy"]||"{}")}catch{m["password-strength"]={}}return m},i=async m=>{const x=m["password-strength"];return x&&(delete m["password-strength"],m["password-strength-policy"]=JSON.stringify(x)),await r(m)};return e.jsxs("div",{children:[e.jsx(Je,{level:5,style:{marginTop:0},children:t("settings.security.setting")}),e.jsxs(w,{onFinish:i,request:d,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(B,{orientation:"left",children:t("settings.security.protection")}),e.jsxs("div",{className:"flex md:items-center md:gap-2 md:flex-row flex-col",children:[e.jsx(p,{name:"login-captcha-enabled",label:t("settings.security.captcha"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:"login-force-totp-enabled",label:t("settings.security.force_otp"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:"disable-password-login",label:t("settings.security.disable_password_login"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")})]}),e.jsxs("div",{className:"flex md:items-center md:gap-2 md:flex-row flex-col",children:[e.jsx(p,{name:"access-require-mfa",label:t("settings.security.access_require_mfa"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(y,{name:"access-mfa-expires-at",label:t("settings.security.access_mfa_expires_at"),min:0,addonAfter:t("general.minute"),fieldProps:{precision:0}})]}),e.jsx(B,{orientation:"left",children:t("settings.security.session_management")}),e.jsxs("div",{className:"flex md:items-center md:gap-2 md:flex-row flex-col",children:[e.jsx(p,{name:"login-session-count-custom",label:t("settings.security.session.count_custom"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:c,onChange:o}}),e.jsx(y,{name:"login-session-count-limit",label:t("settings.security.session.count_limit"),min:1,required:c,disabled:!c,addonAfter:t("settings.security.devices"),fieldProps:{precision:0}}),e.jsx(y,{name:"login-session-duration",label:t("settings.security.session.duration"),min:1,addonAfter:t("general.minute"),fieldProps:{precision:0}}),e.jsx(y,{name:"password-expiration-period",label:t("settings.security.password.expiration_period"),tooltip:t("general.less-zero-tip"),min:-1,required:!0,addonAfter:t("general.days"),fieldProps:{precision:0}}),e.jsx(y,{name:"user-client-cert-valid-days",label:t("settings.security.client_cert_valid_days"),min:1,addonAfter:t("general.days"),fieldProps:{precision:0}})]}),e.jsx(B,{orientation:"left",children:t("settings.security.password.complexity")}),e.jsx(be.Group,{label:t("settings.security.password.complexity"),name:"password-strength-type",options:[{label:t("settings.security.password.recommend"),value:"recommend"},{label:t("settings.security.password.customize"),value:"customize"}]}),e.jsx(ie,{name:["password-strength-type"],children:(m,x)=>m["password-strength-type"]!=="customize"?null:e.jsxs("div",{className:"rounded-md p-4 bg-gray-50 mt-4 dark:bg-[#141414]",children:[e.jsx(y,{name:["password-strength","minLength"],label:t("settings.security.password.too_short"),min:1,required:!0,addonAfter:t("settings.security.password.character")}),e.jsx(y,{name:["password-strength","minCharacterType"],label:t("settings.security.password.too_simple"),min:1,max:3,required:!0,addonAfter:t("assets.type")}),e.jsx(p,{name:["password-strength","mustNotContainUsername"],label:t("settings.security.password.cannot_contain_username"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:["password-strength","mustNotBePalindrome"],label:t("settings.security.password.cannot_be_palindrome"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")}),e.jsx(p,{name:["password-strength","mustNotWeak"],label:t("settings.security.password.cannot_be_weak"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled")})]})}),e.jsx(B,{orientation:"left",children:t("settings.security.login_lock.setting")}),e.jsx(L,{message:e.jsxs("div",{children:[t("settings.security.login_lock.tip"),e.jsx(Ee,{to:"/login-locked",children:e.jsxs("span",{className:"ml-2",children:["[",t("menus.identity.submenus.login_locked"),"]"]})})]}),type:"info",style:{marginBottom:16}}),e.jsx(p,{name:"login-lock-enabled",label:t("settings.security.login_lock.enabled"),checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsxs("div",{className:f("grid gap-4",s?"grid-cols-1":"grid-cols-4"),children:[e.jsx(y,{name:"login-lock-failed-duration",label:t("settings.security.login_lock.failed_duration"),min:1,required:l,disabled:!l,addonAfter:t("general.minute")}),e.jsx(y,{name:"login-lock-failed-times",label:t("settings.security.login_lock.failed_times"),min:1,required:l,disabled:!l}),e.jsx(y,{name:"login-lock-account-duration",label:t("settings.security.login_lock.account_duration"),min:0,required:l,addonAfter:t("general.minute"),disabled:!l}),e.jsx(y,{name:"login-lock-ip-duration",label:t("settings.security.login_lock.ip_duration"),min:0,required:l,addonAfter:t("general.minute"),disabled:!l})]})]})]})},{Title:Ye,Paragraph:le}=C,Ze=({get:a,set:r})=>{let{t:s}=b();const t=h.useRef(null);let[l,n]=h.useState(!1),[c,o]=h.useState(!1),[d,i]=h.useState(!1),[m,x]=h.useState(!1),[j,T]=h.useState(!1);const[F]=I.useForm(),M=async P=>{await t.current?.validateFields(),await r(P)},k=async()=>{let P=await a();n(P["ssh-server-enabled"]),o(P["ssh-server-port-forwarding-enabled"]);const u=P["ssh-server-private-key-exists"],_=typeof u=="string"?u.toLowerCase()==="true":!!u;return i(_),P};let E=oe({mutationFn:R.genRSAPrivateKey,onSuccess:P=>{F.setFieldsValue({privateKey:P})}});const K=()=>{F.resetFields(),x(!0)},v=async()=>{const P=await F.validateFields();T(!0);try{await r({"ssh-server-private-key":P.privateKey})!==!1&&(i(!0),x(!1),F.resetFields())}finally{T(!1)}};return e.jsxs("div",{children:[e.jsx(Ye,{level:5,style:{marginTop:0},children:s("settings.sshd.setting")}),e.jsx(L,{message:s("settings.sshd.tip"),type:"info",style:{marginBottom:10}}),e.jsxs("div",{className:"space-y-1 mb-4 border rounded-lg p-4",children:[e.jsx("div",{className:"font-medium",children:s("settings.sshd.usage")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("settings.sshd.mode_proxy")}),e.jsx("div",{children:e.jsx(le,{style:{marginBottom:0},copyable:!0,children:"ssh username@host -p port"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("settings.sshd.direct_proxy")}),e.jsx("div",{children:e.jsx(le,{style:{marginBottom:0},copyable:!0,children:"ssh username:asset-name@host -p port"})})]})]}),e.jsxs(w,{formRef:t,onFinish:M,request:k,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"ssh-server-enabled",label:s("settings.sshd.enabled"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsx(g,{name:"ssh-server-addr",label:s("settings.sshd.addr"),placeholder:"0.0.0.0:2022",rules:[{required:l}],disabled:!l}),e.jsx(I.Item,{label:s("settings.sshd.private_key"),children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{type:"primary",onClick:K,disabled:!l,children:s("settings.sshd.private_key_button")}),e.jsx(C.Text,{type:d?"success":"secondary",children:s(d?"settings.sshd.private_key_status_set":"settings.sshd.private_key_status_empty")})]})}),e.jsx(p,{name:"ssh-server-port-forwarding-enabled",label:s("settings.sshd.port_forwarding.enabled"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:c,onChange:o}}),e.jsx(X,{name:"ssh-server-port-forwarding-host-port",label:s("settings.sshd.port_forwarding.host_port"),rules:[{required:c}],disabled:!c,placeholder:"172.16.0.1:3306,10.10.0.3:5432",fieldProps:{rows:4}}),e.jsx(p,{name:"ssh-server-disable-password-auth",label:s("settings.sshd.disable_password_auth"),checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")})]}),e.jsx(xe,{title:s("settings.sshd.private_key_modal_title"),open:m,onOk:v,onCancel:()=>x(!1),okText:s("actions.save"),cancelText:s("actions.cancel"),confirmLoading:j,destroyOnClose:!0,children:e.jsxs(I,{form:F,layout:"vertical",children:[e.jsx(I.Item,{name:"privateKey",label:s("settings.sshd.private_key"),rules:[{required:!0}],children:e.jsx(ye.TextArea,{rows:8,placeholder:"RSA、EC、DSA、OPENSSH"})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{onClick:()=>E.mutate(),loading:E.isPending,children:s("assets.generate_private_key")}),e.jsx(C.Text,{type:"secondary",children:s("settings.sshd.private_key_modal_tip")})]})]})})]})},{Title:es,Paragraph:re}=C,ss=({get:a,set:r})=>{const{t:s}=b(),t=h.useRef(null),[l,n]=h.useState(!1),c=async d=>(await t.current?.validateFields(),await r(d)),o=async()=>{const d=await a();return n(d["db-proxy-enabled"]),d};return e.jsxs("div",{children:[e.jsx(es,{level:5,style:{marginTop:0},children:s("db.proxy.setting")}),e.jsx(L,{message:s("db.proxy.tip"),type:"info",style:{marginBottom:10}}),e.jsxs("div",{className:"space-y-1 mb-4 border rounded-lg p-4",children:[e.jsx("div",{className:"font-medium",children:s("db.proxy.usage_title")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("db.proxy.usage_client")}),e.jsx("div",{children:e.jsx(re,{style:{marginBottom:0},copyable:!0,children:"mysql -h host -P port -u username@asset_name -p"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{children:s("db.proxy.password_label")}),e.jsx("div",{children:e.jsxs(re,{style:{marginBottom:0},children:[s("db.proxy.password_tip_prefix"),e.jsx(ce,{to:"/info?activeKey=access-token",children:s("db.proxy.password_tip_link")}),s("db.proxy.password_tip_suffix")]})})]})]}),e.jsxs(w,{formRef:t,onFinish:c,request:o,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"db-proxy-enabled",label:s("db.proxy.enabled"),checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:l,onChange:n}}),e.jsx(g,{name:"db-proxy-addr",label:s("settings.sshd.addr"),placeholder:"0.0.0.0:3307",rules:[{required:l}],disabled:!l}),e.jsx(p,{name:"db-proxy-block-dml",label:s("db.proxy.block_dml"),tooltip:s("db.proxy.block_dml_tip"),checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")}),e.jsx(N,{name:"db-sql-log-saved-limit-days",label:s("db.sql_log.saved_limit_days"),fieldProps:{options:[{value:"",label:"♾️"},{value:"7",label:"7"},{value:"15",label:"15"},{value:"30",label:"30"},{value:"60",label:"60"},{value:"180",label:"180"}]},addonAfter:s("general.days")})]})]})},{Title:ts,Text:ls}=C,rs=(a=we)=>Object.entries(a).map(([r,s])=>({label:r,colors:s})),as=({get:a,set:r})=>{const{isMobile:s}=$();let{t}=b(),[l,n]=h.useState(),[c,o]=h.useState(),[d,i]=h.useState(""),[m,x]=h.useState(""),[j,T]=h.useState(!1),{license:F}=G();const M=async()=>{let u=await a();return n(u["system-logo"]),i(u["watermark-font-color"]),T(u["watermark-enabled"]),o(u["system-login-background-image"]),x(u["system-login-background-color"]),u},k=u=>(u["system-logo"]=l,u["watermark-font-color"]=d,u["system-login-background-image"]=c,u["system-login-background-color"]=m,r(u)),E=({file:u,onSuccess:_})=>{const A=new FileReader;u&&(A.readAsDataURL(u),A.onloadend=function(){let O=A.result;_(O)})},K=u=>{let _=u.target.files[0];E({file:_,onSuccess:A=>{n(A)}})},{token:v}=fe.useToken(),P=rs({primary:je(v.colorPrimary),red:Pe,green:Ce});return e.jsxs("div",{children:[e.jsx(ts,{level:5,style:{marginTop:0},children:t("menus.setting.label")}),e.jsxs(w,{onFinish:k,request:M,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(B,{orientation:"left",children:t("settings.system.basic_info_title")}),e.jsx(D,{disabled:F.isFree(),children:e.jsxs("div",{className:f("flex gap-4",s?"flex-col items-center":"items-start"),children:[e.jsx("div",{className:f(s&&"w-full flex justify-center"),children:e.jsx(I.Item,{name:"system-logo",label:t("settings.system.logo"),rules:[{required:!0}],children:e.jsxs("div",{className:"logo-upload-container",children:[e.jsx("input",{id:"file",type:"file",accept:".png,.jpg,.jpeg",style:{display:"none"},onChange:K}),e.jsx("div",{onClick:()=>{document.getElementById("file")?.click()},className:f("logo-preview border border-dashed border-gray-300 rounded-md p-3 cursor-pointer hover:border-blue-400 transition-colors flex flex-col items-center justify-center",s?"w-24 h-24":"w-20 h-20"),children:l?e.jsx(ke,{className:"w-full h-full object-contain",src:l,alt:"logo",preview:!1}):e.jsxs("div",{className:"flex flex-col items-center gap-1 text-gray-400",children:[e.jsx(ue,{size:16}),e.jsx(ls,{type:"secondary",className:"text-xs",children:t("general.upload")})]})})]})})}),e.jsxs("div",{className:f(s&&"w-full"),children:[e.jsxs("div",{className:f("flex gap-4",s?"flex-col":"items-center"),children:[e.jsx(g,{name:"system-name",label:t("settings.system.name"),rules:[{required:!0}],width:s?"xl":void 0}),e.jsx(g,{name:"system-icp",label:t("settings.system.icp"),width:s?"xl":void 0})]}),e.jsx("div",{children:e.jsx(g,{name:"system-copyright",label:t("settings.system.copyright"),rules:[{required:!0}],width:"xl"})})]})]})}),e.jsx(B,{orientation:"left",children:t("settings.system.watermark.setting")}),e.jsxs(D,{disabled:F.isFree(),children:[e.jsx(p,{name:"watermark-enabled",label:t("identity.user.watermark"),rules:[{required:!0}],checkedChildren:t("general.enabled"),unCheckedChildren:t("general.disabled"),fieldProps:{checked:j,onChange:T}}),e.jsxs("div",{className:f("flex gap-4",s?"flex-col":"items-center flex-wrap"),children:[e.jsx(g,{name:"watermark-content",label:t("settings.system.watermark.content"),rules:[{required:!1}],disabled:!j,width:s?"xl":void 0}),e.jsxs("div",{className:f("flex gap-4",s?"flex-col":"items-center"),children:[e.jsx(se,{name:"watermark-content-user-account",label:t("settings.system.watermark.append_user"),disabled:!j}),e.jsx(se,{name:"watermark-content-asset-username",label:t("settings.system.watermark.append_asset"),disabled:!j})]}),e.jsx(I.Item,{name:"watermark-font-color",label:t("settings.system.watermark.font_color"),rules:[{required:!1}],children:e.jsx(ve,{disabled:!j,presets:P,onChange:u=>{let _=u.toRgb();i(`rgba(${_.r}, ${_.g}, ${_.b}, ${_.a})`)}})})]}),e.jsx("div",{className:f(s?"w-full":"w-1/2"),children:e.jsx(_e,{name:"watermark-font-size",label:t("settings.system.watermark.font_size"),rules:[{required:!1}],min:1,max:100,disabled:!j,marks:{1:t("settings.system.watermark.size_small"),25:t("settings.system.watermark.size_medium"),50:t("settings.system.watermark.size_large"),100:t("settings.system.watermark.size_xlarge")}})})]})]})]})},ns=({label:a,isPending:r,error:s,value:t,errorText:l,isMobile:n=!1})=>{const c=()=>r?e.jsx(Se,{}):s!=null?e.jsx("div",{style:{color:"red"},children:l}):e.jsx("div",{className:"font-normal ml-1",children:t});return e.jsxs("div",{className:f("font-bold flex items-center gap-2",n&&"text-sm"),children:[e.jsxs("div",{children:[a,": "]}),e.jsx("div",{children:c()})]})},{Title:is}=C,ds=()=>{const{isMobile:a}=$(),{t:r}=b();let s=Z({queryKey:["branding"],queryFn:Ne.getBranding});return e.jsxs("div",{children:[e.jsx("div",{className:f("flex flex-col gap-3 md:flex-row md:items-center md:justify-between mb-3",a&&"items-stretch"),children:e.jsx(is,{level:5,style:{margin:0},children:r("settings.about.setting")})}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx("div",{className:f("space-y-4",a&&"w-full px-2"),children:e.jsx("div",{className:f("flex flex-col gap-1","text-left"),children:e.jsx(ns,{label:r("settings.about.current_version"),isPending:s.isPending,error:s.error,value:s.data?.version,errorText:r("error"),isMobile:a})})})})]})},{Title:os}=C,cs=()=>{let{t:a}=b(),[r,s]=h.useState(!1),[t,l]=h.useState(!1);const n=o=>{if(!o)return;const d=new FileReader;d.onload=async()=>{let i=JSON.parse(d.result.toString());s(!0);try{await q.post("/admin/backup/import",i),z.success(a("settings.backup.restore_success"),3)}finally{s(!1)}},d.readAsText(o[0])},c=async()=>{l(!0);try{const o=await q.get("/admin/backup/export",{responseType:"blob"}),d=window.URL.createObjectURL(new Blob([o])),i=document.createElement("a");i.href=d,i.setAttribute("download",`backup_${new Date().toISOString().replace(/[:.]/g,"-")}.json`),document.body.appendChild(i),i.click(),i.remove(),window.URL.revokeObjectURL(d),z.success(a("settings.backup.export_success")||"导出成功")}catch{z.error(a("settings.backup.export_failed")||"导出失败")}finally{l(!1)}};return e.jsxs("div",{children:[e.jsx(os,{level:5,style:{marginTop:0},children:a("settings.backup.setting")}),e.jsxs(te,{direction:"vertical",children:[e.jsx(L,{message:a("settings.backup.tip"),type:"info"}),e.jsxs(te,{children:[e.jsx(U,{type:"primary",loading:t,onClick:c,children:a("settings.backup.export")||"导出备份"}),e.jsx(U,{loading:r,onClick:()=>{document.getElementById("file-upload").click()},children:a("settings.backup.recovery")}),e.jsx("input",{type:"file",id:"file-upload",style:{display:"none"},accept:".json",onChange:async o=>{let d=o.target.files;await n(d),o.target.value=""}})]})]})]})};class us{constructor(){S(this,"group","admin/logos");S(this,"logos",async()=>await q.get(`/${this.group}`));S(this,"upload",async r=>{const s=new FormData;return s.append("file",r),await q.postForm(`/${this.group}/upload`,s)});S(this,"delete",async r=>await q.delete(`/${this.group}/${r}`))}}const W=new us,{Title:ps}=C,gs=()=>{let{t:a}=b(),r=Z({queryKey:["system-logos"],queryFn:W.logos});const s=l=>l.size/1024/1024?!0:(z.error("Image must smaller than 1MB!"),!1),t=async({file:l,onSuccess:n})=>{W.upload(l).then(c=>{r.refetch(),n(c)})};return e.jsxs("div",{className:"space-y-2",children:[e.jsx(ps,{level:5,style:{marginTop:0},children:a("settings.logo.setting")}),e.jsx("div",{children:a("settings.logo.preset")}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:(Array.isArray(r.data)?r.data.filter(l=>!l.deletable):[]).map(l=>e.jsx(J,{title:l.name,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2",children:e.jsx("img",{src:l.data,alt:l.name},l.name)},l.name)}))}),e.jsx("div",{children:a("settings.logo.custom")}),e.jsx("div",{children:e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[(Array.isArray(r.data)?r.data.filter(l=>l.deletable):[]).map(l=>e.jsx(qe,{title:a("general.confirm_delete"),onConfirm:()=>{W.delete(l.name).then(n=>{r.refetch()})},children:e.jsx(J,{title:l.name,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-red-500",children:e.jsx("img",{src:l.data,alt:l.name},l.name)})})},"delete-confirm"+l.name)),e.jsx(Te,{accept:"image/*",showUploadList:!1,customRequest:t,beforeUpload:s,multiple:!0,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-blue-500 flex items-center justify-center",children:e.jsx(ue,{className:"text-blue-500 h-4 w-4"})})})]})})]})},ms=({get:a,set:r})=>{let{t:s}=b(),[t,l]=h.useState(!1),{license:n}=G(),{message:c}=ae.useApp(),o=oe({mutationFn:Ie.syncLdapUser,onSuccess:()=>{c.success(s("general.success"))}});const d=async()=>{let i=await a();return l(i["ldap-enabled"]),i};return e.jsx("div",{children:e.jsxs(D,{disabled:!n.isEnterprise(),children:[e.jsx(L,{message:s("settings.ldap.tip"),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:d,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}},render:(i,m)=>[...m,e.jsx(U,{color:"geekblue",variant:"filled",loading:o.isPending,onClick:()=>o.mutate(),disabled:!t,children:s("actions.refresh")},"sync")]},children:[e.jsx(p,{name:"ldap-enabled",label:s("settings.ldap.setting"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"ldap-url",label:s("settings.ldap.url"),placeholder:"ldap://server:389",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-user",label:s("settings.ldap.user"),tooltip:"cn=administrator,dc=domain,dc=com | administrator@domain.com",placeholder:"cn=administrator,dc=domain,dc=com | administrator@domain.com",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-password",label:s("settings.ldap.password"),placeholder:"******",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-base-dn",label:s("settings.ldap.base_dn"),tooltip:"dc=domain,dc=com",placeholder:"dc=domain,dc=com",disabled:!t,rules:[{required:t}]}),e.jsx(y,{name:"ldap-user-search-size-limit",label:s("settings.ldap.user_search.size_limit"),tooltip:s("settings.ldap.user_search.size_limit_tooltip"),placeholder:"1000",min:1,disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-user-search-filter",label:s("settings.ldap.user_search.filter"),tooltip:s("settings.ldap.user_search.filter_tooltip"),placeholder:"(objectClass=*)",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"ldap-user-property-mapping",label:s("settings.ldap.user_property_mapping"),placeholder:'{"username": "cn", "nickname": "sn", "mail": "mail"}',disabled:!t,rules:[{required:t}]})]})]})})},hs=({get:a,set:r})=>{const{isMobile:s}=$();let[t,l]=h.useState(),{t:n}=b();const c=async()=>{let i=await a();return l(i["passkey-enabled"]),i["passkey-origins"]=i["passkey-origins"]?.split(","),i},o=async i=>(i["passkey-origins"]=i["passkey-origins"]?.join(","),await r(i));function d(i){try{const m=new URL(i);return m.protocol==="http:"||m.protocol==="https:"}catch{return!1}}return e.jsx("div",{children:e.jsxs(w,{onFinish:o,request:c,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"passkey-enabled",label:n("settings.security.passkey.enabled"),checkedChildren:n("general.enabled"),unCheckedChildren:n("general.disabled"),rules:[{required:!0}],fieldProps:{checked:t,onChange:l}}),e.jsxs("div",{className:f("flex gap-2",s?"flex-col":"items-center"),children:[e.jsx(g,{name:"passkey-domain",label:n("settings.security.passkey.domain"),rules:[{required:t}],disabled:!t,width:s?"xl":void 0}),e.jsx("div",{className:f(s?"w-full":"flex-grow"),children:e.jsx(N,{name:"passkey-origins",label:n("settings.security.passkey.origins"),tooltip:n("settings.security.passkey.origins_tip"),disabled:!t,fieldProps:{mode:"tags"},rules:[{required:t},({getFieldValue:i})=>({validator(m,x){if(!x)return Promise.resolve();for(let j=0;j{let{t:s}=b(),[t,l]=h.useState(!1),{license:n}=G();const c=async()=>{let o=await a();return l(o["wechat-work-enabled"]),o};return e.jsx("div",{children:e.jsxs(D,{disabled:!n.isEnterprise(),children:[e.jsx(L,{message:s("settings.wechat_work.tip"),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:c,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"wechat-work-enabled",label:s("settings.wechat_work.enabled"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"wechat-work-corp-id",label:s("settings.wechat_work.corp_id"),placeholder:s("settings.wechat_work.corp_id_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"wechat-work-agent-id",label:s("settings.wechat_work.agent_id"),placeholder:s("settings.wechat_work.agent_id_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g.Password,{name:"wechat-work-secret",label:s("settings.wechat_work.secret"),placeholder:"******",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"wechat-work-redirect-uri",label:s("identity.oidc_client.redirect_uris"),placeholder:s("settings.wechat_work.redirect_uri_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(de,{name:"wechat-work-department",label:s("settings.oidc.department"),placeholder:s("settings.oidc.department_placeholder"),disabled:!t,fieldProps:{showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>await pe.getTree()})]})]})})},xs=({get:a,set:r})=>{let{t:s}=b(),[t,l]=h.useState(!1),{license:n}=G();const c=async()=>{let o=await a();return l(o["oidc-enabled"]),o};return e.jsx("div",{children:e.jsxs(D,{disabled:!n.isEnterprise(),children:[e.jsx(L,{message:s("settings.oidc.tip"),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:c,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"oidc-enabled",label:s("settings.oidc.enabled"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"oidc-issuer",label:s("settings.oidc.issuer"),placeholder:s("settings.oidc.issuer_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"oidc-client-id",label:s("settings.oidc.client_id"),placeholder:s("settings.oidc.client_id_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g.Password,{name:"oidc-client-secret",label:s("settings.oidc.client_secret"),placeholder:"******",disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"oidc-redirect-uri",label:s("identity.oidc_client.redirect_uris"),placeholder:s("settings.oidc.redirect_uri_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(g,{name:"oidc-scopes",label:s("settings.oidc.scopes"),placeholder:s("settings.oidc.scopes_placeholder"),disabled:!t,rules:[{required:t}]}),e.jsx(de,{name:"oidc-department",label:s("settings.oidc.department"),placeholder:s("settings.oidc.department_placeholder"),disabled:!t,fieldProps:{showSearch:!0,treeDefaultExpandAll:!0,treeNodeFilterProp:"title"},request:async()=>await pe.getTree()})]})]})})},ys=({get:a,set:r})=>{let{t:s}=b();const t=[{key:"webauthn",label:s("settings.webauthn.setting"),children:e.jsx(hs,{get:a,set:r})},{key:"ldap",label:s("settings.ldap.setting"),children:e.jsx(ms,{get:a,set:r})},{key:"wechat-work",label:s("settings.wechat_work.setting"),children:e.jsx(bs,{get:a,set:r})},{key:"oidc",label:s("settings.oidc.setting"),children:e.jsx(xs,{get:a,set:r})}];return e.jsx("div",{children:e.jsx(Y,{items:t})})},fs=({get:a,set:r})=>{const{t:s}=b(),[t,l]=h.useState(!1),n=async()=>{let c=await a();return l(c["oidc-server-enabled"]),c};return e.jsxs("div",{children:[e.jsx(L,{message:s("settings.oidc_server.description"),description:e.jsxs("div",{children:[e.jsxs("p",{children:[s("settings.oidc_server.manage_tip_prefix"),e.jsx(ce,{to:"/oidc-client",children:s("settings.oidc_server.manage_link")}),s("settings.oidc_server.manage_tip_suffix")]}),e.jsx("p",{children:s("settings.oidc_server.endpoints_title")}),e.jsxs("ul",{style:{marginBottom:0},children:[e.jsxs("li",{children:[s("settings.oidc_server.endpoint.discovery"),": ",e.jsx("code",{children:"/api/.well-known/openid-configuration"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.jwks"),": ",e.jsx("code",{children:"/api/oidc/server/.well-known/jwks.json"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.authorization"),": ",e.jsx("code",{children:"/api/oidc/server/authorize"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.token"),": ",e.jsx("code",{children:"/api/oidc/server/token"})]}),e.jsxs("li",{children:[s("settings.oidc_server.endpoint.userinfo"),": ",e.jsx("code",{children:"/api/oidc/server/userinfo"})]})]})]}),type:"info",showIcon:!0,style:{marginBottom:16}}),e.jsxs(w,{onFinish:r,request:n,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(p,{name:"oidc-server-enabled",label:s("settings.oidc_server.enable_label"),rules:[{required:!0}],checkedChildren:s("general.enabled"),unCheckedChildren:s("general.disabled"),fieldProps:{checked:t,onChange:l}}),e.jsx(g,{name:"oidc-server-issuer",label:s("settings.oidc_server.issuer_label"),placeholder:"https://next-terminal.example.com/api",tooltip:s("settings.oidc_server.issuer_tooltip"),disabled:!t,rules:[{required:t,message:s("settings.oidc_server.issuer_required")},{type:"url",message:s("general.invalid_url")}]}),e.jsx(y,{name:"oidc-server-access-token-ttl",label:s("settings.oidc_server.access_token_ttl_label"),placeholder:"3600",tooltip:s("settings.oidc_server.access_token_ttl_tooltip"),min:60,max:86400,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}}),e.jsx(y,{name:"oidc-server-refresh-token-ttl",label:s("settings.oidc_server.refresh_token_ttl_label"),placeholder:"604800",tooltip:s("settings.oidc_server.refresh_token_ttl_tooltip"),min:3600,max:2592e3,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}}),e.jsx(y,{name:"oidc-server-id-token-ttl",label:s("settings.oidc_server.id_token_ttl_label"),placeholder:"3600",tooltip:s("settings.oidc_server.id_token_ttl_tooltip"),min:60,max:86400,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}}),e.jsx(y,{name:"oidc-server-auth-code-ttl",label:s("settings.oidc_server.auth_code_ttl_label"),placeholder:"600",tooltip:s("settings.oidc_server.auth_code_ttl_tooltip"),min:60,max:1800,disabled:!t,rules:[{required:t,message:s("settings.oidc_server.ttl_required")}],fieldProps:{precision:0}})]})]})},js=({get:a,set:r})=>{let{t:s}=b();const t=[{key:"oidc-server",label:"OIDC Server",children:e.jsx(fs,{get:a,set:r})}];return e.jsx("div",{children:e.jsx(Y,{items:t})})},ks=({get:a,set:r})=>{let{t:s}=b(),[t,l]=h.useState([]),[n,c]=h.useState(null);h.useEffect(()=>{R.getClientIPs().then(i=>{c(i)}).catch(i=>{console.error("Failed to get client IPs:",i)})},[]);const o=async()=>{let i=await a();if(i["ip-trust-list"]){let m=i["ip-trust-list"].split(",");l(m)}return i},d=i=>(i["ip-trust-list"]=t.join(","),r(i));return e.jsx("div",{children:e.jsxs(w,{onFinish:d,request:o,submitter:{resetButtonProps:{style:{display:"none"}}},children:[e.jsx(B,{orientation:"left",children:s("settings.network.setting")}),e.jsx(N,{name:"ip-extractor",label:s("settings.system.ip.extractor"),rules:[{required:!0}],options:[{label:`${s("assets.addr")}${n?.direct?` (${n.direct})`:""}`,value:"direct"},{label:`Header(X-Real-IP)${n?.["x-real-ip"]?` (${n["x-real-ip"]})`:` (${s("settings.network.not_detected")})`}`,value:"x-real-ip"},{label:`Header(X-Forwarded-For)${n?.["x-forwarded-for"]?` (${n["x-forwarded-for"]})`:` (${s("settings.network.not_detected")})`}`,value:"x-forwarded-for"}]}),e.jsx(ie,{name:["ip-extractor"],children:i=>i["ip-extractor"]==="direct"?null:e.jsx(ne,{gutter:[16,16],children:e.jsx(Q,{xs:24,children:e.jsx(N,{name:"ip-trust-list",label:e.jsxs("div",{className:"flex items-center gap-1",children:[s("settings.system.ip.trust_list"),e.jsx(J,{title:s("settings.network.trust_ip_tip"),children:e.jsx(Me,{className:"text-gray-400",size:12})})]}),placeholder:s("settings.system.ip.trust_placeholder"),fieldProps:{mode:"tags",value:t,onChange:l}})})})})]})})},{Title:vs}=C,H=({enabled:a,namePrefix:r,configLabel:s,description:t,enableLabel:l,promptLabel:n,promptPlaceholder:c})=>e.jsxs(e.Fragment,{children:[e.jsx(B,{orientation:"left",children:s}),t&&e.jsx(C.Paragraph,{type:"secondary",style:{marginBottom:16},children:t}),e.jsx(p,{name:`llm-${r}-enabled`,label:l,disabled:!a}),e.jsx(X,{name:`llm-${r}-prompt`,label:n,placeholder:c,fieldProps:{rows:6,autoSize:{minRows:6,maxRows:12}},disabled:!a})]}),_s=({get:a,set:r})=>{const{t:s}=b(),{isMobile:t}=$(),[l,n]=h.useState(!1),c=async()=>{const o=await a();return n(o["llm-enabled"]),o["llm-shell-prompt"]||(o["llm-shell-prompt"]=s("settings.llm.shell_prompt_default")),o["llm-audit-prompt"]||(o["llm-audit-prompt"]=s("settings.llm.audit_prompt_default")),o["llm-audit-rdp-prompt"]||(o["llm-audit-rdp-prompt"]=s("settings.llm.audit_rdp_prompt_default")),o};return e.jsxs("div",{className:f(t&&"px-2"),children:[e.jsx(vs,{level:5,style:{marginTop:0},children:s("settings.llm.title")}),e.jsxs(w,{onFinish:r,request:c,autoFocus:!1,submitter:{resetButtonProps:{style:{display:"none"}}},layout:t?"vertical":"horizontal",labelCol:t?void 0:{span:6},wrapperCol:t?void 0:{span:14},children:[e.jsx(B,{orientation:"left",children:s("settings.llm.base_config")}),e.jsx(p,{name:"llm-enabled",label:s("settings.llm.enable"),fieldProps:{onChange:n}}),e.jsx(g.Password,{name:"llm-api-key",label:s("settings.llm.api_key"),placeholder:s("settings.llm.api_key_placeholder"),rules:[{required:l,message:s("settings.llm.api_key_required")}],disabled:!l}),e.jsx(g,{name:"llm-base-url",label:s("settings.llm.base_url"),placeholder:"https://api.openai.com/v1",rules:[{required:l,message:s("settings.llm.base_url_required")}],disabled:!l}),e.jsx(g,{name:"llm-proxy-url",label:s("settings.llm.proxy_url"),placeholder:s("settings.llm.proxy_url_placeholder"),disabled:!l}),e.jsx(g,{name:"llm-model",label:s("settings.llm.model"),placeholder:"gpt-3.5-turbo",rules:[{required:l,message:s("settings.llm.model_required")}],disabled:!l}),e.jsx(y,{name:"llm-temperature",label:s("settings.llm.temperature"),min:0,max:2,fieldProps:{step:.1,precision:1},initialValue:.7,disabled:!l}),e.jsx(y,{name:"llm-max-tokens",label:s("settings.llm.max_tokens"),min:1,initialValue:4096,disabled:!l}),e.jsx(H,{enabled:l,namePrefix:"shell",configLabel:s("settings.llm.shell_config"),enableLabel:s("settings.llm.shell_enable"),promptLabel:s("settings.llm.shell_prompt"),promptPlaceholder:s("settings.llm.shell_prompt_placeholder")}),e.jsx(H,{enabled:l,namePrefix:"audit",configLabel:s("settings.llm.audit_config"),description:s("settings.llm.audit_config_desc"),enableLabel:s("settings.llm.audit_enable"),promptLabel:s("settings.llm.audit_prompt"),promptPlaceholder:s("settings.llm.audit_prompt_placeholder")}),e.jsx(H,{enabled:l,namePrefix:"audit-rdp",configLabel:s("settings.llm.audit_rdp_config"),description:s("settings.llm.audit_rdp_config_desc"),enableLabel:s("settings.llm.audit_rdp_enable"),promptLabel:s("settings.llm.audit_rdp_prompt"),promptPlaceholder:s("settings.llm.audit_rdp_prompt_placeholder")})]})]})},Ls=()=>{const{isMobile:a}=$(),[r,s]=z.useMessage(),[t,l]=Ae();let n=Be(t.get("activeKey"),"system-setting"),[c,o]=h.useState(n),{t:d}=b(),[i,m]=h.useState(!1),[x,j]=h.useState(null);const T=Z({queryKey:["info"],queryFn:Le.getUserInfo}),F=u=>{o(u),l({activeKey:u})},M=async()=>{if(T.data)return!!T.data.mfaEnabled;try{return!!(await T.refetch()).data?.mfaEnabled}catch{return!1}},k=async u=>{try{return x?!1:await M()?new Promise((A,O)=>{j({values:u,resolve:A,reject:O}),m(!0)}):(await R.set(u),r.success(d("general.success")),!0)}catch(_){return console.error("Setting save error:",_),r.error(_?.message||d("general.error")),!1}},E=async u=>{if(!x){m(!1);return}const{values:_,resolve:A,reject:O}=x;try{await R.set(_,u),r.success(d("general.success")),A(!0)}catch(ge){O(ge)}finally{j(null),m(!1)}},K=()=>{x&&x.resolve(!1),j(null),m(!1)},v=async()=>{try{return await R.get()}catch(u){return console.error("Setting get error:",u),r.error(u?.message||d("general.error")),{}}},P=[{label:d("menus.setting.label"),key:"system-setting",children:e.jsx(as,{get:v,set:k})},{label:d("settings.security.setting"),key:"security-setting",children:e.jsx(Xe,{get:v,set:k})},{label:d("settings.sshd.setting"),key:"sshd",children:e.jsx(Ze,{get:v,set:k})},{label:d("db.proxy.setting"),key:"db-proxy",children:e.jsx(ss,{get:v,set:k})},{label:d("settings.rdp.setting"),key:"rdp",children:e.jsx(Ue,{get:v,set:k})},{label:d("settings.vnc.setting"),key:"vnc",children:e.jsx(Ge,{get:v,set:k})},{label:d("settings.mail.setting"),key:"mail",children:e.jsx(Qe,{get:v,set:k})},{label:d("settings.identity_methods"),key:"ldap",children:e.jsx(ys,{get:v,set:k})},{label:d("settings.identity_source.setting"),key:"identity-source",children:e.jsx(js,{get:v,set:k})},{label:d("settings.log.setting"),key:"log",children:e.jsx(Oe,{get:v,set:k})},{label:d("settings.backup.setting"),key:"backup",children:e.jsx(cs,{})},{label:d("settings.network.setting"),key:"network",children:e.jsx(ks,{get:v,set:k})},{label:d("settings.llm.title"),key:"llm",children:e.jsx(_s,{get:v,set:k})},{label:d("settings.logo.setting"),key:"logo",children:e.jsx(gs,{})},{label:d("settings.about.setting"),key:"about",children:e.jsx(ds,{})}];return e.jsxs("div",{className:f("px-4",a&&"px-2"),children:[e.jsx(Y,{tabPosition:a?"top":"left",activeKey:c,onChange:F,tabBarStyle:a?{}:{width:150},items:P,size:a?"small":"middle",className:f(a&&"mobile-setting-tabs")}),s,e.jsx($e,{open:i,forceReauth:!0,handleOk:E,handleCancel:K})]})};export{Ls as default}; diff --git a/server/resource/build/assets/SetupPage-CTGu1LkD.js b/server/resource/build/assets/SetupPage-DriicTxX.js similarity index 94% rename from server/resource/build/assets/SetupPage-CTGu1LkD.js rename to server/resource/build/assets/SetupPage-DriicTxX.js index 1f1b80885..d493431b1 100644 --- a/server/resource/build/assets/SetupPage-CTGu1LkD.js +++ b/server/resource/build/assets/SetupPage-DriicTxX.js @@ -1 +1 @@ -import{f as a,S as e,aG as k,a$ as K,ar as R,aZ as p,av as m,b0 as A,aK as B,aT as o}from"./antd-Afm2kNt7.js";import{e as g,f as E,u as Q,m as y}from"./index-BdfI9ZEv.js";import{u as x}from"./user-api-LAxz6xgj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const{Title:D}=K,Z=()=>{let[h,w]=a.useState(!1),f=g({queryKey:["branding"],queryFn:E.getBranding}),u=g({queryKey:["setup-status"],queryFn:x.getSetupStatus,retry:!1,initialData:{needSetup:!0}}),[j,P]=a.useState(""),[b,S]=a.useState(""),[v,l]=a.useState(),[n,d]=a.useState("");const N=a.useRef(null);let{t:s}=Q();const _=async()=>({type:"admin",recording:"enabled",watermark:"enabled"}),q=async t=>{x.setupUser(t).then(()=>{w(!0)}).catch(r=>{alert(r?.message)})},T=async t=>{P(t.target.value);let{status:r,error:i}=c(t.target.value,b);l(r),d(i)},C=t=>{S(t.target.value);let{status:r,error:i}=c(j,t.target.value);l(r),d(i)},c=(t,r)=>r===t?{status:"success",error:""}:{status:"error",error:s("identity.setup.password_not_same")},F=()=>u.isLoading?e.jsx("div",{className:"flex justify-center py-6",children:e.jsx(R,{})}):h?e.jsx(p,{status:"success",title:s("identity.setup.success"),extra:[e.jsx(m,{type:"link",href:"/login",children:s("identity.setup.go_to_login")},"go-login")]}):u.data?.needSetup?e.jsxs("div",{children:[y.hasText(n)&&e.jsx("div",{className:"mb-4",children:e.jsx(A,{showIcon:!0,type:"warning",message:n})}),e.jsxs(B,{formRef:N,request:_,onFinish:q,submitter:{submitButtonProps:{disabled:y.hasText(n)}},children:[e.jsx(o,{name:"username",label:s("audit.operation.account"),rules:[{required:!0}]}),e.jsx(o.Password,{name:"password",label:s("assets.password"),rules:[{required:!0}],fieldProps:{onChange:T}}),e.jsx(o.Password,{name:"newPassword2",label:s("account.confirm_password"),rules:[{required:!0}],validateStatus:v,fieldProps:{onChange:C}})]})]}):e.jsx(p,{status:"info",title:s("identity.setup.already_done_title"),subTitle:s("identity.setup.already_done_subtitle"),extra:[e.jsx(m,{type:"link",href:"/login",children:s("identity.setup.go_to_login")},"go-login")]});return e.jsx(k,{hashPriority:"high",children:e.jsx("div",{className:"bg-gray-100 h-screen w-screen flex flex-col items-center justify-center",children:e.jsxs("div",{className:"bg-white rounded-lg shadow-md p-8 min-w-[480px]",children:[e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsx(D,{level:2,children:f.data?.name}),e.jsx("div",{className:"font-medium mb-8",children:s("identity.setup.user")})]}),F()]})})})};export{Z as default}; +import{f as a,S as e,aG as k,a$ as K,ar as R,aZ as p,av as m,b0 as A,aK as B,aT as o}from"./antd-Afm2kNt7.js";import{e as g,f as E,u as Q,m as y}from"./index-DQXwuKC5.js";import{u as x}from"./user-api-BJxKseSg.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const{Title:D}=K,Z=()=>{let[h,w]=a.useState(!1),f=g({queryKey:["branding"],queryFn:E.getBranding}),u=g({queryKey:["setup-status"],queryFn:x.getSetupStatus,retry:!1,initialData:{needSetup:!0}}),[j,P]=a.useState(""),[b,S]=a.useState(""),[v,l]=a.useState(),[n,d]=a.useState("");const N=a.useRef(null);let{t:s}=Q();const _=async()=>({type:"admin",recording:"enabled",watermark:"enabled"}),q=async t=>{x.setupUser(t).then(()=>{w(!0)}).catch(r=>{alert(r?.message)})},T=async t=>{P(t.target.value);let{status:r,error:i}=c(t.target.value,b);l(r),d(i)},C=t=>{S(t.target.value);let{status:r,error:i}=c(j,t.target.value);l(r),d(i)},c=(t,r)=>r===t?{status:"success",error:""}:{status:"error",error:s("identity.setup.password_not_same")},F=()=>u.isLoading?e.jsx("div",{className:"flex justify-center py-6",children:e.jsx(R,{})}):h?e.jsx(p,{status:"success",title:s("identity.setup.success"),extra:[e.jsx(m,{type:"link",href:"/login",children:s("identity.setup.go_to_login")},"go-login")]}):u.data?.needSetup?e.jsxs("div",{children:[y.hasText(n)&&e.jsx("div",{className:"mb-4",children:e.jsx(A,{showIcon:!0,type:"warning",message:n})}),e.jsxs(B,{formRef:N,request:_,onFinish:q,submitter:{submitButtonProps:{disabled:y.hasText(n)}},children:[e.jsx(o,{name:"username",label:s("audit.operation.account"),rules:[{required:!0}]}),e.jsx(o.Password,{name:"password",label:s("assets.password"),rules:[{required:!0}],fieldProps:{onChange:T}}),e.jsx(o.Password,{name:"newPassword2",label:s("account.confirm_password"),rules:[{required:!0}],validateStatus:v,fieldProps:{onChange:C}})]})]}):e.jsx(p,{status:"info",title:s("identity.setup.already_done_title"),subTitle:s("identity.setup.already_done_subtitle"),extra:[e.jsx(m,{type:"link",href:"/login",children:s("identity.setup.go_to_login")},"go-login")]});return e.jsx(k,{hashPriority:"high",children:e.jsx("div",{className:"bg-gray-100 h-screen w-screen flex flex-col items-center justify-center",children:e.jsxs("div",{className:"bg-white rounded-lg shadow-md p-8 min-w-[480px]",children:[e.jsxs("div",{className:"flex flex-col items-center justify-center",children:[e.jsx(D,{level:2,children:f.data?.name}),e.jsx("div",{className:"font-medium mb-8",children:s("identity.setup.user")})]}),F()]})})})};export{Z as default}; diff --git a/server/resource/build/assets/SnippetPage-DmR5nBrh.js b/server/resource/build/assets/SnippetPage-Bp2O5-JS.js similarity index 98% rename from server/resource/build/assets/SnippetPage-DmR5nBrh.js rename to server/resource/build/assets/SnippetPage-Bp2O5-JS.js index 41bc906e6..23ed3acd4 100644 --- a/server/resource/build/assets/SnippetPage-DmR5nBrh.js +++ b/server/resource/build/assets/SnippetPage-Bp2O5-JS.js @@ -1 +1 @@ -import{f as p,S as t,U as P,aK as T,aT as x,aU as A,aV as R,aI as C,bi as f,aS as _,bz as B,av as F}from"./antd-Afm2kNt7.js";import{A as q,u as g,h as O}from"./index-BdfI9ZEv.js";import{g as z}from"./sort-BOdE-yay.js";import{N as b}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class K extends q{constructor(){super("admin/snippets")}}let v=new K;const U=v,M=({open:e,handleOk:n,handleCancel:u,confirmLoading:s,id:o})=>{let{t:i}=g();const l=p.useRef(null),m=async()=>o?await U.getById(o):{visibility:"private"};return t.jsx(P,{title:i(o?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async d=>{n(d)})},onCancel:()=>{u()},confirmLoading:s,children:t.jsxs(T,{formRef:l,request:m,submitter:!1,children:[t.jsx(x,{hidden:!0,name:"id"}),t.jsx(x,{label:i("general.name"),name:"name",rules:[{required:!0}]}),t.jsx(A,{label:i("assets.content"),name:"content",rules:[{required:!0}]}),t.jsx(R.Group,{name:"visibility",label:i("assets.snippet.visibility"),options:[{label:i("assets.snippet.visibility_private"),value:"private"},{label:i("assets.snippet.visibility_public"),value:"public"}],rules:[{required:!0}]})]})})},c=v,$=()=>{const{t:e}=g(),n=p.useRef(null);let[u,s]=p.useState(!1),[o,i]=p.useState();const{message:l}=C.useApp();let d=O({mutationFn:async a=>{a.id?await c.updateById(a.id,a):await c.create(a)},onSuccess:()=>{n.current?.reload(),s(!1),i(void 0),w()}});function w(){l.open({type:"success",content:e("general.success")})}const S=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",hideInSearch:!0,width:200,ellipsis:!0},{title:e("assets.content"),dataIndex:"content",key:"content",hideInSearch:!0,copyable:!0,ellipsis:!0},{title:e("assets.snippet.visibility"),dataIndex:"visibility",key:"visibility",width:100,hideInSearch:!0,render:(a,r)=>r.visibility==="public"?t.jsx(f,{color:"green",children:e("assets.snippet.visibility_public")}):t.jsx(f,{color:"default",children:e("assets.snippet.visibility_private")})},{title:e("general.creator"),key:"creator",dataIndex:"creator",hideInSearch:!0,width:200,ellipsis:!0},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",width:191},{title:e("actions.label"),valueType:"option",key:"option",width:100,render:(a,r,j,y)=>[t.jsx(b,{onClick:()=>{s(!0),i(r.id)},children:e("actions.edit")},"edit"),t.jsx(_,{title:e("general.confirm_delete"),onConfirm:async()=>{await c.deleteById(r.id),n.current?.reload()},children:t.jsx(b,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm")]}];return t.jsxs("div",{children:[t.jsx(B,{columns:S,actionRef:n,request:async(a={},r,j)=>{let[y,I]=z(r),k={pageIndex:a.current,pageSize:a.pageSize,order:y,field:I,keyword:a.keyword},h=await c.getPaging(k);return{data:h.items,success:!0,total:h.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.resource.submenus.snippet"),toolBarRender:()=>[t.jsx(F,{type:"primary",onClick:()=>{s(!0)},children:e("actions.new")},"snippet-add")]}),t.jsx(M,{id:o,open:u,confirmLoading:d.isPending,handleCancel:()=>{s(!1),i(void 0)},handleOk:d.mutate})]})};export{$ as default}; +import{f as p,S as t,U as P,aK as T,aT as x,aU as A,aV as R,aI as C,bi as f,aS as _,bz as B,av as F}from"./antd-Afm2kNt7.js";import{A as q,u as g,h as O}from"./index-DQXwuKC5.js";import{g as z}from"./sort-BOdE-yay.js";import{N as b}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";class K extends q{constructor(){super("admin/snippets")}}let v=new K;const U=v,M=({open:e,handleOk:n,handleCancel:u,confirmLoading:s,id:o})=>{let{t:i}=g();const l=p.useRef(null),m=async()=>o?await U.getById(o):{visibility:"private"};return t.jsx(P,{title:i(o?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async d=>{n(d)})},onCancel:()=>{u()},confirmLoading:s,children:t.jsxs(T,{formRef:l,request:m,submitter:!1,children:[t.jsx(x,{hidden:!0,name:"id"}),t.jsx(x,{label:i("general.name"),name:"name",rules:[{required:!0}]}),t.jsx(A,{label:i("assets.content"),name:"content",rules:[{required:!0}]}),t.jsx(R.Group,{name:"visibility",label:i("assets.snippet.visibility"),options:[{label:i("assets.snippet.visibility_private"),value:"private"},{label:i("assets.snippet.visibility_public"),value:"public"}],rules:[{required:!0}]})]})})},c=v,$=()=>{const{t:e}=g(),n=p.useRef(null);let[u,s]=p.useState(!1),[o,i]=p.useState();const{message:l}=C.useApp();let d=O({mutationFn:async a=>{a.id?await c.updateById(a.id,a):await c.create(a)},onSuccess:()=>{n.current?.reload(),s(!1),i(void 0),w()}});function w(){l.open({type:"success",content:e("general.success")})}const S=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",hideInSearch:!0,width:200,ellipsis:!0},{title:e("assets.content"),dataIndex:"content",key:"content",hideInSearch:!0,copyable:!0,ellipsis:!0},{title:e("assets.snippet.visibility"),dataIndex:"visibility",key:"visibility",width:100,hideInSearch:!0,render:(a,r)=>r.visibility==="public"?t.jsx(f,{color:"green",children:e("assets.snippet.visibility_public")}):t.jsx(f,{color:"default",children:e("assets.snippet.visibility_private")})},{title:e("general.creator"),key:"creator",dataIndex:"creator",hideInSearch:!0,width:200,ellipsis:!0},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",width:191},{title:e("actions.label"),valueType:"option",key:"option",width:100,render:(a,r,j,y)=>[t.jsx(b,{onClick:()=>{s(!0),i(r.id)},children:e("actions.edit")},"edit"),t.jsx(_,{title:e("general.confirm_delete"),onConfirm:async()=>{await c.deleteById(r.id),n.current?.reload()},children:t.jsx(b,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm")]}];return t.jsxs("div",{children:[t.jsx(B,{columns:S,actionRef:n,request:async(a={},r,j)=>{let[y,I]=z(r),k={pageIndex:a.current,pageSize:a.pageSize,order:y,field:I,keyword:a.keyword},h=await c.getPaging(k);return{data:h.items,success:!0,total:h.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.resource.submenus.snippet"),toolBarRender:()=>[t.jsx(F,{type:"primary",onClick:()=>{s(!0)},children:e("actions.new")},"snippet-add")]}),t.jsx(M,{id:o,open:u,confirmLoading:d.isPending,handleCancel:()=>{s(!1),i(void 0)},handleOk:d.mutate})]})};export{$ as default}; diff --git a/server/resource/build/assets/SnippetUserPage-DYKwTzpZ.js b/server/resource/build/assets/SnippetUserPage-DbddvRmb.js similarity index 95% rename from server/resource/build/assets/SnippetUserPage-DYKwTzpZ.js rename to server/resource/build/assets/SnippetUserPage-DbddvRmb.js index cdf68e0ac..482d192aa 100644 --- a/server/resource/build/assets/SnippetUserPage-DYKwTzpZ.js +++ b/server/resource/build/assets/SnippetUserPage-DbddvRmb.js @@ -1 +1 @@ -import{f as l,aI as C,S as e,bi as m,aS as I,bz as k,av as N}from"./antd-Afm2kNt7.js";import{u as T,w as B,e as U,h as A,aD as F,x as h,aE as O,S as _}from"./index-BdfI9ZEv.js";import{N as y}from"./NButton-DoPcvKBF.js";import{F as K}from"./FacadeSearchBar-sDOAHksR.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const o=F,H=()=>{const{t}=T(),{isMobile:s}=B();let[f,r]=l.useState(!1),[g,d]=l.useState();const[c,b]=l.useState(""),v=_(),{message:w}=C.useApp(),n=U({queryKey:["user-snippets"],queryFn:()=>o.getAll()}),u=l.useMemo(()=>{const i=n.data||[],a=c.trim().toLowerCase();return a?i.filter(p=>p.name?.toLowerCase().includes(a)||p.content?.toLowerCase().includes(a)):i},[n.data,c]);let x=A({mutationFn:async i=>{i.id?await o.updateById(i.id,i):await o.create(i)},onSuccess:()=>{r(!1),d(void 0),n.refetch(),j()}});function j(){w.open({type:"success",content:t("general.success")})}const S=[{dataIndex:"index",valueType:"indexBorder",width:48,hideInTable:s},{title:t("general.name"),dataIndex:"name",width:s?100:void 0},{title:t("assets.content"),dataIndex:"content",key:"content",copyable:!0,ellipsis:!0,width:s?150:void 0},{title:t("assets.snippet.visibility"),dataIndex:"visibility",key:"visibility",width:s?70:100,hideInSearch:!0,render:(i,a)=>a.visibility==="public"?e.jsx(m,{color:"green",children:t("assets.snippet.visibility_public")}):e.jsx(m,{color:"default",children:t("assets.snippet.visibility_private")})},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",hideInTable:s},{title:t("actions.label"),valueType:"option",key:"option",width:s?80:void 0,render:(i,a,p,L)=>a.createdBy===v.id?[e.jsx(y,{onClick:()=>{r(!0),d(a.id)},children:t("actions.edit")},"edit"),e.jsx(I,{title:t("general.confirm_delete"),onConfirm:async()=>{await o.deleteById(a.id),n.refetch()},children:e.jsx(y,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]:null}];return e.jsxs("div",{className:h("px-4 lg:px-20",s&&"px-2"),children:[e.jsx("div",{className:h("py-6",s&&"p-4"),children:e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[e.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:e.jsx("div",{className:"flex flex-col gap-1",children:e.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:t("menus.resource.submenus.snippet")})})}),e.jsx("div",{className:"pt-3",children:e.jsx(K,{value:c,onChange:b,resultCount:u.length,totalCount:n.data?.length||0})})]})}),e.jsx("div",{className:"rounded-xl ring-1 ring-slate-200/60 dark:ring-slate-700/60 p-1",children:e.jsx(k,{columns:S,dataSource:u,loading:n.isFetching,rowKey:"id",search:!1,pagination:!1,dateFormatter:"string",headerTitle:null,toolBarRender:()=>[e.jsx(N,{type:"primary",size:"middle",onClick:()=>{r(!0)},children:t("actions.new")},"button")],options:{density:!s,fullScreen:!s,reload:!1,setting:!s}})}),e.jsx(O,{id:g,open:f,confirmLoading:x.isPending,handleCancel:()=>{r(!1),d(void 0)},handleOk:x.mutate})]})};export{H as default}; +import{f as l,aI as C,S as e,bi as m,aS as I,bz as k,av as N}from"./antd-Afm2kNt7.js";import{u as T,w as B,e as U,h as A,aD as F,x as h,aE as O,S as _}from"./index-DQXwuKC5.js";import{N as y}from"./NButton-DoPcvKBF.js";import{F as K}from"./FacadeSearchBar-DPZw3dye.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const o=F,H=()=>{const{t}=T(),{isMobile:s}=B();let[f,r]=l.useState(!1),[g,d]=l.useState();const[c,b]=l.useState(""),v=_(),{message:w}=C.useApp(),n=U({queryKey:["user-snippets"],queryFn:()=>o.getAll()}),u=l.useMemo(()=>{const i=n.data||[],a=c.trim().toLowerCase();return a?i.filter(p=>p.name?.toLowerCase().includes(a)||p.content?.toLowerCase().includes(a)):i},[n.data,c]);let x=A({mutationFn:async i=>{i.id?await o.updateById(i.id,i):await o.create(i)},onSuccess:()=>{r(!1),d(void 0),n.refetch(),j()}});function j(){w.open({type:"success",content:t("general.success")})}const S=[{dataIndex:"index",valueType:"indexBorder",width:48,hideInTable:s},{title:t("general.name"),dataIndex:"name",width:s?100:void 0},{title:t("assets.content"),dataIndex:"content",key:"content",copyable:!0,ellipsis:!0,width:s?150:void 0},{title:t("assets.snippet.visibility"),dataIndex:"visibility",key:"visibility",width:s?70:100,hideInSearch:!0,render:(i,a)=>a.visibility==="public"?e.jsx(m,{color:"green",children:t("assets.snippet.visibility_public")}):e.jsx(m,{color:"default",children:t("assets.snippet.visibility_private")})},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",hideInTable:s},{title:t("actions.label"),valueType:"option",key:"option",width:s?80:void 0,render:(i,a,p,L)=>a.createdBy===v.id?[e.jsx(y,{onClick:()=>{r(!0),d(a.id)},children:t("actions.edit")},"edit"),e.jsx(I,{title:t("general.confirm_delete"),onConfirm:async()=>{await o.deleteById(a.id),n.refetch()},children:e.jsx(y,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]:null}];return e.jsxs("div",{className:h("px-4 lg:px-20",s&&"px-2"),children:[e.jsx("div",{className:h("py-6",s&&"p-4"),children:e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[e.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:e.jsx("div",{className:"flex flex-col gap-1",children:e.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:t("menus.resource.submenus.snippet")})})}),e.jsx("div",{className:"pt-3",children:e.jsx(K,{value:c,onChange:b,resultCount:u.length,totalCount:n.data?.length||0})})]})}),e.jsx("div",{className:"rounded-xl ring-1 ring-slate-200/60 dark:ring-slate-700/60 p-1",children:e.jsx(k,{columns:S,dataSource:u,loading:n.isFetching,rowKey:"id",search:!1,pagination:!1,dateFormatter:"string",headerTitle:null,toolBarRender:()=>[e.jsx(N,{type:"primary",size:"middle",onClick:()=>{r(!0)},children:t("actions.new")},"button")],options:{density:!s,fullScreen:!s,reload:!1,setting:!s}})}),e.jsx(O,{id:g,open:f,confirmLoading:x.isPending,handleCancel:()=>{r(!1),d(void 0)},handleOk:x.mutate})]})};export{H as default}; diff --git a/server/resource/build/assets/SshGatewayPage-hPMUXSQN.js b/server/resource/build/assets/SshGatewayPage-C_iCWAPs.js similarity index 98% rename from server/resource/build/assets/SshGatewayPage-hPMUXSQN.js rename to server/resource/build/assets/SshGatewayPage-C_iCWAPs.js index 2121699bb..42d3c3c2b 100644 --- a/server/resource/build/assets/SshGatewayPage-hPMUXSQN.js +++ b/server/resource/build/assets/SshGatewayPage-C_iCWAPs.js @@ -1 +1 @@ -import{f as c,S as e,U as B,aK as $,aT as h,aV as v,bH as k,bs as y,a_ as q,aO as P,bY as F,aL as b,aU as G,av as C,c0 as N,bl as z,aI as K,bi as d,aS as U,bz as E}from"./antd-Afm2kNt7.js";import{g as V}from"./sort-BOdE-yay.js";import{u as R,M as W,h as D}from"./index-BdfI9ZEv.js";import{s as O}from"./ssh-gateway-api-CfWrAhC0.js";import{c as T}from"./credential-api-Byw61SQu.js";import{N as A}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const I=O,H=({open:t,handleOk:x,handleCancel:w,confirmLoading:u,id:i})=>{const o=c.useRef(null);let{t:a}=R(),[S,g]=c.useState(!1),[j,p]=c.useState(!1);c.useEffect(()=>{t||g(!1)},[t]);const s=async()=>i?await I.getById(i):{configMode:"direct",accountType:"password",port:22},m=l=>{switch(l){case"credential":return e.jsx(e.Fragment,{children:e.jsx(b,{label:a("menus.resource.submenus.credential"),name:"credentialId",rules:[{required:!0}],request:async()=>(await T.getAll()).map(r=>({label:r.name,value:r.id}))})});case"password":return e.jsxs(e.Fragment,{children:[e.jsx(h,{label:a("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(h.Password,{label:a("assets.password"),name:"password",rules:[{required:!0}],fieldProps:{iconRender:n=>n?e.jsx(N,{}):e.jsx(z,{}),visibilityToggle:{onVisibleChange:n=>{i&&n&&!S&&p(!0)}}}})]});case"private-key":return e.jsxs(e.Fragment,{children:[e.jsx(h,{label:a("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(G,{label:a("assets.private_key"),name:"privateKey",rules:[{required:!0}],fieldProps:{rows:4}}),i&&e.jsx("div",{className:"mb-2 -mt-2",children:e.jsx(C,{color:"purple",variant:"filled",onClick:async()=>{p(!0)},children:a("actions.view_private_key")})}),e.jsx(h.Password,{label:a("assets.passphrase"),name:"passphrase"})]})}};return e.jsxs(B,{title:a(i?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{o.current?.validateFields().then(async l=>{x(l)})},onCancel:()=>{w()},confirmLoading:u,children:[e.jsxs($,{formRef:o,request:s,submitter:!1,children:[e.jsx(h,{hidden:!0,name:"id"}),e.jsx(h,{name:"name",label:a("general.name"),rules:[{required:!0}]}),e.jsx(v.Group,{label:a("gateways.config_mode"),name:"configMode",rules:[{required:!0}],options:[{label:a("gateways.config_mode_direct"),value:"direct"},{label:a("gateways.config_mode_credential"),value:"credential"},{label:a("gateways.config_mode_asset"),value:"asset"}]}),e.jsx(k,{name:["configMode"],children:({configMode:l})=>l==="direct"?e.jsxs(e.Fragment,{children:[e.jsx(y.Item,{label:a("assets.addr"),className:"nesting-form-item",rules:[{required:!0}],children:e.jsxs(q.Compact,{block:!0,children:[e.jsx(y.Item,{noStyle:!0,name:"ip",rules:[{required:!0}],children:e.jsx(P,{style:{width:"70%"},placeholder:"hostname or ip"})}),e.jsx(y.Item,{noStyle:!0,name:"port",rules:[{required:!0}],children:e.jsx(F,{style:{width:"30%"},min:1,max:65535,placeholder:"1-65535"})})]})}),e.jsx(v.Group,{label:a("assets.account_type"),name:"accountType",rules:[{required:!0}],options:[{label:a("assets.password"),value:"password"},{label:a("assets.private_key"),value:"private-key"}]}),e.jsx(k,{name:["accountType"],children:({accountType:n})=>m(n)})]}):l==="credential"?e.jsxs(e.Fragment,{children:[e.jsx(y.Item,{label:a("assets.addr"),className:"nesting-form-item",rules:[{required:!0}],children:e.jsxs(q.Compact,{block:!0,children:[e.jsx(y.Item,{noStyle:!0,name:"ip",rules:[{required:!0}],children:e.jsx(P,{style:{width:"70%"},placeholder:"hostname or ip"})}),e.jsx(y.Item,{noStyle:!0,name:"port",rules:[{required:!0}],children:e.jsx(F,{style:{width:"30%"},min:1,max:65535,placeholder:"1-65535"})})]})}),e.jsx(b,{label:a("menus.resource.submenus.credential"),name:"credentialId",rules:[{required:!0}],request:async()=>(await T.getAll()).map(r=>({label:r.name,value:r.id}))})]}):l==="asset"?e.jsx(e.Fragment,{children:e.jsx(b,{label:a("gateways.ssh_asset"),name:"assetId",rules:[{required:!0}],request:async()=>(await I.getAvailableAssets()).map(r=>({label:`${r.name} (${r.ip}:${r.port})`,value:r.id,disabled:!r.canBeGateway,title:r.disableReason||`${r.ip}:${r.port}`})),fieldProps:{showSearch:!0,optionFilterProp:"label"}})}):null})]}),e.jsx(W,{open:j,handleOk:async l=>{const n=await I.decrypt(i,l);o.current?.setFieldsValue(n),g(!0),p(!1)},handleCancel:()=>p(!1)})]})},f=O,re=()=>{const{t}=R(),x=c.useRef(null);let[w,u]=c.useState(!1),[i,o]=c.useState();const{message:a}=K.useApp();let g=D({mutationFn:async s=>{s.id?await f.updateById(s.id,s):await f.create(s)},onSuccess:()=>{x.current?.reload(),u(!1),o(void 0),j()}});function j(){a.open({type:"success",content:t("general.success")})}let p=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",hideInSearch:!0},{title:t("gateways.config_mode"),dataIndex:"configMode",key:"configMode",hideInSearch:!0,render:s=>{switch(s){case"direct":return e.jsx(d,{color:"blue",children:t("gateways.config_mode_direct")});case"credential":return e.jsx(d,{color:"orange",children:t("gateways.config_mode_credential")});case"asset":return e.jsx(d,{color:"green",children:t("gateways.config_mode_asset")});default:return e.jsx(d,{color:"blue",children:t("gateways.config_mode_direct")})}}},{title:"IP",dataIndex:"ip",key:"ip",sorter:!0,hideInSearch:!0},{title:t("gateways.port"),dataIndex:"port",key:"port",hideInSearch:!0},{title:t("assets.account_type"),dataIndex:"accountType",key:"accountType",hideInSearch:!0,render:s=>{switch(s){case"password":return e.jsx(d,{color:"red",children:t("assets.password")});case"private-key":return e.jsx(d,{color:"green",children:t("assets.private_key")});case"credential":return e.jsx(d,{color:"orange",children:t("menus.resource.submenus.credential")})}}},{title:t("gateways.username"),dataIndex:"username",key:"username",hideInSearch:!0},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime"},{title:t("actions.label"),valueType:"option",key:"option",render:(s,m,l,n)=>[e.jsx(A,{onClick:()=>{u(!0),o(m.id)},children:t("actions.edit")},"edit"),e.jsx(U,{title:t("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(m.id),x.current?.reload()},children:e.jsx(A,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return e.jsxs("div",{children:[e.jsx(E,{columns:p,actionRef:x,request:async(s={},m,l)=>{let[n,r]=V(m),M={pageIndex:s.current,pageSize:s.pageSize,order:n,field:r,keyword:s.keyword},_=await f.getPaging(M);return{data:_.items,success:!0,total:_.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.gateway.submenus.ssh_gateway"),toolBarRender:()=>[e.jsx(C,{type:"primary",onClick:()=>{u(!0)},children:t("actions.new")},"button")]}),e.jsx(H,{id:i,open:w,confirmLoading:g.isPending,handleCancel:()=>{u(!1),o(void 0)},handleOk:g.mutate})]})};export{re as default}; +import{f as c,S as e,U as B,aK as $,aT as h,aV as v,bH as k,bs as y,a_ as q,aO as P,bY as F,aL as b,aU as G,av as C,c0 as N,bl as z,aI as K,bi as d,aS as U,bz as E}from"./antd-Afm2kNt7.js";import{g as V}from"./sort-BOdE-yay.js";import{u as R,M as W,h as D}from"./index-DQXwuKC5.js";import{s as O}from"./ssh-gateway-api-D4569Eil.js";import{c as T}from"./credential-api-DP_sN2cX.js";import{N as A}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const I=O,H=({open:t,handleOk:x,handleCancel:w,confirmLoading:u,id:i})=>{const o=c.useRef(null);let{t:a}=R(),[S,g]=c.useState(!1),[j,p]=c.useState(!1);c.useEffect(()=>{t||g(!1)},[t]);const s=async()=>i?await I.getById(i):{configMode:"direct",accountType:"password",port:22},m=l=>{switch(l){case"credential":return e.jsx(e.Fragment,{children:e.jsx(b,{label:a("menus.resource.submenus.credential"),name:"credentialId",rules:[{required:!0}],request:async()=>(await T.getAll()).map(r=>({label:r.name,value:r.id}))})});case"password":return e.jsxs(e.Fragment,{children:[e.jsx(h,{label:a("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(h.Password,{label:a("assets.password"),name:"password",rules:[{required:!0}],fieldProps:{iconRender:n=>n?e.jsx(N,{}):e.jsx(z,{}),visibilityToggle:{onVisibleChange:n=>{i&&n&&!S&&p(!0)}}}})]});case"private-key":return e.jsxs(e.Fragment,{children:[e.jsx(h,{label:a("menus.identity.submenus.user"),name:"username",rules:[{required:!0}]}),e.jsx(G,{label:a("assets.private_key"),name:"privateKey",rules:[{required:!0}],fieldProps:{rows:4}}),i&&e.jsx("div",{className:"mb-2 -mt-2",children:e.jsx(C,{color:"purple",variant:"filled",onClick:async()=>{p(!0)},children:a("actions.view_private_key")})}),e.jsx(h.Password,{label:a("assets.passphrase"),name:"passphrase"})]})}};return e.jsxs(B,{title:a(i?"actions.edit":"actions.new"),open:t,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{o.current?.validateFields().then(async l=>{x(l)})},onCancel:()=>{w()},confirmLoading:u,children:[e.jsxs($,{formRef:o,request:s,submitter:!1,children:[e.jsx(h,{hidden:!0,name:"id"}),e.jsx(h,{name:"name",label:a("general.name"),rules:[{required:!0}]}),e.jsx(v.Group,{label:a("gateways.config_mode"),name:"configMode",rules:[{required:!0}],options:[{label:a("gateways.config_mode_direct"),value:"direct"},{label:a("gateways.config_mode_credential"),value:"credential"},{label:a("gateways.config_mode_asset"),value:"asset"}]}),e.jsx(k,{name:["configMode"],children:({configMode:l})=>l==="direct"?e.jsxs(e.Fragment,{children:[e.jsx(y.Item,{label:a("assets.addr"),className:"nesting-form-item",rules:[{required:!0}],children:e.jsxs(q.Compact,{block:!0,children:[e.jsx(y.Item,{noStyle:!0,name:"ip",rules:[{required:!0}],children:e.jsx(P,{style:{width:"70%"},placeholder:"hostname or ip"})}),e.jsx(y.Item,{noStyle:!0,name:"port",rules:[{required:!0}],children:e.jsx(F,{style:{width:"30%"},min:1,max:65535,placeholder:"1-65535"})})]})}),e.jsx(v.Group,{label:a("assets.account_type"),name:"accountType",rules:[{required:!0}],options:[{label:a("assets.password"),value:"password"},{label:a("assets.private_key"),value:"private-key"}]}),e.jsx(k,{name:["accountType"],children:({accountType:n})=>m(n)})]}):l==="credential"?e.jsxs(e.Fragment,{children:[e.jsx(y.Item,{label:a("assets.addr"),className:"nesting-form-item",rules:[{required:!0}],children:e.jsxs(q.Compact,{block:!0,children:[e.jsx(y.Item,{noStyle:!0,name:"ip",rules:[{required:!0}],children:e.jsx(P,{style:{width:"70%"},placeholder:"hostname or ip"})}),e.jsx(y.Item,{noStyle:!0,name:"port",rules:[{required:!0}],children:e.jsx(F,{style:{width:"30%"},min:1,max:65535,placeholder:"1-65535"})})]})}),e.jsx(b,{label:a("menus.resource.submenus.credential"),name:"credentialId",rules:[{required:!0}],request:async()=>(await T.getAll()).map(r=>({label:r.name,value:r.id}))})]}):l==="asset"?e.jsx(e.Fragment,{children:e.jsx(b,{label:a("gateways.ssh_asset"),name:"assetId",rules:[{required:!0}],request:async()=>(await I.getAvailableAssets()).map(r=>({label:`${r.name} (${r.ip}:${r.port})`,value:r.id,disabled:!r.canBeGateway,title:r.disableReason||`${r.ip}:${r.port}`})),fieldProps:{showSearch:!0,optionFilterProp:"label"}})}):null})]}),e.jsx(W,{open:j,handleOk:async l=>{const n=await I.decrypt(i,l);o.current?.setFieldsValue(n),g(!0),p(!1)},handleCancel:()=>p(!1)})]})},f=O,re=()=>{const{t}=R(),x=c.useRef(null);let[w,u]=c.useState(!1),[i,o]=c.useState();const{message:a}=K.useApp();let g=D({mutationFn:async s=>{s.id?await f.updateById(s.id,s):await f.create(s)},onSuccess:()=>{x.current?.reload(),u(!1),o(void 0),j()}});function j(){a.open({type:"success",content:t("general.success")})}let p=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:t("general.name"),dataIndex:"name",hideInSearch:!0},{title:t("gateways.config_mode"),dataIndex:"configMode",key:"configMode",hideInSearch:!0,render:s=>{switch(s){case"direct":return e.jsx(d,{color:"blue",children:t("gateways.config_mode_direct")});case"credential":return e.jsx(d,{color:"orange",children:t("gateways.config_mode_credential")});case"asset":return e.jsx(d,{color:"green",children:t("gateways.config_mode_asset")});default:return e.jsx(d,{color:"blue",children:t("gateways.config_mode_direct")})}}},{title:"IP",dataIndex:"ip",key:"ip",sorter:!0,hideInSearch:!0},{title:t("gateways.port"),dataIndex:"port",key:"port",hideInSearch:!0},{title:t("assets.account_type"),dataIndex:"accountType",key:"accountType",hideInSearch:!0,render:s=>{switch(s){case"password":return e.jsx(d,{color:"red",children:t("assets.password")});case"private-key":return e.jsx(d,{color:"green",children:t("assets.private_key")});case"credential":return e.jsx(d,{color:"orange",children:t("menus.resource.submenus.credential")})}}},{title:t("gateways.username"),dataIndex:"username",key:"username",hideInSearch:!0},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime"},{title:t("actions.label"),valueType:"option",key:"option",render:(s,m,l,n)=>[e.jsx(A,{onClick:()=>{u(!0),o(m.id)},children:t("actions.edit")},"edit"),e.jsx(U,{title:t("general.confirm_delete"),onConfirm:async()=>{await f.deleteById(m.id),x.current?.reload()},children:e.jsx(A,{danger:!0,children:t("actions.delete")},"delete")},"delete-confirm")]}];return e.jsxs("div",{children:[e.jsx(E,{columns:p,actionRef:x,request:async(s={},m,l)=>{let[n,r]=V(m),M={pageIndex:s.current,pageSize:s.pageSize,order:n,field:r,keyword:s.keyword},_=await f.getPaging(M);return{data:_.items,success:!0,total:_.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:t("menus.gateway.submenus.ssh_gateway"),toolBarRender:()=>[e.jsx(C,{type:"primary",onClick:()=>{u(!0)},children:t("actions.new")},"button")]}),e.jsx(H,{id:i,open:w,confirmLoading:g.isPending,handleCancel:()=>{u(!1),o(void 0)},handleOk:g.mutate})]})};export{re as default}; diff --git a/server/resource/build/assets/StoragePage-JPUhNoV1.js b/server/resource/build/assets/StoragePage-DS0_Tdim.js similarity index 96% rename from server/resource/build/assets/StoragePage-JPUhNoV1.js rename to server/resource/build/assets/StoragePage-DS0_Tdim.js index 8b5b5dde0..1a7d4f7c0 100644 --- a/server/resource/build/assets/StoragePage-JPUhNoV1.js +++ b/server/resource/build/assets/StoragePage-DS0_Tdim.js @@ -1 +1 @@ -import{f as o,S as t,U as F,aK as T,aT as x,bO as O,aM as R,aI as _,bi as m,aS as B,bz as q,av as A}from"./antd-Afm2kNt7.js";import{u as I,h as v,Y as w,ah as D}from"./index-BdfI9ZEv.js";import{s as j}from"./storage-api-BOyaRg9s.js";import{N as p}from"./NButton-DoPcvKBF.js";import{g as K}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const M=j,U=({open:e,handleOk:s,handleCancel:f,confirmLoading:n,id:l})=>{let{t:a}=I();const u=o.useRef(null),c=async()=>{if(l){let i=await M.getById(l);return i.limitSize>0&&(i.limitSize=i.limitSize/1024/1024/1024),await i}return{}};return t.jsx(F,{title:a(l?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{u.current?.validateFields().then(async i=>{i.limitSize=i.limitSize*1024*1024*1024,s(i)})},onCancel:()=>{f()},confirmLoading:n,children:t.jsxs(T,{formRef:u,request:c,submitter:!1,children:[t.jsx(x,{hidden:!0,name:"id"}),t.jsx(x,{label:a("general.name"),name:"name",rules:[{required:!0}]}),t.jsx(O,{label:a("assets.is_share"),name:"isShare",rules:[{required:!0}]}),t.jsx(R,{label:a("assets.limit_size"),name:"limitSize",rules:[{required:!0}],fieldProps:{min:1,precision:2},addonAfter:"GB"})]})})},h=j,Q=()=>{const{t:e}=I(),s=o.useRef(null);let[f,n]=o.useState(!1),[l,a]=o.useState(""),[u,c]=o.useState(!1);const{message:i}=_.useApp();let g=v({mutationFn:async r=>{r.id?await h.updateById(r.id,r):await h.create(r)},onSuccess:()=>{s.current?.reload(),n(!1),a(void 0),z()}});function z(){i.open({type:"success",content:e("general.success")})}const b=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",hideInSearch:!0,ellipsis:!0,width:100},{title:e("general.default"),dataIndex:"isDefault",key:"isDefault",hideInSearch:!0,render:r=>r===!0?t.jsx(m,{color:"green-inverse",bordered:!1,children:e("general.yes")}):t.jsx(m,{color:"gray",bordered:!1,children:e("general.no")}),width:50},{title:e("assets.is_share"),dataIndex:"isShare",key:"isShare",hideInSearch:!0,render:r=>r===!0?t.jsx(m,{color:"green-inverse",bordered:!1,children:e("general.yes")}):t.jsx(m,{color:"gray",bordered:!1,children:e("general.no")}),width:50},{title:e("assets.used_size"),dataIndex:"usedSize",key:"usedSize",hideInSearch:!0,render:r=>w(r),width:100},{title:e("assets.limit_size"),dataIndex:"limitSize",key:"limitSize",hideInSearch:!0,render:r=>w(r),width:100},{title:e("general.creator"),key:"creator",dataIndex:"creator",hideInSearch:!0,width:100},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",width:191},{title:e("actions.label"),valueType:"option",key:"option",width:200,render:(r,d,k,S)=>[t.jsx(p,{onClick:()=>{c(!0),a(d.id)},children:e("assets.filesystem")},"filesystem"),t.jsx(p,{onClick:()=>{n(!0),a(d.id)},children:e("actions.edit")},"edit"),t.jsx(B,{title:e("general.confirm_delete"),onConfirm:async()=>{await h.deleteById(d.id),s.current?.reload()},children:t.jsx(p,{danger:!0,disabled:d.isDefault,children:e("actions.delete")},"delete")},"delete_confirm")]}];return t.jsxs("div",{children:[t.jsx(q,{columns:b,actionRef:s,request:async(r={},d,k)=>{let[S,P]=K(d),C={pageIndex:r.current,pageSize:r.pageSize,order:S,field:P,keyword:r.keyword},y=await h.getPaging(C);return{data:y.items,success:!0,total:y.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.resource.submenus.storage"),toolBarRender:()=>[t.jsx(A,{type:"primary",onClick:()=>{n(!0)},children:e("actions.new")},"button")]}),t.jsx(U,{id:l,open:f,confirmLoading:g.isPending,handleCancel:()=>{n(!1),a("")},handleOk:g.mutate}),t.jsx(D,{fsId:l,strategy:{id:"x",name:"x",upload:!0,download:!0,delete:!0,rename:!0,edit:!0,createDir:!0,createFile:!0,copy:!0,paste:!0},mask:!0,maskClosable:!0,open:u,onClose:()=>{c(!1),s.current?.reload()}})]})};export{Q as default}; +import{f as o,S as t,U as F,aK as T,aT as x,bO as O,aM as R,aI as _,bi as m,aS as B,bz as q,av as A}from"./antd-Afm2kNt7.js";import{u as I,h as v,Y as w,ah as D}from"./index-DQXwuKC5.js";import{s as j}from"./storage-api-CDrFMJhC.js";import{N as p}from"./NButton-DoPcvKBF.js";import{g as K}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const M=j,U=({open:e,handleOk:s,handleCancel:f,confirmLoading:n,id:l})=>{let{t:a}=I();const u=o.useRef(null),c=async()=>{if(l){let i=await M.getById(l);return i.limitSize>0&&(i.limitSize=i.limitSize/1024/1024/1024),await i}return{}};return t.jsx(F,{title:a(l?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{u.current?.validateFields().then(async i=>{i.limitSize=i.limitSize*1024*1024*1024,s(i)})},onCancel:()=>{f()},confirmLoading:n,children:t.jsxs(T,{formRef:u,request:c,submitter:!1,children:[t.jsx(x,{hidden:!0,name:"id"}),t.jsx(x,{label:a("general.name"),name:"name",rules:[{required:!0}]}),t.jsx(O,{label:a("assets.is_share"),name:"isShare",rules:[{required:!0}]}),t.jsx(R,{label:a("assets.limit_size"),name:"limitSize",rules:[{required:!0}],fieldProps:{min:1,precision:2},addonAfter:"GB"})]})})},h=j,Q=()=>{const{t:e}=I(),s=o.useRef(null);let[f,n]=o.useState(!1),[l,a]=o.useState(""),[u,c]=o.useState(!1);const{message:i}=_.useApp();let g=v({mutationFn:async r=>{r.id?await h.updateById(r.id,r):await h.create(r)},onSuccess:()=>{s.current?.reload(),n(!1),a(void 0),z()}});function z(){i.open({type:"success",content:e("general.success")})}const b=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:e("general.name"),dataIndex:"name",hideInSearch:!0,ellipsis:!0,width:100},{title:e("general.default"),dataIndex:"isDefault",key:"isDefault",hideInSearch:!0,render:r=>r===!0?t.jsx(m,{color:"green-inverse",bordered:!1,children:e("general.yes")}):t.jsx(m,{color:"gray",bordered:!1,children:e("general.no")}),width:50},{title:e("assets.is_share"),dataIndex:"isShare",key:"isShare",hideInSearch:!0,render:r=>r===!0?t.jsx(m,{color:"green-inverse",bordered:!1,children:e("general.yes")}):t.jsx(m,{color:"gray",bordered:!1,children:e("general.no")}),width:50},{title:e("assets.used_size"),dataIndex:"usedSize",key:"usedSize",hideInSearch:!0,render:r=>w(r),width:100},{title:e("assets.limit_size"),dataIndex:"limitSize",key:"limitSize",hideInSearch:!0,render:r=>w(r),width:100},{title:e("general.creator"),key:"creator",dataIndex:"creator",hideInSearch:!0,width:100},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,valueType:"dateTime",width:191},{title:e("actions.label"),valueType:"option",key:"option",width:200,render:(r,d,k,S)=>[t.jsx(p,{onClick:()=>{c(!0),a(d.id)},children:e("assets.filesystem")},"filesystem"),t.jsx(p,{onClick:()=>{n(!0),a(d.id)},children:e("actions.edit")},"edit"),t.jsx(B,{title:e("general.confirm_delete"),onConfirm:async()=>{await h.deleteById(d.id),s.current?.reload()},children:t.jsx(p,{danger:!0,disabled:d.isDefault,children:e("actions.delete")},"delete")},"delete_confirm")]}];return t.jsxs("div",{children:[t.jsx(q,{columns:b,actionRef:s,request:async(r={},d,k)=>{let[S,P]=K(d),C={pageIndex:r.current,pageSize:r.pageSize,order:S,field:P,keyword:r.keyword},y=await h.getPaging(C);return{data:y.items,success:!0,total:y.total}},rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:e("menus.resource.submenus.storage"),toolBarRender:()=>[t.jsx(A,{type:"primary",onClick:()=>{n(!0)},children:e("actions.new")},"button")]}),t.jsx(U,{id:l,open:f,confirmLoading:g.isPending,handleCancel:()=>{n(!1),a("")},handleOk:g.mutate}),t.jsx(D,{fsId:l,strategy:{id:"x",name:"x",upload:!0,download:!0,delete:!0,rename:!0,edit:!0,createDir:!0,createFile:!0,copy:!0,paste:!0},mask:!0,maskClosable:!0,open:u,onClose:()=>{c(!1),s.current?.reload()}})]})};export{Q as default}; diff --git a/server/resource/build/assets/StrategyPage-DFdP-6KB.js b/server/resource/build/assets/StrategyPage-58Xo8e61.js similarity index 97% rename from server/resource/build/assets/StrategyPage-DFdP-6KB.js rename to server/resource/build/assets/StrategyPage-58Xo8e61.js index 89d56bd98..c5ce9b329 100644 --- a/server/resource/build/assets/StrategyPage-DFdP-6KB.js +++ b/server/resource/build/assets/StrategyPage-58Xo8e61.js @@ -1 +1 @@ -import{f as h,S as a,U as B,aK as F,aT as C,a_ as o,bO as r,aI as O,aS as v,bz as z,av as _,bi as f}from"./antd-Afm2kNt7.js";import{s as j}from"./strategy-api-D3jzAEr4.js";import{g as K}from"./sort-BOdE-yay.js";import{u as S,h as q}from"./index-BdfI9ZEv.js";import{N as k}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const A=j,M=({open:n,handleOk:s,handleCancel:g,confirmLoading:d,id:i})=>{const l=h.useRef(null);let{t:e}=S();const m=async()=>i?await A.getById(i):{};return a.jsx(B,{title:e(i?"actions.edit":"actions.new"),open:n,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async p=>{s(p)})},onCancel:()=>{g()},confirmLoading:d,children:a.jsxs(F,{formRef:l,request:m,submitter:!1,children:[a.jsx(C,{hidden:!0,name:"id"}),a.jsx(C,{name:"name",label:e("general.name")}),a.jsxs(o,{direction:"vertical",children:[a.jsxs(o,{children:[a.jsx(r,{name:"upload",label:e("general.upload"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"download",label:e("authorised.strategy.download"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]}),a.jsxs(o,{children:[a.jsx(r,{name:"createDir",label:e("authorised.strategy.create_dir"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"createFile",label:e("authorised.strategy.create_file"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]}),a.jsxs(o,{children:[a.jsx(r,{name:"edit",label:e("actions.edit"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"delete",label:e("actions.delete"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"rename",label:e("authorised.strategy.rename"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]}),a.jsxs(o,{children:[a.jsx(r,{name:"copy",label:e("actions.copy"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"paste",label:e("authorised.strategy.paste"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]})]})]})})},u=j,G=()=>{const{t:n}=S(),s=h.useRef(null);let[g,d]=h.useState(!1),[i,l]=h.useState();const e=t=>t===!0?a.jsx(f,{color:"green",bordered:!1,children:n("general.enabled")}):a.jsx(f,{color:"red",bordered:!1,children:n("general.disabled")}),{message:m}=O.useApp();let x=q({mutationFn:async t=>{t.id?await u.updateById(t.id,t):await u.create(t)},onSuccess:()=>{s.current?.reload(),d(!1),l(void 0),I()}});function I(){m.open({type:"success",content:n("general.success")})}const w=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:n("general.name"),dataIndex:"name",key:"name",sorter:!0},{title:n("general.upload"),dataIndex:"upload",key:"upload",hideInSearch:!0,render:t=>e(t)},{title:n("authorised.strategy.download"),dataIndex:"download",key:"download",hideInSearch:!0,render:t=>e(t)},{title:n("actions.edit"),dataIndex:"edit",key:"edit",hideInSearch:!0,render:t=>e(t)},{title:n("actions.delete"),dataIndex:"delete",key:"delete",hideInSearch:!0,render:t=>e(t)},{title:n("authorised.strategy.rename"),dataIndex:"rename",key:"rename",hideInSearch:!0,render:t=>e(t)},{title:n("actions.copy"),dataIndex:"copy",key:"copy",hideInSearch:!0,render:t=>e(t)},{title:n("authorised.strategy.paste"),dataIndex:"paste",key:"paste",hideInSearch:!0,render:t=>e(t)},{title:n("actions.label"),valueType:"option",key:"option",render:(t,c,P,y)=>[a.jsx(k,{onClick:()=>{d(!0),l(c.id)},children:n("actions.edit")},"edit"),a.jsx(v,{title:n("general.confirm_delete"),onConfirm:async()=>{await u.deleteById(c.id),s.current?.reload()},children:a.jsx(k,{danger:!0,children:n("actions.delete")},"delete")},"delete-confirm")]}];return a.jsxs("div",{children:[a.jsx(z,{columns:w,actionRef:s,request:async(t={},c,P)=>{let[y,R]=K(c),T={pageIndex:t.current,pageSize:t.pageSize,order:y,field:R,name:t.name},b=await u.getPaging(T);return{data:b.items,success:!0,total:b.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:n("menus.authorised.submenus.strategy"),toolBarRender:()=>[a.jsx(_,{type:"primary",onClick:()=>{d(!0)},children:n("actions.new")},"button")]}),a.jsx(M,{id:i,open:g,confirmLoading:x.isPending,handleCancel:()=>{d(!1),l(void 0)},handleOk:x.mutate})]})};export{G as default}; +import{f as h,S as a,U as B,aK as F,aT as C,a_ as o,bO as r,aI as O,aS as v,bz as z,av as _,bi as f}from"./antd-Afm2kNt7.js";import{s as j}from"./strategy-api-z9cMxeja.js";import{g as K}from"./sort-BOdE-yay.js";import{u as S,h as q}from"./index-DQXwuKC5.js";import{N as k}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const A=j,M=({open:n,handleOk:s,handleCancel:g,confirmLoading:d,id:i})=>{const l=h.useRef(null);let{t:e}=S();const m=async()=>i?await A.getById(i):{};return a.jsx(B,{title:e(i?"actions.edit":"actions.new"),open:n,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{l.current?.validateFields().then(async p=>{s(p)})},onCancel:()=>{g()},confirmLoading:d,children:a.jsxs(F,{formRef:l,request:m,submitter:!1,children:[a.jsx(C,{hidden:!0,name:"id"}),a.jsx(C,{name:"name",label:e("general.name")}),a.jsxs(o,{direction:"vertical",children:[a.jsxs(o,{children:[a.jsx(r,{name:"upload",label:e("general.upload"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"download",label:e("authorised.strategy.download"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]}),a.jsxs(o,{children:[a.jsx(r,{name:"createDir",label:e("authorised.strategy.create_dir"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"createFile",label:e("authorised.strategy.create_file"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]}),a.jsxs(o,{children:[a.jsx(r,{name:"edit",label:e("actions.edit"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"delete",label:e("actions.delete"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"rename",label:e("authorised.strategy.rename"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]}),a.jsxs(o,{children:[a.jsx(r,{name:"copy",label:e("actions.copy"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")}),a.jsx(r,{name:"paste",label:e("authorised.strategy.paste"),checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled")})]})]})]})})},u=j,G=()=>{const{t:n}=S(),s=h.useRef(null);let[g,d]=h.useState(!1),[i,l]=h.useState();const e=t=>t===!0?a.jsx(f,{color:"green",bordered:!1,children:n("general.enabled")}):a.jsx(f,{color:"red",bordered:!1,children:n("general.disabled")}),{message:m}=O.useApp();let x=q({mutationFn:async t=>{t.id?await u.updateById(t.id,t):await u.create(t)},onSuccess:()=>{s.current?.reload(),d(!1),l(void 0),I()}});function I(){m.open({type:"success",content:n("general.success")})}const w=[{dataIndex:"index",valueType:"indexBorder",width:48},{title:n("general.name"),dataIndex:"name",key:"name",sorter:!0},{title:n("general.upload"),dataIndex:"upload",key:"upload",hideInSearch:!0,render:t=>e(t)},{title:n("authorised.strategy.download"),dataIndex:"download",key:"download",hideInSearch:!0,render:t=>e(t)},{title:n("actions.edit"),dataIndex:"edit",key:"edit",hideInSearch:!0,render:t=>e(t)},{title:n("actions.delete"),dataIndex:"delete",key:"delete",hideInSearch:!0,render:t=>e(t)},{title:n("authorised.strategy.rename"),dataIndex:"rename",key:"rename",hideInSearch:!0,render:t=>e(t)},{title:n("actions.copy"),dataIndex:"copy",key:"copy",hideInSearch:!0,render:t=>e(t)},{title:n("authorised.strategy.paste"),dataIndex:"paste",key:"paste",hideInSearch:!0,render:t=>e(t)},{title:n("actions.label"),valueType:"option",key:"option",render:(t,c,P,y)=>[a.jsx(k,{onClick:()=>{d(!0),l(c.id)},children:n("actions.edit")},"edit"),a.jsx(v,{title:n("general.confirm_delete"),onConfirm:async()=>{await u.deleteById(c.id),s.current?.reload()},children:a.jsx(k,{danger:!0,children:n("actions.delete")},"delete")},"delete-confirm")]}];return a.jsxs("div",{children:[a.jsx(z,{columns:w,actionRef:s,request:async(t={},c,P)=>{let[y,R]=K(c),T={pageIndex:t.current,pageSize:t.pageSize,order:y,field:R,name:t.name},b=await u.getPaging(T);return{data:b.items,success:!0,total:b.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},dateFormatter:"string",headerTitle:n("menus.authorised.submenus.strategy"),toolBarRender:()=>[a.jsx(_,{type:"primary",onClick:()=>{d(!0)},children:n("actions.new")},"button")]}),a.jsx(M,{id:i,open:g,confirmLoading:x.isPending,handleCancel:()=>{d(!1),l(void 0)},handleOk:x.mutate})]})};export{G as default}; diff --git a/server/resource/build/assets/SystemMonitorPage-DWtzWPw3.js b/server/resource/build/assets/SystemMonitorPage-Lnutq0Ew.js similarity index 80% rename from server/resource/build/assets/SystemMonitorPage-DWtzWPw3.js rename to server/resource/build/assets/SystemMonitorPage-Lnutq0Ew.js index 855a3559a..b74913ccc 100644 --- a/server/resource/build/assets/SystemMonitorPage-DWtzWPw3.js +++ b/server/resource/build/assets/SystemMonitorPage-Lnutq0Ew.js @@ -1 +1 @@ -import{S as t}from"./antd-Afm2kNt7.js";import{u as r}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const p=()=>{const{t:o}=r();return t.jsx("div",{children:t.jsx("div",{style:{paddingLeft:24},children:o("sysops.monitoring.todo")})})};export{p as default}; +import{S as t}from"./antd-Afm2kNt7.js";import{u as r}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const p=()=>{const{t:o}=r();return t.jsx("div",{children:t.jsx("div",{style:{paddingLeft:24},children:o("sysops.monitoring.todo")})})};export{p as default}; diff --git a/server/resource/build/assets/TerminalMonitor-BuiLfLXh.js b/server/resource/build/assets/TerminalMonitor-BGHFY2w9.js similarity index 95% rename from server/resource/build/assets/TerminalMonitor-BuiLfLXh.js rename to server/resource/build/assets/TerminalMonitor-BGHFY2w9.js index f8f37c97e..50a500b6d 100644 --- a/server/resource/build/assets/TerminalMonitor-BuiLfLXh.js +++ b/server/resource/build/assets/TerminalMonitor-BGHFY2w9.js @@ -1 +1 @@ -import{f as b,S as x}from"./antd-Afm2kNt7.js";import{b as h,o as m,Z as y,_ as T,I as E,m as S,q as $,$ as A,a0 as I,a1 as M}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const j=()=>{const[n]=h();let p=m(n.get("sessionId"),""),a=m(n.get("token"),"");const r=(e,s)=>{e.writeln(`\x1B[1;3;31m${s}\x1B[0m `)},f=(e,s)=>{let i=document.getElementById("terminal");if(!i)return;e.open(i);let l=new T.FitAddon;e.loadAddon(l),l.fit(),e.focus(),e.writeln("trying to connect to the server ...");let u=e.cols,w=e.rows,c=E();S.hasText(a)&&(c=a);let g={cols:u,rows:w,"X-Auth-Token":c,sessionId:s},k=$.stringify(g),o=new WebSocket(`${A()}/admin/sessions/${s}/terminal-monitor?${k}`);return o.onopen=(t=>{e.clear()}),o.onerror=t=>{r(e,"websocket error")},o.onclose=t=>{r(e,"connection is closed.")},o.onmessage=t=>{let d=I.parse(t.data);d.type===M&&e.write(d.content)},o};return b.useEffect(()=>{let e=new y.Terminal({fontFamily:'monaco, Consolas, "Lucida Console", monospace',fontSize:15,theme:{background:"#141414"}}),s=f(e,p);return()=>{e.dispose(),s&&s.close(3886,"client quit")}},[]),x.jsx("div",{id:"terminal",style:{overflow:"hidden",padding:8,backgroundColor:"#141414"},className:"h-screen w-screen"})};export{j as default}; +import{f as b,S as x}from"./antd-Afm2kNt7.js";import{b as h,o as m,Z as y,_ as T,I as E,m as S,q as $,$ as A,a0 as I,a1 as M}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const j=()=>{const[n]=h();let p=m(n.get("sessionId"),""),a=m(n.get("token"),"");const r=(e,s)=>{e.writeln(`\x1B[1;3;31m${s}\x1B[0m `)},f=(e,s)=>{let i=document.getElementById("terminal");if(!i)return;e.open(i);let l=new T.FitAddon;e.loadAddon(l),l.fit(),e.focus(),e.writeln("trying to connect to the server ...");let u=e.cols,w=e.rows,c=E();S.hasText(a)&&(c=a);let g={cols:u,rows:w,"X-Auth-Token":c,sessionId:s},k=$.stringify(g),o=new WebSocket(`${A()}/admin/sessions/${s}/terminal-monitor?${k}`);return o.onopen=(t=>{e.clear()}),o.onerror=t=>{r(e,"websocket error")},o.onclose=t=>{r(e,"connection is closed.")},o.onmessage=t=>{let d=I.parse(t.data);d.type===M&&e.write(d.content)},o};return b.useEffect(()=>{let e=new y.Terminal({fontFamily:'monaco, Consolas, "Lucida Console", monospace',fontSize:15,theme:{background:"#141414"}}),s=f(e,p);return()=>{e.dispose(),s&&s.close(3886,"client quit")}},[]),x.jsx("div",{id:"terminal",style:{overflow:"hidden",padding:8,backgroundColor:"#141414"},className:"h-screen w-screen"})};export{j as default}; diff --git a/server/resource/build/assets/TerminalPlayback-CslH5VTi.js b/server/resource/build/assets/TerminalPlayback-CwU1DI7U.js similarity index 99% rename from server/resource/build/assets/TerminalPlayback-CslH5VTi.js rename to server/resource/build/assets/TerminalPlayback-CwU1DI7U.js index 41b42d00f..17cdede9c 100644 --- a/server/resource/build/assets/TerminalPlayback-CslH5VTi.js +++ b/server/resource/build/assets/TerminalPlayback-CwU1DI7U.js @@ -1,4 +1,4 @@ -import{f as _A,S as wA,bp as wg,bN as hg,av as Dg,aH as yg,T as kg,aG as mg,au as qg,b4 as pg}from"./antd-Afm2kNt7.js";import{v as Lg,A as Fg,u as Mg,b as Rg,o as dt,I as bg,m as Ng,e as wt,Y as Gg,H as Ug}from"./index-BdfI9ZEv.js";import{s as Sg}from"./session-api-CdVNYxgO.js";import{t as We}from"./times-BW3mBaPj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Jg=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],Yg=Lg("square-terminal",Jg);function ht(A){return typeof A=="number"?A:typeof A=="string"?A.split(":").reverse().map(parseFloat).reduce((t,e,g)=>t+e*Math.pow(60,g)):void 0}function vg(A,t){let e;return function(){for(var g=arguments.length,V=new Array(g),n=0;nA.apply(this,V),t)}}function Tg(A,t){let e=!0;return function(){if(e){e=!1;for(var g=arguments.length,V=new Array(g),n=0;ne=!0,t)}}}const Kg=/^#[0-9a-f]{6}$/,Og=/^#[0-9a-f]{3}$/;function re(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(typeof A!="string")return t;const e=A.trim().toLowerCase();return Kg.test(e)?e:Og.test(e)?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:t}function KA(A,t,e){return[t[0]+A*(e[0]-t[0]),t[1]+A*(e[1]-t[1]),t[2]+A*(e[2]-t[2])]}function OA(A){const[t,e,g]=Zg(A).map(Wg),V=.4122214708*t+.5363325363*e+.0514459929*g,n=.2119034982*t+.6806995451*e+.1073969566*g,r=.0883024619*t+.2817188376*e+.6299787005*g,o=Math.cbrt(V),i=Math.cbrt(n),s=Math.cbrt(r);return[.2104542553*o+.793617785*i-.0040720468*s,1.9779984951*o-2.428592205*i+.4505937099*s,.0259040371*o+.7827717662*i-.808675766*s]}function Dt(A){const t=xe(A);if(mt(t))return kt(t);const[e,g,V]=Hg(A);let n=0,r=g,o=[e,0,V];for(let i=0;i<24;i+=1){const s=(n+r)/2,E=[e,s,V],B=xe(yt(E));mt(B)?(n=s,o=E):r=s}return kt(xe(yt(o)))}function xe(A){const t=xt(A[0],0,1),e=A[1],g=A[2],V=t+.3963377774*e+.2158037573*g,n=t-.1055613458*e-.0638541728*g,r=t-.0894841775*e-1.291485548*g,o=V**3,i=n**3,s=r**3,E=4.0767416621*o-3.3077115913*i+.2309699292*s,B=-1.2684380046*o+2.6097574011*i-.3413193965*s,l=-.0041960863*o-.7034186147*i+1.707614701*s;return[$e(E),$e(B),$e(l)]}function Hg(A){let[t,e,g]=A;return[t,Math.hypot(e,g),Math.atan2(g,e)]}function yt(A){let[t,e,g]=A;return[t,e*Math.cos(g),e*Math.sin(g)]}function Zg(A){return[Number.parseInt(A.slice(1,3),16)/255,Number.parseInt(A.slice(3,5),16)/255,Number.parseInt(A.slice(5,7),16)/255]}function kt(A){const t=e=>Math.round(xt(e,0,1)*255).toString(16).padStart(2,"0");return`#${t(A[0])}${t(A[1])}${t(A[2])}`}function Wg(A){return A<=.04045?A/12.92:((A+.055)/1.055)**2.4}function $e(A){return A<=.0031308?A*12.92:1.055*A**(1/2.4)-.055}function mt(A){let[t,e,g]=A;return t>=0&&t<=1&&e>=0&&e<=1&&g>=0&&g<=1}function xt(A,t,e){return Math.max(t,Math.min(e,A))}class xg{log(){}debug(){}info(){}warn(){}error(){}}class $t{constructor(t,e){this.logger=t,this.prefix=e}log(t){for(var e=arguments.length,g=new Array(e>1?e-1:0),V=1;V1?e-1:0),V=1;V1?e-1:0),V=1;V1?e-1:0),V=1;V1?e-1:0),V=1;V0?`Function(${V})`:"Function"}if(Array.isArray(A)){const V=A.length;let n="[";V>0&&(n+=Vt(A[0]));for(let r=1;r1)g=e[1];else return toString.call(A);if(g=="Object")try{return"Object("+JSON.stringify(A)+")"}catch{return"Object"}return A instanceof Error?`${A.name}: ${A.message} +import{f as _A,S as wA,bp as wg,bN as hg,av as Dg,aH as yg,T as kg,aG as mg,au as qg,b4 as pg}from"./antd-Afm2kNt7.js";import{v as Lg,A as Fg,u as Mg,b as Rg,o as dt,I as bg,m as Ng,e as wt,Y as Gg,H as Ug}from"./index-DQXwuKC5.js";import{s as Sg}from"./session-api-mmDQqQeA.js";import{t as We}from"./times-CQ9ir0Jv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const Jg=[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],Yg=Lg("square-terminal",Jg);function ht(A){return typeof A=="number"?A:typeof A=="string"?A.split(":").reverse().map(parseFloat).reduce((t,e,g)=>t+e*Math.pow(60,g)):void 0}function vg(A,t){let e;return function(){for(var g=arguments.length,V=new Array(g),n=0;nA.apply(this,V),t)}}function Tg(A,t){let e=!0;return function(){if(e){e=!1;for(var g=arguments.length,V=new Array(g),n=0;ne=!0,t)}}}const Kg=/^#[0-9a-f]{6}$/,Og=/^#[0-9a-f]{3}$/;function re(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(typeof A!="string")return t;const e=A.trim().toLowerCase();return Kg.test(e)?e:Og.test(e)?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:t}function KA(A,t,e){return[t[0]+A*(e[0]-t[0]),t[1]+A*(e[1]-t[1]),t[2]+A*(e[2]-t[2])]}function OA(A){const[t,e,g]=Zg(A).map(Wg),V=.4122214708*t+.5363325363*e+.0514459929*g,n=.2119034982*t+.6806995451*e+.1073969566*g,r=.0883024619*t+.2817188376*e+.6299787005*g,o=Math.cbrt(V),i=Math.cbrt(n),s=Math.cbrt(r);return[.2104542553*o+.793617785*i-.0040720468*s,1.9779984951*o-2.428592205*i+.4505937099*s,.0259040371*o+.7827717662*i-.808675766*s]}function Dt(A){const t=xe(A);if(mt(t))return kt(t);const[e,g,V]=Hg(A);let n=0,r=g,o=[e,0,V];for(let i=0;i<24;i+=1){const s=(n+r)/2,E=[e,s,V],B=xe(yt(E));mt(B)?(n=s,o=E):r=s}return kt(xe(yt(o)))}function xe(A){const t=xt(A[0],0,1),e=A[1],g=A[2],V=t+.3963377774*e+.2158037573*g,n=t-.1055613458*e-.0638541728*g,r=t-.0894841775*e-1.291485548*g,o=V**3,i=n**3,s=r**3,E=4.0767416621*o-3.3077115913*i+.2309699292*s,B=-1.2684380046*o+2.6097574011*i-.3413193965*s,l=-.0041960863*o-.7034186147*i+1.707614701*s;return[$e(E),$e(B),$e(l)]}function Hg(A){let[t,e,g]=A;return[t,Math.hypot(e,g),Math.atan2(g,e)]}function yt(A){let[t,e,g]=A;return[t,e*Math.cos(g),e*Math.sin(g)]}function Zg(A){return[Number.parseInt(A.slice(1,3),16)/255,Number.parseInt(A.slice(3,5),16)/255,Number.parseInt(A.slice(5,7),16)/255]}function kt(A){const t=e=>Math.round(xt(e,0,1)*255).toString(16).padStart(2,"0");return`#${t(A[0])}${t(A[1])}${t(A[2])}`}function Wg(A){return A<=.04045?A/12.92:((A+.055)/1.055)**2.4}function $e(A){return A<=.0031308?A*12.92:1.055*A**(1/2.4)-.055}function mt(A){let[t,e,g]=A;return t>=0&&t<=1&&e>=0&&e<=1&&g>=0&&g<=1}function xt(A,t,e){return Math.max(t,Math.min(e,A))}class xg{log(){}debug(){}info(){}warn(){}error(){}}class $t{constructor(t,e){this.logger=t,this.prefix=e}log(t){for(var e=arguments.length,g=new Array(e>1?e-1:0),V=1;V1?e-1:0),V=1;V1?e-1:0),V=1;V1?e-1:0),V=1;V1?e-1:0),V=1;V0?`Function(${V})`:"Function"}if(Array.isArray(A)){const V=A.length;let n="[";V>0&&(n+=Vt(A[0]));for(let r=1;r1)g=e[1];else return toString.call(A);if(g=="Object")try{return"Object("+JSON.stringify(A)+")"}catch{return"Object"}return A instanceof Error?`${A.name}: ${A.message} ${A.stack}`:g}function $g(A){A<132||(bA[A]=ue,ue=A)}function _g(A,t){return A=A>>>0,zg().subarray(A/4,A/4+t)}let zA=null;function Me(){return(zA===null||zA.buffer.detached===!0||zA.buffer.detached===void 0&&zA.buffer!==j.memory.buffer)&&(zA=new DataView(j.memory.buffer)),zA}function qt(A,t){return A=A>>>0,jg(A,t)}let ae=null;function zg(){return(ae===null||ae.byteLength===0)&&(ae=new Uint32Array(j.memory.buffer)),ae}let le=null;function qe(){return(le===null||le.byteLength===0)&&(le=new Uint8Array(j.memory.buffer)),le}function ce(A){return bA[A]}let bA=new Array(128).fill(void 0);bA.push(void 0,null,!0,!1);let ue=bA.length;function _t(A,t,e){if(e===void 0){const o=de.encode(A),i=t(o.length,1)>>>0;return qe().subarray(i,i+o.length).set(o),Re=o.length,i}let g=A.length,V=t(g,1)>>>0;const n=qe();let r=0;for(;r127)break;n[V+r]=o}if(r!==g){r!==0&&(A=A.slice(r)),V=e(V,g,g=r+A.length*3,1)>>>0;const o=qe().subarray(V+r,V+g),i=de.encodeInto(A,o);r+=i.written,V=e(V,g,r,1)>>>0}return Re=r,V}function HA(A){const t=ce(A);return $g(A),t}let pe=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});pe.decode();const Xg=2146435072;let _e=0;function jg(A,t){return _e+=t,_e>=Xg&&(pe=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),pe.decode(),_e=t),pe.decode(qe().subarray(A,A+t))}const de=new TextEncoder;"encodeInto"in de||(de.encodeInto=function(A,t){const e=de.encode(A);return t.set(e),{read:A.length,written:e.length}});let Re=0;const pt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>j.__wbg_vt_free(A>>>0,1));class Ie{static __wrap(t){t=t>>>0;const e=Object.create(Ie.prototype);return e.__wbg_ptr=t,pt.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,pt.unregister(this),t}free(){const t=this.__destroy_into_raw();j.__wbg_vt_free(t,0)}feed(t){const e=_t(t,j.__wbindgen_export,j.__wbindgen_export2),g=Re,V=j.vt_feed(this.__wbg_ptr,e,g);return HA(V)}resize(t,e){const g=j.vt_resize(this.__wbg_ptr,t,e);return HA(g)}getSize(){try{const V=j.__wbindgen_add_to_stack_pointer(-16);j.vt_getSize(V,this.__wbg_ptr);var t=Me().getInt32(V+0,!0),e=Me().getInt32(V+4,!0),g=_g(t,e).slice();return j.__wbindgen_export3(t,e*4,4),g}finally{j.__wbindgen_add_to_stack_pointer(16)}}getLine(t,e){const g=j.vt_getLine(this.__wbg_ptr,t,e);return HA(g)}getCursor(){const t=j.vt_getCursor(this.__wbg_ptr);return HA(t)}}Symbol.dispose&&(Ie.prototype[Symbol.dispose]=Ie.prototype.free);function Pg(A,t,e,g){const V=j.create(A,t,e,g);return Ie.__wrap(V)}const AV=new Set(["basic","cors","default"]);async function eV(A,t){if(typeof Response=="function"&&A instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(A,t)}catch(g){if(A.ok&&AV.has(A.type)&&A.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g);else throw g}const e=await A.arrayBuffer();return await WebAssembly.instantiate(e,t)}else{const e=await WebAssembly.instantiate(A,t);return e instanceof WebAssembly.Instance?{instance:e,module:A}:e}}function zt(){const A={};return A.wbg={},A.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(t,e){const g=Vt(ce(e)),V=_t(g,j.__wbindgen_export,j.__wbindgen_export2),n=Re;Me().setInt32(t+4,n,!0),Me().setInt32(t+0,V,!0)},A.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(t,e){throw new Error(qt(t,e))},A.wbg.__wbg_new_13317ed16189158e=function(){const t=new Array;return ne(t)},A.wbg.__wbg_new_4ceb6a766bf78b04=function(){const t=new Object;return ne(t)},A.wbg.__wbg_set_3f1d0b984ed272ed=function(t,e,g){ce(t)[HA(e)]=HA(g)},A.wbg.__wbg_set_8b6a9a61e98a8881=function(t,e,g){ce(t)[e>>>0]=HA(g)},A.wbg.__wbindgen_cast_2241b6af4c4b2941=function(t,e){const g=qt(t,e);return ne(g)},A.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(t){const e=BigInt.asUintN(64,t);return ne(e)},A.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(t){return ne(t)},A.wbg.__wbindgen_object_clone_ref=function(t){const e=ce(t);return ne(e)},A.wbg.__wbindgen_object_drop_ref=function(t){HA(t)},A}function Xt(A,t){return j=A.exports,Et.__wbindgen_wasm_module=t,zA=null,ae=null,le=null,j}function tV(A){if(j!==void 0)return j;typeof A<"u"&&(Object.getPrototypeOf(A)===Object.prototype?{module:A}=A:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const t=zt();A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A));const e=new WebAssembly.Instance(A,t);return Xt(e,A)}async function Et(A){if(j!==void 0)return j;typeof A<"u"&&(Object.getPrototypeOf(A)===Object.prototype?{module_or_path:A}=A:console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=zt();(typeof A=="string"||typeof Request=="function"&&A instanceof Request||typeof URL=="function"&&A instanceof URL)&&(A=fetch(A));const{instance:e,module:g}=await eV(await A,t);return Xt(e,g)}var gV=Object.freeze({__proto__:null,Vt:Ie,create:Pg,default:Et,initSync:tV});const VV=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function ke(A){return VV[A-43]}function nV(A){let t=A.endsWith("==")?2:A.endsWith("=")?1:0,e=A.length,g=new Uint8Array(3*(e/4)),V;for(let n=0,r=0;n>16,g[r+1]=V>>8&255,g[r+2]=V&255;return g.subarray(0,g.length-t)}var iV=nV("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CAgJCgsODA4NDgsgAkGoAWpBASABKAIAIAEoAgRB1NzAABCBASABIAIpA6gBNwIAIABBADoAAAwYCyACQbABakEBIAEoAgAgASgCBEHk3MAAEIEBIAEgAikDsAE3AgAgAEEBOgAADBcLIAJBuAFqQQEgASgCACABKAIEQfTcwAAQgQEgASACKQO4ATcCACAAQQI6AAAMFgsgAkHAAWpBASABKAIAIAEoAgRBhN3AABCBASABIAIpA8ABNwIAIABBAzoAAAwVCyACQcgBakEBIAEoAgAgASgCBEGU3cAAEIEBIAEgAikDyAE3AgAgAEEEOgAADBQLIAJB0AFqQQEgASgCACABKAIEQaTdwAAQgQEgASACKQPQATcCACAAQQU6AAAMEwsgAkHYAWpBASABKAIAIAEoAgRBtN3AABCBASABIAIpA9gBNwIAIABBBjoAAAwSCyACQeABakEBIAEoAgAgASgCBEHE3cAAEIEBIAEgAikD4AE3AgAgAEEHOgAADBELIAJB6AFqQQEgASgCACABKAIEQdTdwAAQgQEgASACKQPoATcCACAAQQg6AAAMEAsgAkHwAWpBASABKAIAIAEoAgRB5N3AABCBASABIAIpA/ABNwIAIABBCToAAAwPCyACQfgBakEBIAEoAgAgASgCBEH03cAAEIEBIAEgAikD+AE3AgAgAEEKOgAADA4LIAJBgAJqQQEgASgCACABKAIEQYTewAAQgQEgASACKQOAAjcCACAAQQs6AAAMDQsgAkGIAmpBASABKAIAIAEoAgRBlN7AABCBASABIAIpA4gCNwIAIABBDDoAAAwMCyACQZACakEBIAEoAgAgASgCBEGk3sAAEIEBIAEgAikDkAI3AgAgAEENOgAADAsLAkACQCADQR5rQf//A3FBCE8EQCADQSZrDgIBCAILIAJBCGpBASABKAIAIAEoAgRBxODAABCBASABIAIpAwg3AgAgACADQR5rOgACIABBDjsAAAwMCwJAIAEoAgQiA0ECTwRAIAJBmAFqIAEoAgBBEGoQaSACKAKYASIDDQEgASgCBCEDCyACQegAakEBIAEoAgAgA0G03sAAEIEBIAIoAmwhAyACKAJoIQQMDQsCQAJAAkAgAigCnAFBAUcNACADLwEAQQJrDgQBAAACAAsgAkHwAGpBASABKAIAIAEoAgRBhN/AABCB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ACABQQRqIQwgAkFAayENIAJBJWohDiACQRxqIQ8gASgCJCEFIAEoAhQhECABKAIQIQMCQAJAAn8CQANAIAEoAgAhBiABQYCAgIB4NgIAIAEoAgQhCwJAAkACQAJAAkAgBkGAgICAeEcEQCABKQIIIREgCyEHDAELAkAgAyAQRgRAQYCAgIB4IQYMAQsgASADQRBqIgg2AhAgAykCCCERIAMoAgQhByADKAIAIQYgCCEDC0GAgICAeCALEKMBIAZBgICAgHhGDQELIAIgBzYCDCACIAY2AgggAiARNwIQIBFCIIghEkF/IAUgEaciBEcgBCAFSxtB/wFxDgICAwELQYCAgIB4IAcQowEgAEGAgICAeDYCACABQYCAgIB4NgIADAcLAkAgEqdBAXENACAFIAQgByAEEDRrIgMgAyAFSRsiAyAESw0AIAIgAzYCECADIQQLAn9BgICAgHggBCAFTQ0AGgJAAkAgByAEIAVBuNrAABCQASgCBEUEQCACQThqIgMgAkEIaiIIIAVBAWsQPyACQTBqIANBCGooAgA2AgAgAiACKQI4NwMoIAItABQhBCADQRBqIAIoAgwgAigCECIHIAdBAWtB2NrAABCQASIHQRBqLwEAOwEAIAJCoICAgBA3AjggAiAHKQIINwJAIAggA0Ho2sAAEFcgAiAEOgA0IAItABRBAXFFDQEMAgsgAkE4aiIDIAJBCGogBRA/IAJBMGogA0EIaigCADYCACACIAIpAjg3AyggAiACLQAUIgM6ADQgAw0BCyACQShqEIsBCyACKAIwBEAgAkFAayACQTRqKAIANgIAIAJBAToAFCACIAIpAiw3AzggAigCKAwBCyACKAIoIAIoAixBBEEUEJ8BQYCAgIB4CyEDQYCAgIB4IAsQowEgASADNgIAIAwgAikDODcCACAMQQhqIAJBQGsoAgA2AgAgAEEIaiACQRBqKQIANwIAIAAgAikCCDcCAAwGCyAAIBE3AgggACAHNgIEIAAgBjYCAAwFCwJAIAMgEEcEQCABIANBEGoiCDYCECADKAIAIgZBgICAgHhHDQELIAJBADsAQCACQQI6ADwgAkECOgA4IAJBCGoiASAFIAJBOGoQQSAAIAIpAgg3AgAgAkEAOgAUIABBCGogAUEIaikCADcCAAwFCyADQQxqKAIAIQkgDyADKQIENwIAIA9BCGogCTYCACACIAY2AhggBSAEayIJRQ0BIBKnQQFxRQRAIAJBADsAQCACQQI6ADwgAkECOgA4IAJBCGogBSACQThqEEEMAgsgAi0AJEUEQCACQRhqEIsBCyACKAIcIQMgAigCICIKIAlNBEAgAkEIaiIEIAMgChCAAQJAIAItACQiBg0AIAJBADoAFCACKAIQIAVPDQAgAkEAOwBAIAJBAjoAPCACQQI6ADggBCAFIAJBOGoQQQsgAigCGCADQQRBFBCfASAGRQ0EQYCAgIB4IAsQowEgAUEIaiACQRBqKQIANwIAIAEgAikCCDcCAEGAgICAeCACEKMBIAghAwwBCwsgAyAKIAlB+NnAABCQASgCBEUEQCANQQhqIAcgBCAEQQFrQYjawAAQkAEiCEEQai8BADsBACANIAgpAgg3AgAgAkKggICAEDcCOCACQQhqIAJBOGpBmNrAABBXIAlBAWshCQsgCSAKTQRAIAJBCGogAyAJEIABIAIoAhghBiADIAogCRCIASAGQYCAgIB4Rg0DIAogCiAJayIIIAggCksbIQQgAi0AJAwCCyAJIApBqNrAABCzAQALIAJBKmogDkECai0AADoAACACIA4vAAA7ASggAigCICEEIAIoAhwhAyACLQAkCyEIQYCAgIB4IAsQowEgASAIOgAMIAEgBDYCCCABIAM2AgQgASAGNgIAIAEgAi8BKDsADSABQQ9qIAJBKmotAAA6AAALIAAgAikCCDcCACAAQQhqIAJBEGopAgA3AgALIAJB0ABqJAAL5QoCEH8BfiMAQZABayICJAAgACgCbCIFIAAoAhwiBmsiAUEAIAEgACgCFCIHIAZrIAVqTRshDSAFIAdqIQMgB0EEdCIBIAAoAhAiCmohDyAAKAIYIQwgACgCaCEOIAAoAqABIQsgACgCnAEhCCAKIQQDQAJAIAMgBkYNACABRQ0AIAkgDGpBACAELQAMIhAbIQkgA0EBayEDIAFBEGshASAEQRBqIQQgDSAQQQFzaiENDAELCyAIIAxHBEBBACEFIABBADYCFCACIAg2AjggAkEANgI0IAIgBzYCMCACIABBDGoiDDYCLCACIA82AiggAiAKNgIkIAJBgICAgHg2AhQgAkHIAGogAkEUaiIBEBACfyACKAJIQYCAgIB4RgRAIAEQoQFBBCEEQQAMAQsgAkEIakEEQQRBEEGUyMAAEGAgAkHQAGopAgAhESACKAIIIQEgAigCDCIEIAIpAkg3AgAgBEEIaiARNwIAIAJBATYCRCACIAQ2AkAgAiABNgI8IAJB2ABqIAJBFGpBKBAWGkEQIQNBASEFA0AgAkGAAWogAkHYAGoQECACKAKAAUGAgICAeEcEQCACKAI8IAVGBEAgAkE8akEBEI0BIAIoAkAhBAsgAyAEaiIBIAIpAoABNwIAIAFBCGogAkGIAWopAgA3AgAgAiAFQQFqIgU2AkQgA0EQaiEDDAELC0GAgICAeCACKAKEARCjASACQdgAahChASACKAI8CyEHIAkgDmohCSAFQQR0IQMgBCEBAkADQCADRQ0BIANBEGshAyABKAIIIQogAUEQaiEBIAggCkYNAAtB8M/AAEE3QajQwAAQcQALIAwQoAEgACAFNgIUIAAgBDYCECAAIAc2AgwgBSAGSQRAIAJBADsAYCACQQI6AFwgAkECOgBYIAAgBiAFayAIIAJB2ABqEC4gACgCFCEFCyAFQQFrIQRBACEBQQAhAwNAAkAgASANTw0AIAMgBE8NACABIAAoAhAgACgCFCADQbDPwAAQkgEtAAxBAXNqIQEgA0EBaiEDDAELCwJ/A0AgACgCFCIBIAggCUsNARogACgCECABIANBoM/AABCSAS0ADARAIANBAWohAyAJIAhrIQkMAQsLIAAoAhQLIQcgCSAIQQFrIgEgASAJSxshDiADIAYgBWtqIgFBAE4hBCABQQAgBBshBSAGQQAgASAEG2shBgsCQAJAAkBBfyAGIAtHIAYgC0sbQf8BcQ4CAgABCyAHIAZrIgFBACABIAdNGyIEIAsgBmsiASABIARLGyIDQQAgBSAGSRsgBWohBSABIARNDQEgAkEAOwBgIAJBAjoAXCACQQI6AFggACABIANrIAggAkHYAGoQLgwBCwJAIAYgC2siCiAGIAVBf3NqIgEgASAKSxsiBEUNACAAKAIQIQMgBCAHTQRAIAAgByAEayIBNgIUIAMgAUEEdGohAyAEIQEDQCABBEAgAygCACADQQRqKAIAQQRBFBCfASABQQFrIQEgA0EQaiEDDAELCyAAKAIUIQcgACgCECEDCwJAIAdFDQAgAyAHQQR0aiIBQRBGDQAgAUEEa0EAOgAADAELQZDPwAAQtgEACyAFIAprIARqIQULIAAgBTYCbCAAIA42AmggAEEBOgAgIAAgCzYCHCAAIAg2AhgCfyAAKAKgASIDIAAoAmQiAU0EQCAAIAM2AmQgAwwBCyAAQdwAaiADIAFrQQAQOiAAKAJkIQMgACgCoAELIQEgACgCYCADQQAgARBTIAAoApwBIgEgACgCdE0EQCAAIAFBAWs2AnQLIAAoAqABIgEgACgCeE0EQCAAIAFBAWs2AngLIAJBkAFqJAALuwkBB38CQAJAIAIgACABa0sEQCABIAJqIQUgACACaiEAIAJBEEkNAUEAIABBA3EiBmshBwJAIABBfHEiAyAATw0AIAZBAWsCQCAGRQRAIAUhBAwBCyAGIQggBSEEA0AgAEEBayIAIARBAWsiBC0AADoAACAIQQFrIggNAAsLQQNJDQAgBEEEayEEA0AgAEEBayAEQQNqLQAAOgAAIABBAmsgBEECai0AADoAACAAQQNrIARBAWotAAA6AAAgAEEEayIAIAQtAAA6AAAgBEEEayEEIAAgA0sNAAsLIAMgAiAGayIEQXxxIgJrIQBBACACayEGAkAgBSAHaiIFQQNxRQRAIAAgA08NASABIARqQQRrIQEDQCADQQRrIgMgASgCADYCACABQQRrIQEgACADSQ0ACwwBCyAAIANPDQAgBUEDdCICQRhxIQggBUF8cSIHQQRrIQFBACACa0EYcSEJIAcoAgAhAgNAIAIgCXQhByADQQRrIgMgByABKAIAIgIgCHZyNgIAIAFBBGshASAAIANJDQALCyAEQQNxIQIgBSAGaiEFDAELIAJBEE8EQAJAQQAgAGtBA3EiBiAAaiIEIABNDQAgBkEBayABIQMgBgRAIAYhBQNAIAAgAy0AADoAACADQQFqIQMgAEEBaiEAIAVBAWsiBQ0ACwtBB0kNAANAIAAgAy0AADoAACAAQQFqIANBAWotAAA6AAAgAEECaiADQQJqLQAAOgAAIABBA2ogA0EDai0AADoAACAAQQRqIANBBGotAAA6AAAgAEEFaiADQQVqLQAAOgAAIABBBmogA0EGai0AADoAACAAQQdqIANBB2otAAA6AAAgA0EIaiEDIAQgAEEIaiIARw0ACwsgAiAGayIDQXxxIgggBGohAAJAIAEgBmoiBUEDcUUEQCAAIARNDQEgBSEBA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAEkNAAsMAQsgACAETQ0AIAVBA3QiAkEYcSEGIAVBfHEiB0EEaiEBQQAgAmtBGHEhCSAHKAIAIQIDQCACIAZ2IQcgBCAHIAEoAgAiAiAJdHI2AgAgAUEEaiEBIARBBGoiBCAASQ0ACwsgA0EDcSECIAUgCGohAQsgACACaiIFIABNDQEgAkEBayACQQdxIgMEQANAIAAgAS0AADoAACABQQFqIQEgAEEBaiEAIANBAWsiAw0ACwtBB0kNAQNAIAAgAS0AADoAACAAQQFqIAFBAWotAAA6AAAgAEECaiABQQJqLQAAOgAAIABBA2ogAUEDai0AADoAACAAQQRqIAFBBGotAAA6AAAgAEEFaiABQQVqLQAAOgAAIABBBmogAUEGai0AADoAACAAQQdqIAFBB2otAAA6AAAgAUEIaiEBIAUgAEEIaiIARw0ACwwBCyAAIAJrIgQgAE8NACACQQFrIAJBA3EiAQRAA0AgAEEBayIAIAVBAWsiBS0AADoAACABQQFrIgENAAsLQQNJDQAgBUEEayEBA0AgAEEBayABQQNqLQAAOgAAIABBAmsgAUECai0AADoAACAAQQNrIAFBAWotAAA6AAAgAEEEayIAIAEtAAA6AAAgAUEEayEBIAAgBEsNAAsLC7gKAQV/IAAgAkGAzcAAEGIiAigCBCACKAIIIAFB0NXAABCQASgCBCEGQQEhBwJAAkACfwJAAkACQAJAAkACQAJAIANBoAFJDQAgA0ENdkGA7cAAai0AACIAQRVPDQEgA0EHdkE/cSAAQQZ0ckGA78AAai0AACIAQbQBTw0CAkACQCADQQJ2QR9xIABBBXRyQcD5wABqLQAAIANBAXRBBnF2QQNxQQJrDgIBAAILIANBjvwDa0ECSQ0BIANB3AtGDQEgA0HYL0YNASADQZA0Rg0BIANBg5gERg0BIANB/v//AHFB/MkCRg0BIANBogxrQeEESQ0BIANBgC9rQTBJDQEgA0Gx2gBrQT9JDQEgA0Hm4wdrQRpJDQELQQAhBwsgAigCCCIFIAFBf3NqIQACQAJAAkACQCAGDgMDAQIAC0Gg2MAAQShByNjAABBxAAsgAigCBCEGIAcNBwJAAkACQCAADgIAAQILIAYgBSABQfDVwAAQkAEiAkEgNgIAQQAhAEEBIQYMCwtBAiEAIAYgBSABQYDWwAAQkAEiBUECNgIEIAUgAzYCACAFIAQpAAA3AAggBUEQaiAEQQhqLwAAOwAAIAIoAgQgAigCCCABQQFqQZDWwAAQkAEiAkEgNgIADAcLQQIhACAGIAUgAUGg1sAAEJABIgVBAjYCBCAFIAM2AgAgBSAEKQAANwAIIAVBEGogBEEIaiIDLwAAOwAAIAIoAgQgAigCCCABQQFqIgVBsNbAABCQASgCBEECRgRAIAIoAgQgAigCCCABQQJqQcDWwAAQkAEiAUKggICAEDcCACABIAQpAAA3AAggAUEQaiADLwAAOwAACyACKAIEIAIoAgggBUHQ1sAAEJABIgJBIDYCAAwGC0EBIQYgAUEBaiEIIAIoAgQhCSAHDQRBAiEAIAkgBSABQYDXwAAQkAEiAUECNgIEIAEgAzYCACABIAQpAAA3AAggAUEQaiAEQQhqLwAAOwAAIAIoAgQgAigCCCAIQZDXwAAQkAEiAkEgNgIADAULIAcNAgJAAkAgAA4CCgABC0EBIQYgAigCBCAFIAFBAWpBwNfAABCQASICQSA2AgBBACEADAgLIAIoAgQgBSABQQFrQdDXwAAQkAEiAEKggICAEDcCACAAIAQpAAA3AAggAEEQaiAEQQhqIgcvAAA7AABBAiEAIAIoAgQgAigCCCABQeDXwAAQkAEiBUECNgIEIAUgAzYCACAFIAQpAAA3AAggBUEQaiAHLwAAOwAAIAIoAgQgAigCCCABQQFqIgNB8NfAABCQASgCBEECRgRAIAIoAgQgAigCCCABQQJqQYDYwAAQkAEiAUKggICAEDcCACABIAQpAAA3AAggAUEQaiAHLwAAOwAACyACKAIEIAIoAgggA0GQ2MAAEJABIgJBIDYCAAwECyAAQRVB9MbAABBLAAsgAEG0AUGEx8AAEEsACyACKAIEIAUgAUEBa0Gg18AAEJABIgBCoICAgBA3AgAgACAEKQAANwAIIABBEGogBEEIai8AADsAACACKAIEIAIoAgggAUGw18AAEJABDAMLIAkgBSABQeDWwAAQkAEiAEEBNgIEIAAgAzYCACAAIAQpAAA3AAggAEEQaiAEQQhqLwAAOwAAIAIoAgQgAigCCCAIQfDWwAAQkAEiAkEgNgIAQQEhAAwDC0EAIQYMAgsgBiAFIAFB4NXAABCQAQsiAiADNgIAQQEhBkEBIQALIAIgBjYCBCACIAQpAAA3AAggAkEQaiAEQQhqLwAAOwAACyAAC6IGAQx/IwBBEGsiBiQAQQohAwJAIAAoAgAiAEGQzgBJBEAgACECDAELA0AgBkEGaiADaiIEQQRrIABBkM4AbiICQfCxA2wgAGoiB0H//wNxQeQAbiIIQQF0QZXnwABqLwAAOwAAIARBAmsgCEGcf2wgB2pB//8DcUEBdEGV58AAai8AADsAACADQQRrIQMgAEH/wdcvSyACIQANAAsLIAJB4wBLBEAgA0ECayIDIAZBBmpqIAIgAkH//wNxQeQAbiICQZx/bGpB//8DcUEBdEGV58AAai8AADsAAAsCQCACQQpPBEAgA0ECayIAIAZBBmpqIAJBAXRBlefAAGovAAA7AAAMAQsgA0EBayIAIAZBBmpqIAJBMHI6AAALQQogAGshBEEBIQNBK0GAgMQAIAEoAhQiAkEBcSIFGyEHIAJBBHFBAnYhCCAGQQZqIABqIQoCQCABKAIARQRAIAEoAhwiACABKAIgIgEgByAIEHgNASAAIAogBCABKAIMEQMAIQMMAQsgASgCBCIJIAQgBWoiC00EQCABKAIcIgAgASgCICIBIAcgCBB4DQEgACAKIAQgASgCDBEDACEDDAELIAJBCHEEQCABKAIQIQwgAUEwNgIQIAEtABghDSABQQE6ABggASgCHCICIAEoAiAiCyAHIAgQeA0BIAAgCWogBWtBCWshAANAIABBAWsiAARAIAJBMCALKAIQEQIARQ0BDAMLCyACIAogBCALKAIMEQMADQEgASANOgAYIAEgDDYCEEEAIQMMAQsgCSALayECAkACQAJAQQEgAS0AGCIAIABBA0YbIgBBAWsOAgABAgsgAiEAQQAhAgwBCyACQQF2IQAgAkEBakEBdiECCyAAQQFqIQAgASgCECEJIAEoAiAhBSABKAIcIQECQANAIABBAWsiAEUNASABIAkgBSgCEBECAEUNAAsMAQsgASAFIAcgCBB4DQAgASAKIAQgBSgCDBEDAA0AQQAhAANAIAAgAkYEQEEAIQMMAgsgAEEBaiEAIAEgCSAFKAIQEQIARQ0ACyAAQQFrIAJJIQMLIAZBEGokACADC8kFAgp/AX4jAEGQAWsiBCQAAkACQAJAA0BBACACQQR0ayEFAkADQCACRQ0FIABFDQUgACACakEYSQ0DIAAgAiAAIAJJIgMbQQlJDQEgA0UEQCABIQMDQCADIAVqIgEgAyACEGogASEDIAIgACACayIATQ0ACwwBCwtBACAAQQR0IgNrIQUDQCABIAVqIAEgABBqIAEgA2ohASACIABrIgIgAE8NAAsMAQsLIAEgAEEEdCIFayIDIAJBBHQiBmohByAAIAJLDQEgBEEQaiIAIAMgBRAWGiADIAEgBhASIAcgACAFEBYaDAILIARBCGoiByABIABBBHRrIgZBCGopAgA3AwAgBCAGKQIANwMAIAJBBHQhCCACIgUhAQNAIAYgAUEEdGohAwNAIARBGGoiCSADQQhqIgopAgA3AwAgBCADKQIANwMQIAcpAwAhDSADIAQpAwA3AgAgCiANNwIAIAcgCSkDADcDACAEIAQpAxA3AwAgACABSwRAIAMgCGohAyABIAJqIQEMAQsLIAEgAGsiAQRAIAEgBSABIAVJGyEFDAEFIAQpAwAhDSAGQQhqIARBCGoiBykDADcCACAGIA03AgBBASAFIAVBAU0bIQlBASEBA0AgASAJRg0EIAYgAUEEdGoiBSkCACENIAcgBUEIaiIKKQIANwMAIAQgDTcDACABIAJqIQMDQCAEQRhqIgsgBiADQQR0aiIIQQhqIgwpAgA3AwAgBCAIKQIANwMQIAcpAwAhDSAIIAQpAwA3AgAgDCANNwIAIAcgCykDADcDACAEIAQpAxA3AwAgACADSwRAIAIgA2ohAwwBCyADIABrIgMgAUcNAAsgBCkDACENIAogBykDADcCACAFIA03AgAgAUEBaiEBDAALAAsACwALIARBEGoiACABIAYQFhogByADIAUQEiADIAAgBhAWGgsgBEGQAWokAAuQBQEIfwJAIAJBEEkEQCAAIQMMAQsCQEEAIABrQQNxIgYgAGoiBSAATQ0AIAZBAWsgACEDIAEhBCAGBEAgBiEHA0AgAyAELQAAOgAAIARBAWohBCADQQFqIQMgB0EBayIHDQALC0EHSQ0AA0AgAyAELQAAOgAAIANBAWogBEEBai0AADoAACADQQJqIARBAmotAAA6AAAgA0EDaiAEQQNqLQAAOgAAIANBBGogBEEEai0AADoAACADQQVqIARBBWotAAA6AAAgA0EGaiAEQQZqLQAAOgAAIANBB2ogBEEHai0AADoAACAEQQhqIQQgBSADQQhqIgNHDQALCyACIAZrIgdBfHEiCCAFaiEDAkAgASAGaiIEQQNxRQRAIAMgBU0NASAEIQEDQCAFIAEoAgA2AgAgAUEEaiEBIAVBBGoiBSADSQ0ACwwBCyADIAVNDQAgBEEDdCICQRhxIQYgBEF8cSIJQQRqIQFBACACa0EYcSEKIAkoAgAhAgNAIAIgBnYhCSAFIAkgASgCACICIAp0cjYCACABQQRqIQEgBUEEaiIFIANJDQALCyAHQQNxIQIgBCAIaiEBCwJAIAIgA2oiBiADTQ0AIAJBAWsgAkEHcSIEBEADQCADIAEtAAA6AAAgAUEBaiEBIANBAWohAyAEQQFrIgQNAAsLQQdJDQADQCADIAEtAAA6AAAgA0EBaiABQQFqLQAAOgAAIANBAmogAUECai0AADoAACADQQNqIAFBA2otAAA6AAAgA0EEaiABQQRqLQAAOgAAIANBBWogAUEFai0AADoAACADQQZqIAFBBmotAAA6AAAgA0EHaiABQQdqLQAAOgAAIAFBCGohASAGIANBCGoiA0cNAAsLIAAL6gQBCn8jAEEwayIDJAAgAyABNgIsIAMgADYCKCADQQM6ACQgA0IgNwIcIANBADYCFCADQQA2AgwCfwJAAkACQCACKAIQIgpFBEAgAigCDCIARQ0BIAIoAggiASAAQQN0aiEEIABBAWtB/////wFxQQFqIQcgAigCACEAA0AgAEEEaigCACIFBEAgAygCKCAAKAIAIAUgAygCLCgCDBEDAA0ECyABKAIAIANBDGogAUEEaigCABECAA0DIABBCGohACAEIAFBCGoiAUcNAAsMAQsgAigCFCIARQ0AIABBBXQhCyAAQQFrQf///z9xQQFqIQcgAigCCCEFIAIoAgAhAANAIABBBGooAgAiAQRAIAMoAiggACgCACABIAMoAiwoAgwRAwANAwsgAyAIIApqIgFBEGooAgA2AhwgAyABQRxqLQAAOgAkIAMgAUEYaigCADYCICABQQxqKAIAIQRBACEJQQAhBgJAAkACQCABQQhqKAIAQQFrDgIAAgELIAUgBEEDdGoiDCgCAA0BIAwoAgQhBAtBASEGCyADIAQ2AhAgAyAGNgIMIAFBBGooAgAhBAJAAkACQCABKAIAQQFrDgIAAgELIAUgBEEDdGoiBigCAA0BIAYoAgQhBAtBASEJCyADIAQ2AhggAyAJNgIUIAUgAUEUaigCAEEDdGoiASgCACADQQxqIAFBBGooAgARAgANAiAAQQhqIQAgCyAIQSBqIghHDQALCyAHIAIoAgRPDQEgAygCKCACKAIAIAdBA3RqIgAoAgAgACgCBCADKAIsKAIMEQMARQ0BC0EBDAELQQALIANBMGokAAurBAEMfyABQQFrIQ4gACgCBCEKIAAoAgAhCyAAKAIIIQwCQANAIAUNAQJ/AkAgAiADSQ0AA0AgASADaiEFAkACQAJAIAIgA2siB0EHTQRAIAIgA0cNASACIQMMBQsCQCAFQQNqQXxxIgYgBWsiBARAQQAhAANAIAAgBWotAABBCkYNBSAEIABBAWoiAEcNAAsgB0EIayIAIARPDQEMAwsgB0EIayEACwNAIAYoAgAiCUGAgoQIIAlBipSo0ABza3IgBkEEaigCACIJQYCChAggCUGKlKjQAHNrcnFBgIGChHhxQYCBgoR4Rw0CIAZBCGohBiAAIARBCGoiBE8NAAsMAQtBACEAA0AgACAFai0AAEEKRg0CIAcgAEEBaiIARw0ACyACIQMMAwsgBCAHRgRAIAIhAwwDCyAEIAVqIQYgAiAEayADayEHQQAhAAJAA0AgACAGai0AAEEKRg0BIAcgAEEBaiIARw0ACyACIQMMAwsgACAEaiEACyAAIANqIgRBAWohAwJAIAIgBE0NACAAIAVqLQAAQQpHDQBBACEFIAMiBAwDCyACIANPDQALCyACIAhGDQJBASEFIAghBCACCyEAAkAgDC0AAARAIAtBjOfAAEEEIAooAgwRAwANAQsgACAIayEHQQAhBiAAIAhHBEAgACAOai0AAEEKRiEGCyABIAhqIQAgDCAGOgAAIAQhCCALIAAgByAKKAIMEQMARQ0BCwtBASENCyANC6EEAgt/An4jAEHQAGshBAJAIABFDQAgAkUNACAEQQhqIgNBEGoiBiABIABBbGxqIgsiB0EQaigCADYCACADQQhqIgggB0EIaikCADcDACAEIAcpAgA3AwggAkEUbCEJIAIiAyEFA0AgCyADQRRsaiEBA0AgASkCACEOIAEgBCkDCDcCACAIKQMAIQ8gCCABQQhqIgopAgA3AwAgCiAPNwIAIAYoAgAhCiAGIAFBEGoiDCgCADYCACAMIAo2AgAgBCAONwMIIAAgA01FBEAgASAJaiEBIAIgA2ohAwwBCwsgAyAAayIDBEAgAyAFIAMgBUkbIQUMAQUgByAEKQMINwIAIAdBEGogBEEIaiIBQRBqIgYoAgA2AgAgB0EIaiABQQhqIggpAwA3AgBBASAFIAVBAU0bIQtBASEDA0AgAyALRg0DIAYgByADQRRsaiIFQRBqIgooAgA2AgAgCCAFQQhqIgwpAgA3AwAgBCAFKQIANwMIIAIgA2ohAQNAIAcgAUEUbGoiCSkCACEOIAkgBCkDCDcCACAIKQMAIQ8gCCAJQQhqIg0pAgA3AwAgDSAPNwIAIAYoAgAhDSAGIAlBEGoiCSgCADYCACAJIA02AgAgBCAONwMIIAAgAUsEQCABIAJqIQEMAQsgAyABIABrIgFHDQALIAUgBCkDCDcCACAKIAYoAgA2AgAgDCAIKQMANwIAIANBAWohAwwACwALAAsACwvRBAIDfwR+IwBB0AZrIgQkACAEQfwBakEAQYUEEB4aIARBgIDEADYC+AEgBEE0aiIFIAAgAUEBIAJBABAfIARB2ABqIAAgAUEBQQBBABAfIARBxAZqIgYgARBVIARBhAFqIAAQOSAEQQA6APABIAQgATYC1AEgBCAANgLQASAEQQA7Ae4BIARBAjoA6gEgBEECOgDmASAEQQE6AKQBIARCADcCnAEgBCACNgKAASAEQQE2AnwgBEEAOwHkASAEQQA6APUBIARBgIAENgDxASAEQgA3AtgBIAQgAUEBazYC4AEgBEECOgCwASAEQQI6ALQBIARBADYCwAEgBEECOgDEASAEQQI6AMgBIARBgICACDYCzAEgBEIANwKoASAEQoCAgAg3ArgBIARBmAFqIAZBCGooAgA2AgAgBEEAOgD2ASAEIAQpAsQGNwKQASAEQShqIABBAkEIQYzCwAAQYCAEKQMoIQcgBEEgaiAAQQJBDEGcwsAAEGAgBCkDICEIIARBGGogAEEEQQxBrMLAABBgIAQpAxghCSAEQRBqIABBBEEQQbzCwAAQYCAEKQMQIQogBEEIaiAAQQRBBEHMwsAAEGAgBCADQQBHOgDABiAEQQA2ArwGIARBADYCsAYgBCAKNwKoBiAEQQA2AqQGIAQgCTcCnAYgBEEANgKYBiAEIAg3ApAGIARBADYCjAYgBCAHNwKEBiAEIAQpAwg3ArQGQZwGEJkBIgBBADYCCCAAQoGAgIAQNwIAIABBDGogBUGQBhAWGiAEQdAGaiQAIABBCGoLxhACEX8EfiMAQSBrIgwkABAAIQogDEEANgIcIAwgCjYCGCAMIAE2AhQgDEEUaiAFEIQBIAwoAhwhASAGQf//A3G4EAkhBSAMKAIYIhUgASAFEAEjAEEgayIGJAACQEGwssEAKAIAIgUNAEG0ssEAQQA2AgBBsLLBAEEBNgIAQbiywQAoAgAhAUG8ssEAKAIAIQhBuLLBAEHY68AAKQIAIhg3AgAgBkEIakHg68AAKQIAIhk3AwBBxLLBACgCACEKQcCywQAgGTcCACAGIBg3AwAgBUUNACAIRQ0AAkAgCkUNACABQQhqIQkgASkDAEJ/hUKAgYKEiJCgwIB/gyEZQQEhCyABIQUDQCALRQ0BIBkhGANAIBhQBEAgBUHgAGshBSAJKQMAQn+FQoCBgoSIkKDAgH+DIRggCUEIaiEJDAELCyAYQgF9IBiDIRkgCkEBayIKIQsgBSAYeqdBA3ZBdGxqQQRrKAIAIgdBhAFJDQAgBxADDAALAAsgBkEUaiAIQQFqEEMgASAGKAIcayAGKAIUIAYoAhgQpgELIAZBIGokAEG0ssEAKAIARQRAQbSywQBBfzYCAEG8ssEAKAIAIgEgA3EhBiADrSIaQhmIQoGChIiQoMCAAX4hG0G4ssEAKAIAIQoDQCAGIApqKQAAIhkgG4UiGEKBgoSIkKDAgAF9IBhCf4WDQoCBgoSIkKDAgH+DIRgCQAJAA0AgGEIAUgRAIAMgCiAYeqdBA3YgBmogAXFBdGxqIgVBDGsoAgBGBEAgBUEIaygCACAERg0DCyAYQgF9IBiDIRgMAQsLIBkgGUIBhoNCgIGChIiQoMCAf4NQDQFBwLLBACgCAEUEQCMAQTBrIggkAAJAAkACQEHEssEAKAIAIgpBf0YNAEG8ssEAKAIAIglBAWoiC0EDdiEBIAkgAUEHbCAJQQhJGyIOQQF2IApNBEAgCEEIagJ/IAogDiAKIA5LGyIBQQdPBEAgAUH+////AUsNA0F/IAFBA3RBCGpBB25BAWtndkEBagwBC0EEQQggAUEDSRsLIgEQQyAIKAIIIgVFDQEgCCgCECEGIAgoAgwiCQRAQeyywQAtAAAaIAUgCRA1IQULIAVFDQIgBSAGakH/ASABQQhqEB4hCyAIQQA2AiAgCCABQQFrIgc2AhggCCALNgIUIAhBCDYCECAIIAcgAUEDdkEHbCABQQlJGyIONgIcIAtBDGshEUG4ssEAKAIAIgYpAwBCf4VCgIGChIiQoMCAf4MhGCAGIQEgCiEJQQAhBQNAIAkEQANAIBhQBEAgBUEIaiEFIAEpAwhCf4VCgIGChIiQoMCAf4MhGCABQQhqIQEMAQsLIAggCyAHIAYgGHqnQQN2IAVqIg1BdGxqIgZBDGsoAgAiECAGQQhrKAIAIBAbrRBkIBEgCCgCAEF0bGoiEEG4ssEAKAIAIgYgDUF0bGpBDGsiDSkAADcAACAQQQhqIA1BCGooAAA2AAAgCUEBayEJIBhCAX0gGIMhGAwBCwsgCCAKNgIgIAggDiAKazYCHEEAIQEDQCABQRBHBEAgAUG4ssEAaiIFKAIAIQYgBSABIAhqQRRqIgUoAgA2AgAgBSAGNgIAIAFBBGohAQwBCwsgCCgCGCIBRQ0DIAhBJGogAUEBahBDIAgoAhQgCCgCLGsgCCgCJCAIKAIoEKYBDAMLIAEgC0EHcUEAR2ohBUG4ssEAKAIAIgYhAQNAIAUEQCABIAEpAwAiGEJ/hUIHiEKBgoSIkKDAgAGDIBhC//79+/fv37//AIR8NwMAIAFBCGohASAFQQFrIQUMAQUCQCALQQhPBEAgBiALaiAGKQAANwAADAELIAZBCGogBiALEBILIAZBCGohESAGQQxrIRAgBiEFQQAhAQNAAkACQCABIAtHBEAgASAGaiITLQAAQYABRw0CIAFBdGwiByAQaiEUIAYgB2oiB0EIayEWIAdBDGshFwNAIAEgFygCACIHIBYoAgAgBxsiByAJcSIPayAGIAkgB60QRCINIA9rcyAJcUEISQ0CIAYgDWoiDy0AACAPIAdBGXYiBzoAACARIA1BCGsgCXFqIAc6AAAgDUF0bCEHQf8BRwRAIAYgB2ohDUF0IQcDQCAHRQ0CIAUgB2oiDy0AACESIA8gByANaiIPLQAAOgAAIA8gEjoAACAHQQFqIQcMAAsACwsgE0H/AToAACARIAFBCGsgCXFqQf8BOgAAIAcgEGoiB0EIaiAUQQhqKAAANgAAIAcgFCkAADcAAAwCC0HAssEAIA4gCms2AgAMBwsgEyAHQRl2Igc6AAAgESABQQhrIAlxaiAHOgAACyABQQFqIQEgBUEMayEFDAALAAsACwALIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHI6sAANgIIIABCBDcCECAAQQhqQfzqwAAQigEACwALIAhBMGokAAsgAyAEEAghASAMQQhqQbiywQAoAgBBvLLBACgCACAaEGQgDCgCCCEFIAwtAAwhBkHEssEAQcSywQAoAgBBAWo2AgBBwLLBAEHAssEAKAIAIAZBAXFrNgIAQbiywQAoAgAgBUF0bGoiBUEEayABNgIAIAVBCGsgBDYCACAFQQxrIAM2AgALIAVBBGsoAgAQBCEBQbSywQBBtLLBACgCAEEBajYCACACIAEgFRAFIABBADYCACAMQSBqJAAPCyAOQQhqIg4gBmogAXEhBgwACwALIwBBMGsiACQAIABBATYCDCAAQejlwAA2AgggAEIBNwIUIAAgAEEvaq1CgICAgLABhDcDICAAIABBIGo2AhAgAEEIakHQ7MAAEIoBAAu9AwEHfyABQQFrIQlBACABayEKIABBAnQhCCACKAIAIQUDQAJAIAVFDQAgBSEBA0ACQAJAAkACfwJAIAEoAggiBUEBcUUEQCABKAIAQXxxIgsgAUEIaiIGayAISQ0DIAsgCGsgCnEiBSAGIAMgACAEEQIAQQJ0akEIakkEQCAGKAIAIQUgBiAJcQ0EIAIgBUF8cTYCACABIgUoAgAMAwtBACECIAVBADYCACAFQQhrIgVCADcCACAFIAEoAgBBfHE2AgACQCABKAIAIgBBAnENACAAQXxxIgBFDQAgACAAKAIEQQNxIAVyNgIEIAUoAgRBA3EhAgsgBSABIAJyNgIEIAEgASgCCEF+cTYCCCABIAEoAgAiAEEDcSAFciICNgIAIABBAnENASAFKAIADAILIAEgBUF+cTYCCCABKAIEQXxxIgUEf0EAIAUgBS0AAEEBcRsFQQALIQUgARBAIAEtAABBAnENAwwECyABIAJBfXE2AgAgBSgCAEECcgshAiAFIAJBAXI2AgAgBUEIaiEHDAQLIAIgBTYCAAwECyAFIAUoAgBBAnI2AgALIAIgBTYCACAFIQEMAAsACwsgBwv0AwEFfyMAQTBrIgYkACACIAFrIgcgA0shCSACQQFrIgggACgCHCIFQQFrSQRAIAAgCEGgzsAAEGJBADoADAsgAyAHIAkbIQMCQAJAIAFFBEACQCACIAVHBEAgBkEQaiAAKAIYIAQQKyAFQQR0IAJBBHRrIQcgAEEMaiEJIAAoAhQiASACIAVraiEEIAEhAgNAIANFBEAgBigCECAGKAIUQQRBFBCfAQwFCyAGQSBqIAZBEGoQVCABIARJDQIgCSgCACIIIAJGBEAjAEEQayIFJAAgBUEIaiAJIAhBAUEEQRAQJiAFKAIIIghBgYCAgHhHBEAgBSgCDBogCEGwzsAAEK4BAAsgBUEQaiQACyAAKAIQIARBBHRqIQUgAiAESwRAIAVBEGogBSAHEBILIAUgBikCIDcCACAAIAJBAWoiAjYCFCAFQQhqIAZBKGopAgA3AgAgA0EBayEDIAdBEGohBwwACwALIAAgAyAAKAIYIAQQLgwCCyAEIAJBsM7AABBMAAsgACABQQFrQcDOwAAQYkEAOgAMIAZBCGogACABIAJB0M7AABBnIAYoAgwiASADSQ0BIAMgBigCCCADQQR0aiABIANrEBUgACACIANrIAIgBBAqCyAAQQE6ACAgBkEwaiQADwtBpMjAAEEjQbzJwAAQcQALlAMBBX8CQCACQRBJBEAgACEDDAELAkBBACAAa0EDcSIFIABqIgQgAE0NACAFQQFrIAAhAyAFBEAgBSEGA0AgAyABOgAAIANBAWohAyAGQQFrIgYNAAsLQQdJDQADQCADIAE6AAAgA0EHaiABOgAAIANBBmogAToAACADQQVqIAE6AAAgA0EEaiABOgAAIANBA2ogAToAACADQQJqIAE6AAAgA0EBaiABOgAAIAQgA0EIaiIDRw0ACwsgBCACIAVrIgJBfHFqIgMgBEsEQCABQf8BcUGBgoQIbCEFA0AgBCAFNgIAIARBBGoiBCADSQ0ACwsgAkEDcSECCwJAIAIgA2oiBSADTQ0AIAJBAWsgAkEHcSIEBEADQCADIAE6AAAgA0EBaiEDIARBAWsiBA0ACwtBB0kNAANAIAMgAToAACADQQdqIAE6AAAgA0EGaiABOgAAIANBBWogAToAACADQQRqIAE6AAAgA0EDaiABOgAAIANBAmogAToAACADQQFqIAE6AAAgBSADQQhqIgNHDQALCyAAC7EDAQV/IwBBQGoiBiQAIAZBADsAEiAGQQI6AA4gBkECOgAKIAZBMGoiB0EIaiIIIAUgBkEKaiAFGyIFQQhqLwAAOwEAIAYgBSkAADcDMCAGQRRqIAEgBxArIAYgAkEEQRBB8MzAABBgIAZBADYCLCAGIAYpAwA3AiQgBkEkaiACEI0BQQEgAiACQQFNGyIJQQFrIQcgBigCKCAGKAIsIgpBBHRqIQUCfwNAIAcEQCAGQTBqIAZBFGoQVCAFIAYpAjA3AgAgBUEIaiAIKQIANwIAIAdBAWshByAFQRBqIQUMAQUCQCAJIApqIQcCQCACRQRAIAYoAhQgBigCGEEEQRQQnwEgB0EBayEHDAELIAUgBikCFDcCACAFQQhqIAZBHGopAgA3AgALIAYgBzYCLCADQQFxRQ0AIAQEQCAGQSRqIAQQjQELIARBCm4gBGohBUEBDAMLCwsgBkEkakHoBxCNAUEACyEDIAAgBikCJDcCDCAAIAI2AhwgACABNgIYIABBADoAICAAIAU2AgggACAENgIEIAAgAzYCACAAQRRqIAZBLGooAgA2AgAgBkFAayQAC6YDAQN/IwBBEGsiBiQAIAMgACgCGCABayIFIAMgBUkbIQMgASAAIAJBoM3AABBiIgAoAggiAkEBayIFIAEgBUkbIQEgACgCBCACIAFB2NjAABCQASIFKAIERQRAIAVCoICAgBA3AgAgBSAEKQAANwAIIAVBEGogBEEIaiIHLwAAOwAAIAAoAgQgACgCCCABQQFrQejYwAAQkAEiBUKggICAEDcCACAFIAQpAAA3AAggBUEQaiAHLwAAOwAACyAGQQhqIAAoAgQgACgCCCABQfjYwAAQfwJAIAMgBigCDCIFTQRAIAUgA2siBSAGKAIIIAVBFGxqIAMQGSAAKAIEIAAoAgggAUGI2cAAEJABIgEoAgRFBEAgAUKggICAEDcCACABIAQpAAA3AAggAUEQaiAEQQhqLwAAOwAAIAJFDQIgACgCBCACQRRsaiIAQRRrIgFFDQIgAUEgNgIAIABBEGtBATYCACAAQQxrIgAgBCkAADcAACAAQQhqIARBCGovAAA7AAALIAZBEGokAA8LQczJwABBIUHwycAAEHEAC0GY2cAAELYBAAv2AgEEfwJAIAACfwJAAkACQAJAAkAgACgCpAEiAkEBTQRAAkAgAUH/AEsNACAAIAJqQbABai0AAEEBcUUNACABQQJ0QbjQwABqKAIAIQELIAAoAmgiAyAAKAKcASIETw0DIAAoAmwhAiAALQC9AQ0BDAILIAJBAkGo5cAAEEsACyAAIAMgAkEBIABBsgFqECALIAAgAyACIAEgAEGyAWoQEyIFDQELIAAtAL8BDQEgACADQQFrIAAoAmwiAiABIABBsgFqIgUQE0UEQCAAIANBAmsgAiABIAUQExoLIARBAWsMAgsgACADIAVqIgE2AmggASAERw0CIAAtAL8BDQIgBEEBawwBCwJAIAAoAmwiAiAAKAKsAUcEQCACIAAoAqABQQFrTw0BIAAgAhCwASAAIAJBAWoiAjYCbAwBCyAAIAIQsAEgAEEBEIcBIAAoAmwhAgsgAEEAIAIgASAAQbIBahATCzYCaAsgACgCYCAAKAJkIAIQkQEL+gIAAkACQAJAAkACQAJAAkAgA0EBaw4GAAECAwQFBgsgACgCGCEEIAAgAkHQzcAAEGIiA0EAOgAMIAMoAgQgAygCCCABIAQgBRAnIAAgAkEBaiAAKAIcIAUQKg8LIAAoAhghAyAAIAJB4M3AABBiIgQoAgQgBCgCCEEAIAFBAWoiASADIAEgA0kbIAUQJyAAQQAgAiAFECoPCyAAQQAgACgCHCAFECoPCyAAKAIYIQMgACACQfDNwAAQYiIAKAIEIAAoAgggASADIAUQJyAAQQA6AAwPCyAAKAIYIQMgACACQYDOwAAQYiIAKAIEIAAoAghBACABQQFqIgAgAyAAIANJGyAFECcPCyAAKAIYIQEgACACQZDOwAAQYiIAKAIEIAAoAghBACABIAUQJyAAQQA6AAwPCyAAKAIYIQMgACACQcDNwAAQYiIAKAIEIAAoAgggASABIAQgAyABayIBIAEgBEsbaiIBIAUQJyABIANGBEAgAEEAOgAMCwvUAgEFfyMAQUBqIgMkACADQQA2AiAgAyABNgIYIAMgASACajYCHCADQRBqIANBGGoQTQJAIAMoAhBFBEAgAEEANgIIIABCgICAgMAANwIADAELIAMoAhQhBCADQQhqQQRBBEEEQZTIwAAQYCADKAIIIQUgAygCDCIGIAQ2AgAgA0EBNgIsIAMgBjYCKCADIAU2AiQgA0E4aiADQSBqKAIANgIAIAMgAykCGDcDMEEEIQVBASEEA0AgAyADQTBqEE0gAygCAEEBR0UEQCADKAIEIQcgAygCJCAERgRAIANBJGogBEEBQQRBBBBtIAMoAighBgsgBSAGaiAHNgIAIAMgBEEBaiIENgIsIAVBBGohBQwBCwsgACADKQIkNwIAIABBCGogA0EsaigCADYCAAsDQCACBEAgAUEAOgAAIAJBAWshAiABQQFqIQEMAQsLIANBQGskAAvKAgIFfwJ+IwBBIGsiAiQAIAACfwJAAkAgAS0AIEUEQAwBCyABQQA6ACACQCABKAIAQQFGBEAgASgCFCIFIAEoAhxrIgMgASgCCEsNAQsMAQsgBSADIAEoAgRrIgRPBEBBACEDIAFBADYCFCACIAFBDGo2AhQgAiABKAIQIgY2AgwgAiAENgIYIAIgBSAEazYCHCACIAYgBEEEdGo2AhAgAS0AvAENAkEUQQQQfCEBIAJBDGoiA0EIaikCACEHIAIpAgwhCCABQRBqIANBEGooAgA2AgAgAUEIaiAHNwIAIAEgCDcCAEGg5MAADAMLIAQgBUH0y8AAELMBAAsgAkEANgIMQQEhAyABLQC8AQ0AQQBBARB8IQFBhOTAAAwBC0EAQQEQfCEBIANFBEAgAkEMahBYC0GE5MAACzYCBCAAIAE2AgAgAkEgaiQAC5ICAQV/AkACQAJAQX8gACgCnAEiAyABRyABIANJG0H/AXEOAgIBAAsgACAAKAJYIgMEfyAAKAJUIQUDQCADQQJJRQRAIANBAXYiBiAEaiIHIAQgBSAHQQJ0aigCACABSRshBCADIAZrIQMMAQsLIAQgBSAEQQJ0aigCACABSWoFQQALNgJYDAELQQAgASADQXhxQQhqIgRrIgNBACABIANPGyIDQQN2IANBB3FBAEdqayEDIABB0ABqIQUDQCADRQ0BIAUgBEHc4sAAEHsgA0EBaiEDIARBCGohBAwACwALIAIgACgCoAFHBEAgAEEANgKoASAAIAJBAWs2AqwBCyAAIAI2AqABIAAgATYCnAEgABARC/IBAgR/AX4jAEEQayIGJAACQCACIAIgA2oiA0sEQEEAIQIMAQtBACECIAQgBWpBAWtBACAEa3GtQQhBBCAFQQFGGyIHIAEoAgAiCEEBdCIJIAMgAyAJSRsiAyADIAdJGyIHrX4iCkIgiKcNACAKpyIDQYCAgIB4IARrSw0AIAQhAgJ/IAgEQCAFRQRAIAZBCGogBCADEIwBIAYoAggMAgsgASgCBCAFIAhsIAQgAxB+DAELIAYgBCADEIwBIAYoAgALIgVFDQAgASAHNgIAIAEgBTYCBEGBgICAeCECCyAAIAM2AgQgACACNgIAIAZBEGokAAuZAgEDfwJAAkACQCABIAJGDQAgACABIAJBoNXAABCQASgCBEUEQCAAIAEgAkEBa0Gw1cAAEJABIgVCoICAgBA3AgAgBSAEKQAANwAIIAVBEGogBEEIai8AADsAAAsgAiADSw0BIAEgA0kNAiADQRRsIgYgAkEUbCICayEFIAAgAmohAiAEQQhqIQcDQCAFBEAgAkKggICAEDcCACACIAQpAAA3AAggAkEQaiAHLwAAOwAAIAVBFGshBSACQRRqIQIMAQsLIAEgA00NACAAIAZqIgAoAgQNACAAQqCAgIAQNwIAIAAgBCkAADcACCAAQRBqIARBCGovAAA7AAALDwsgAiADQcDVwAAQtQEACyADIAFBwNXAABCzAQALiwIBA38jAEEwayIDJAAgAyACNgIYIAMgATYCFAJAIANBFGoQWiIBQf//A3FBA0YEQCAAQQA2AgggAEKAgICAIDcCAAwBCyADQQhqQQRBAkECQZTIwAAQYCADKAIIIQIgAygCDCIEIAE7AQAgA0EBNgIkIAMgBDYCICADIAI2AhwgAyADKQIUNwIoQQIhAUEBIQIDQCADQShqEFoiBUH//wNxQQNGRQRAIAMoAhwgAkYEQCADQRxqIAJBAUECQQIQbSADKAIgIQQLIAEgBGogBTsBACADIAJBAWoiAjYCJCABQQJqIQEMAQsLIAAgAykCHDcCACAAQQhqIANBJGooAgA2AgALIANBMGokAAuFAgEDfyMAQTBrIgMkACADIAI2AhggAyABNgIUAkAgA0EUahBOQf//A3EiAUUEQCAAQQA2AgggAEKAgICAIDcCAAwBCyADQQhqQQRBAkECQZTIwAAQYCADKAIIIQIgAygCDCIEIAE7AQAgA0EBNgIkIAMgBDYCICADIAI2AhwgAyADKQIUNwIoQQIhAUEBIQIDQCADQShqEE5B//8DcSIFBEAgAygCHCACRgRAIANBHGogAkEBQQJBAhBtIAMoAiAhBAsgASAEaiAFOwEAIAMgAkEBaiICNgIkIAFBAmohAQwBCwsgACADKQIcNwIAIABBCGogA0EkaigCADYCAAsgA0EwaiQAC4MCAQJ/IwBBMGsiBCQAIARBEGogACgCGCADECsgBEEIaiAAEHIgBCABIAIgBCgCCCAEKAIMQeDPwAAQbAJAIAQoAgQiAEUEQCAEKAIQIAQoAhRBBEEUEJ8BDAELIABBBHQiAUEQayEDIAEgBCgCACIAaiICQRBrIQEDQCADBEAgBEEgaiIFIARBEGoQVCAAKAIAIABBBGooAgBBBEEUEJ8BIABBCGogBUEIaikCADcCACAAIAQpAiA3AgAgA0EQayEDIABBEGohAAwBBSABKAIAIAJBDGsoAgBBBEEUEJ8BIAFBCGogBEEYaikCADcCACABIAQpAhA3AgALCwsgBEEwaiQAC4ACAQZ/IwBBIGsiAyQAIANBCGogAUEEQRRBkNXAABBgIANBADYCHCADIAMpAwg3AhQgA0EUaiABEI4BQQEgASABQQFNGyIGQQFrIQUgAygCGCADKAIcIgdBFGxqIQQgAkEIaiEIAkADQCAFBEAgBEKggICAEDcCACAEIAIpAAA3AAggBEEQaiAILwAAOwAAIAVBAWshBSAEQRRqIQQMAQUCQCAGIAdqIQUgAQ0AIAVBAWshBQwDCwsLIARCoICAgBA3AgAgBCACKQAANwAIIARBEGogAkEIai8AADsAAAsgACADKQIUNwIAIABBCGogBTYCACAAQQA6AAwgA0EgaiQAC9QBAQV/AkAgACgChAQiAUF/RwRAIAFBAWohAyABQSBJDQEgA0EgQdTbwAAQswEAC0HU28AAEH0ACyAAQQRqIgEgA0EEdGohBQNAIAEgBUZFBEACQCABKAIAIgJBf0cEQCACQQZJDQEgAkEBakEGQaThwAAQswEAC0Gk4cAAEH0ACyABQQRqIQQgAUEQaiACQQF0QQJqIQIDQCACBEAgBEEAOwEAIAJBAmshAiAEQQJqIQQMAQsLIAFBADYCACEBDAELCyAAQYCAxAA2AgAgAEEANgKEBAvzAQEBfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIDQYCAxABGBEAgAkHg//8AcUHAAEYNASACQTdrDgIDBAILIAJBMEYNBiACQThGDQUgA0Eoaw4CCQoNCyAAIAJBQGsQSA8LIAJB4wBGDQIMCwsgAEEROgAADwsgAEEPOgAADwsgAEEkOgAAIAFBADoAiAQPCyADQSNrDgcBBwcHBwMGBwsgA0Eoaw4CAQQGCyAAQQ46AAAPCyAAQZoCOwEADwsgAEEaOwEADwsgAkEwRw0BCyAAQZkCOwEADwsgAEEZOwEADwsgAEEyOgAAC8UBAQJ/IwBBMGsiBCQAIARBDGogAiADECsgBCABNgIcIABBDGogARCNASABBEAgACgCECAAKAIUIgJBBHRqIQMCQANAAkAgBEEgaiIFIARBDGoQVCAEKAIgQYCAgIB4Rg0AIAMgBCkCIDcCACADQQhqIAVBCGopAgA3AgAgA0EQaiEDIAJBAWohAiABQQFrIgENAQwCCwtBgICAgHggBCgCJBCjAQsgACACNgIUCyAEKAIMIAQoAhBBBEEUEJ8BIARBMGokAAuHAQEDfyMAQSBrIgEkACABQQRqIAAQViABKAIEIgAtAHBBAXEEfyAAKAJsIQMgACgCaCEAIAFBADYCEBAAIQIgAUEANgIcIAEgAjYCGCABIAFBEGo2AhQgAUEUaiICIAAQhAEgAiADEIQBIAEoAhgFQYABCyABKAIIIAEoAgwQogEgAUEgaiQAC8EBAQV/IwBBEGsiAiQAQQEhBAJAIAEoAhwiA0G7gMAAQQUgASgCICIGKAIMIgURAwANAAJAIAEtABRBBHFFBEAgA0GS58AAQQEgBREDAA0CIAAgAyAGEDdFDQEMAgsgA0GT58AAQQIgBREDAA0BIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCAAIAJB9ObAABA3DQEgAkGQ58AAQQIQGA0BCyADQZaqwQBBASAFEQMAIQQLIAJBEGokACAEC7ABAQF/IABBADYCACAAQQhrIgQgBCgCAEF+cTYCAAJAIAIgAxEFAEUNAAJAAkAgAEEEaygCAEF8cSICRQ0AIAItAABBAXENACAEEEAgBC0AAEECcUUNASACIAIoAgBBAnI2AgAPCyAEKAIAIgJBAnENASACQXxxIgJFDQEgAi0AAEEBcQ0BIAAgAigCCEF8cTYCACACIARBAXI2AggLDwsgACABKAIANgIAIAEgBDYCAAunAQECfyMAQSBrIgIkACACIAAoAmg2AgwgAkEAOgAcIAIgACgCVCIDNgIQIAIgAyAAKAJYQQJ0ajYCFCACIAJBDGo2AhggAAJ/AkACQANAIAFBAWsiAQRAIAJBEGoQSQ0BDAILCyACQRBqEEkiAQ0BCyAAKAKcASIDQQFrIgAMAQsgACgCnAEiA0EBayEAIAEoAgALIgEgACABIANJGzYCaCACQSBqJAALowEBAX8jAEFAaiIDJAAgA0EcaiAAEF4gAygCHCIAIAEgAhAlIANBKGogAEHgAGooAgAgAEHkAGooAgAQIyADQRBqIAAQJCADIAMpAxA3AjQgA0EIaiADKAIsIAMoAjAQWyADKAIMIQAgAygCCEEBcQRAIAMgADYCPCADQTxqQezCwAAQQgALIANBKGoQbiADKAIgIAMoAiQQsgEgA0FAayQAIAALmQEBA38gAUFsbCECIAFB/////wNxIQMgACABQRRsaiEBQQAhAAJAA0AgAkUNAQJAIAFBFGsiBCgCAEEgRw0AIAFBEGsoAgBBAUcNACABQQxrLQAAQQJHDQAgAUEIay0AAEECRw0AIAFBBGstAAANACABQQNrLQAAQR9xDQAgAkEUaiECIABBAWohACAEIQEMAQsLIAAhAwsgAwuxAQECfyMAQRBrIgIkAAJAIAFFDQAgAUEDakECdiEBAkAgAEEETQRAIAFBAWsiA0GAAkkNAQsgAkGsssEAKAIANgIIIAEgACACQQhqQaiqwQBBBEEFEE8hAEGsssEAIAIoAgg2AgAMAQsgAkGsssEANgIEIAIgA0ECdEGsqsEAaiIDKAIANgIMIAEgACACQQxqIAJBBGpBBkEHEE8hACADIAIoAgw2AgALIAJBEGokACAAC6ABAQN/IwBBEGsiBSQAIAVBCGogACABIAJB4M7AABBnIAUoAgwiBiADIAIgAWsiByADIAdJGyIDTwRAIAYgA2siBiAFKAIIIAZBBHRqIAMQFSAAIAEgASADaiAEECogAQRAIAAgAUEBa0HwzsAAEGJBADoADAsgACACQQFrQYDPwAAQYkEAOgAMIAVBEGokAA8LQczJwABBIUHwycAAEHEAC6gBAQF/IwBBQGoiAyQAIANBCGogACgCABACIAMoAgghACADIAMoAgw2AgQgAyAANgIAIANBATYCMCADQQI2AhggA0GYqsEANgIUIANCATcCICADIAMoAgQiADYCPCADIAMoAgA2AjggAyAANgI0IAMgA0E0ajYCLCADIANBLGo2AhwgASACIANBFGoQFyADKAI0IgEEQCADKAI4QQEgARA4CyADQUBrJAALpAEBAX8jAEEQayIDJAACQCAARQ0AIAJFDQACQCABQQRNBEAgAkEDakECdkEBayIBQYACSQ0BCyADQayywQAoAgA2AgggACADQQhqQaiqwQBBAhAxQayywQAgAygC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BDYCBCAAIAE2AgALOAACQCABaUEBRw0AQYCAgIB4IAFrIABJDQAgAARAQeyywQAtAAAaIAEgABA1IgFFDQELIAEPCwALOAACQCACQYCAxABGDQAgACACIAEoAhARAgBFDQBBAQ8LIANFBEBBAA8LIAAgA0EAIAEoAgwRAwALLQEBfyABIAAoAgBPBH8gACgCBCECIAAtAAhFBEAgASACTQ8LIAEgAkkFQQALC3ABA38gACgCACIEIAAoAggiBUYEQCMAQRBrIgMkACADQQhqIAAgBEEBQQJBCBAmIAMoAggiBEGBgICAeEcEQCADKAIMGiAEIAIQrgEACyADQRBqJAALIAAgBUEBajYCCCAAKAIEIAVBA3RqIAE3AQALNAEBfyAAKAIIIgMgACgCAEYEQCAAIAIQawsgACADQQFqNgIIIAAoAgQgA0ECdGogATYCAAsuAQF/IwBBEGsiAiQAIAJBCGogASAAEIwBIAIoAggiAARAIAJBEGokACAADwsACzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQYzpwAA2AgggAUIENwIQIAFBCGogABCKAQALKgEBfyACIAMQNSIEBEAgBCAAIAEgAyABIANJGxAWGiAAIAIgARA4CyAECysAIAIgA0kEQCADIAIgBBC0AQALIAAgAiADazYCBCAAIAEgA0EUbGo2AgALLwEBfyAAIAIQjgEgACgCBCAAKAIIIgNBFGxqIAEgAkEUbBAWGiAAIAIgA2o2AggLKwAgASADSwRAIAEgAyAEELQBAAsgACADIAFrNgIEIAAgAiABQQR0ajYCAAsvAAJAAkAgA2lBAUcNAEGAgICAeCADayABSQ0AIAAgASADIAIQfiIADQELAAsgAAsuAANAIAEEQCAAKAIAIABBBGooAgBBBEEUEJ8BIAFBAWshASAAQRBqIQAMAQsLCzIBAX8gACgCCCECIAEgACgCAEECai0AABCbASEBIAAoAgQgAiABEAEgACACQQFqNgIICyoAIAAgACgCaCABaiIBIAAoApwBIgBBAWsgACABSxtBACABQQBOGzYCaAszAQJ/IAAgACgCqAEiAiAAKAKsAUEBaiIDIAEgAEGyAWoQNiAAKAJgIAAoAmQgAiADEFMLMwECfyAAIAAoAqgBIgIgACgCrAFBAWoiAyABIABBsgFqEB0gACgCYCAAKAJkIAIgAxBTCyoAIAEgAkkEQEGkyMAAQSNBvMnAABBxAAsgAiAAIAJBFGxqIAEgAmsQGQs1ACAAIAApAnQ3AmggACAAKQF8NwGyASAAIAAvAYYBOwG+ASAAQboBaiAAQYQBai8BADsBAAvsAQICfwF+IwBBEGsiAiQAIAJBATsBDCACIAE2AgggAiAANgIEIwBBEGsiASQAIAJBBGoiACkCACEEIAEgADYCDCABIAQ3AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQQEhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAQYCAgIB4NgIAIAAgATYCDCABKAIIIgEtAAkaIABBGyABLQAIEEoACyAAIAM2AgQgACACNgIAIAEoAggiAS0ACRogAEEcIAEtAAgQSgALKwECfwJAIAAoAgQgACgCCCIBEDQiAkUNACABIAJJDQAgACABIAJrNgIICwsmACACBEBB7LLBAC0AABogASACEDUhAQsgACACNgIEIAAgATYCAAsjAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBEBBtCwsjAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBFBBtCwslACAAQQE2AgQgACABKAIEIAEoAgBrQQR2IgE2AgggACABNgIACxsAIAEgAk0EQCACIAEgAxBLAAsgACACQRRsagsgACABIAJNBEAgAiABQeTjwAAQSwALIAAgAmpBAToAAAsbACABIAJNBEAgAiABIAMQSwALIAAgAkEEdGoLAwAACwMAAAsDAAALAwAACwMAAAsDAAALGgBB7LLBAC0AABpBBCAAEDUiAARAIAAPCwALIQAgAEUEQEGc68AAQTIQuQEACyAAIAIgAyABKAIQEQEACxYAIAFBAXFFBEAgALgQCQ8LIACtEAoLRgEBfyAAIAAoAgBBAWsiATYCACABRQRAIABBDGoQRwJAIABBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEEEQZwGEDgLCwsfACAARQRAQZzrwABBMhC5AQALIAAgAiABKAIQEQIACyEBAX8gACgCECIBIAAoAhQQgwEgACgCDCABQQRBEBCfAQsSACAABEAgASACIAAgA2wQOAsLIQEBfyAAKAIEIgEgACgCCBCDASAAKAIAIAFBBEEQEJ8BCxYAIABBEGoQWCAAKAIAIAAoAgQQowELFAAgACAAKAIAQQFrNgIAIAEQnAELGQAgAEGAgICAeEcEQCAAIAFBBEEUEJ8BCwsUACABBEBBgICAgHggARCjAQsgAQsZACABKAIcQcjlwABBDiABKAIgKAIMEQMACw8AIAIEQCAAIAEgAhA4CwsPACABBEAgACACIAEQOAsLEwAgAARADwtBpKnBAEEbELkBAAsPACAAQYQBTwRAIAAQAwsLEwAgACgCCCAAKAIAQQJBAhCfAQsVACACIAIQpAEaIABBgICAgHg2AgALFAAgACgCACABIAAoAgQoAgwRAgALEAAgASAAKAIEIAAoAggQDws8ACAARQRAIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHQxMAANgIIIABCBDcCECAAQQhqIAEQigEACwALFAAgAEEANgIIIABCgICAgBA3AgALEgAgACABQZDNwAAQYkEBOgAMCxAAIAEgACgCACAAKAIEEA8LDgAgAEEANgIAIAEQnAELawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQejpwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgOABhDcDKCADIAOtQoCAgIDgAYQ3AyAgAyADQSBqNgIQIANBCGogAhCKAQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQcjpwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgOABhDcDKCADIAOtQoCAgIDgAYQ3AyAgAyADQSBqNgIQIANBCGogAhCKAQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQZzqwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgOABhDcDKCADIAOtQoCAgIDgAYQ3AyAgAyADQSBqNgIQIANBCGogAhCKAQALDgBB8OXAAEErIAAQcQALCwAgACMAaiQAIwALDgBBv6nBAEHPABC5AQALCQAgACABEAcACw0AIABB9ObAACABEBcLDAAgACABKQIANwMACwoAIAAoAgAQqQELDQAgAEGAgICAeDYCAAsJACAAQQA2AgALBgAgABBYCwUAQYAECwQAQQELBAAgAQsEAEEACwvSbSAAQYCAwAALQB0AAAAEAAAABAAAAB4AAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlRXJyb3IAQb+JwAALAXgAQeCJwAALEP////////////////////8AQYaKwAALDwEAAAAAACAAAAAAAAAAAgBBwIrAAAsg//////////////////////////////////////////8AQaSLwAALCBAAAAAAAAABAEHAuMAACwL/BwBB1LjAAAsHDwD////1/wBBgLnAAAsW////////////////////////////AwBBoLnAAAsd/////////////////////////////////////w8AQf+5wAALGPz//////////////////////////////wBBoLrAAAs+//////////////////////////////////////////////////////////////////////////////////8AQYy7wAALOP////////////////////////////////////////////////////////////////////////9/AEHgu8AAC9EB/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wMAQcC9wAALJ///////////////////////////////////////////////////DwBBwMDAAAvBI3NyYy9saWIucnMAAAEADwDwGg8AAAAAAOIlAADlJQAAAAAAALDgAACz4AAAAAAAADz7AQBp+wEAAAAAAGr7AQBs+wEAAAAAAIAlAACfJQAAAAAAAAD7AQA7+wEAAAAAAGF0dGVtcHRlZCB0byB0YWtlIG93bmVyc2hpcCBvZiBSdXN0IHZhbHVlIHdoaWxlIGl0IHdhcyBib3Jyb3dlZGJndGV4dGNvZGVwb2ludHNyYXN0ZXJfc3ltYm9s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FVFVVVVVVVVVAAAAAAAAQFVVVVVVVVVVVdVXVVVVVVVVVVVVVVUFAABUVVVVVVVVVVVVVVVVVRUAAFVVUVVVVVVVBRAAAAEBUFVVVVVVVVVVVVUBVVVVVVX/////f1VVVVBVAABVVVVVVVVVVVVVBQBBwPzAAAuYBEBVVVVVVVVVVVVVVVVVRVQBAFRRAQBVVQVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVRAFUVVFVFVVVBVVVVVVVVUVBVVVVVVVVVVVVVVVVVVVUQRUUUFFVVVVVVVVVUFFVVUFVVVVVVVVVVVVVVVVVVVQBEFRRVVVVVQVVVVVVVQUAUVVVVVVVVVVVVVVVVVVVBAFUVVFVAVVVBVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVFVFVVUVUVVVVVVVVVVVVVVVRUVVVVVVVVVVVVVVVVVQRUBQRQVUFVVQVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVFEQFBFBVQVVVBVVVVVVVVVVQVVVVVVVVVVVVVVVVVRVEAVRVQVUVVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVUUVBURVFVVVVVVVVVVVVVVVVVVVVVVVVVVVUQBAVVUVAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRAABUVVUAQFVVVVVVVVVVVVVVVVVVVVVVVVBVVVVVVVURUVVVVVVVVVVVVVVVVVUBAABAAARVAQAAAQAAAAAAAAAAVFVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQEEAEFBVVVVVVVVUAVUVVVVAVRVVUVBVVFVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAEGAgcEAC5ADVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBVVVVVVVVVVVVVVVVBVRVVVVVVVUFVVVVVVVVVQVVVVVVVVVVBVVVVX///ff//ddfd9bV11UQAFBVRQEAAFVXUVVVVVVVVVVVVVUVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBVUVUVVAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVcVFFVVVVVVVVVVVVVVVVVVRQBARAEAVBUAABRVVVVVVVVVVVVVVVUAAAAAAAAAQFVVVVVVVVVVVVVVVQBVVVVVVVVVVVVVVVUAAFAFVVVVVVVVVVVVFQAAVVVVUFVVVVVVVVUFUBBQVVVVVVVVVVVVVVVVVUVQEVBVVVVVVVVVVVVVVVVVVQAABVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAAAQAVFFVVFBVVVVVVVVVVVVVVVVVVVVVVQBBoITBAAuTCFVVFQBVVVVVVVUFQFVVVVVVVVVVVVVVVQAAAABVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAAAAAAAAAFRVVVVVVVVVVVX1VVVVaVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/VfXVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX1VVVVVVV9VVVVVVVVVVVVVVVX///9VVVVVVVVVVVVV1VVVVVXVVVVVXVX1VVVVVX1VX1V1VVdVVVVVdVX1XXVdVV31VVVVVVVVVVdVVVVVVVVVVXfV31VVVVVVVVVVVVVVVVVVVf1VVVVVVVVXVVXVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVdVXVVVVVVVVVVVVVVVVV11VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVBVVVVVVVVVVVVVVVVVVVX9////////////////X1XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAAAAAAAAqqqqqqqqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlpVVVVVVVWqqqqqqqqqqqqqqqqqqgoAqqqqaqmqqqqqqqqqqqqqqqqqqqqqqqqqqmqBqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlWpqqqqqqqqqqqqqqmqqqqqqqqqqqqqqqqoqqqqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqlVVlaqqqqqqqqqqqqqqaqqqqqqqqqqqqqpVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVVVVVVVVVVVVVVVVVVVVqqqqVqqqqqqqqqqqqqqqqqpqVVVVVVVVVVVVVVVVVV9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVQAAAUFVVVVVVVVUFVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVRUUVVVVVVVVVQVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBVVVVVVVUAAAAAUFVFFVVVVVVVVVVVVQUAUFVVVVVVFQAAUFVVVaqqqqqqqqpWQFVVVVVVVVVVVVVVFQVQUFVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVAUBBQVVVFVVVVFVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVQQUVAVRVVVVVVVVVVVVVVBVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUUVVVVVWqqqqqqqqqqqpVVVUAAAAAAEAVAEG/jMEAC+EMVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAA8KqqWlUAAAAAqqqqqqqqqqpqqqqqqmqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFamqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlZVVVVVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVVVVVqmpVVQAAVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFQFUBQVUAVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBVVVVVVVV1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVFVVVVVVVVVVVVVVVVVVVVVVVVUBVVVVVVVVVVVVVVVVVVVVVVUFAABUVVVVVVVVVVVVVVUFUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVAAAAQFVVVVVVVVVVVVUUVFUVUFVVVVVVVVVVVVVVFUBBVUVVVVVVVVVVVVVVVVVVVVVAVVVVVVVVVVUVAAEAVFVVVVVVVVVVVVVVVVVVFVVVVVBVVVVVVVVVVVVVVVUFAEAFVQEUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVUARVRVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUVAEBVVVVVVVBVVVVVVVVVVVVVVVVVFURUVVVVVRVVVVUFAFQAVFVVVVVVVVVVVVVVVVVVVVUAAAVEVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVUUAEQRBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQVQVRBUVVVVVVVVUFVVVVVVVVVVVVVVVVVVVVVVVVVVFQBAEVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVEAEFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBBRAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVAABBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVRUEEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAFVVRVVVVVVVVVAQBAVVVVVVVVVVVVFQAEQFUVVVUBQAFVVVVVVVVVVVVVAAAAAEBQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBAABBVVVVVVVVVVVVVVVVVVVVVVVVVVQUAAAAAAAUABEFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBQEUQAABVVVVVVVVVVVVVVVVVVVVVVVVQEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVUVVVAVVVVVVVVVVVVVVVVBUBVRFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFQAAAFBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBUVVVVVVVVVVVVVVVVVVUAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVFUBVVVVVVVVVVVVVVVVVVVVVVVVVqlRVVVpVVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqlpVVVVVVVVVVVVVqqpWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqqmqaaqqqqqqqqqqalVVVWVVVVVVVVVVallVVVWqVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlVVVVVVVVVVQQBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBBq5nBAAt1UAAAAAAAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRFQBQAAAABAAQBVVVVVVVVVBVBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFVFVVVVVVVVVVVVVVVVVVAEGtmsEACwJAFQBBu5rBAAvFBlRVUVVVVVRVVVVVFQABAAAAVVVVVVVVVVVVVVVVVVVVVVVVVVUAQAAAAAAUABAEQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAQFVVVVVVVVVVVVVVVVVVV1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXVVVVVVVVVVVVVVVVVVVVVdf3/f1VVVVVVVVVVVVVVVVVVVVVVVfX///////9uVVVVqqq6qqqqqur6v79VqqpWVV9VVVWqWlVVVVVVVf//////////V1VV/f/f///////////////////////3//////9VVVX/////////////f9X/VVVV/////1dX//////////////////////9/9//////////////////////////////////////////////////////////////X////////////////////X1VV1X////////9VVVVVdVVVVVVVVX1VVVVXVVVVVVVVVVVVVVVVVVVVVVVVVVXV////////////////////////////VVVVVVVVVVVVVVVV//////////////////////9fVVd//VX/VVXVV1X//1dVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX///9VV1VVVVVVVf//////////////f///3/////////////////////////////////////////////////////////////9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV////V///V1X//////////////9//X1X1////Vf//V1X//1dVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlpVVVVVVVVVVVmWVWGqpVmqVVVVVVWVVVVVVVVVVZVVVQBBjqHBAAsBAwBBnKHBAAuJCVVVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQCWalpaaqoFQKZZlWVVVVVVVVVVVQAAAABVVlVVqVZVVVVVVVVVVVVWVVVVVVVVVVUAAAAAAAAAAFRVVVWVWVlVVWVVVWlVVVVVVVVVVVVVVZVWlWqqqqpVqqpaVVVVWVWqqqpVVVVVZVVVWlVVVVWlZVZVVVWVVVVVVVVVppaalllZZamWqqpmVapVWllVWlZlVVVVaqqlpVpVVVWlqlpVVVlZVVVZVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVlVfVVVVVpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVqqqqqqqqqqqqVVVVqqqqqqVaVVWaqlpVpaVVWlqllqVaVVVVpVpVlVVVVX1VaVmlVV9VZlVVVVVVVVVVZlX///9VVVWammqaVVVV1VVVVVXVVVWlXVX1VVVVVb1Vr6q6qquqqppVuqr6rrquVV31VVVVVVVVVVdVVVVVWVVVVXfV31VVVVVVVVWlqqpVVVVVVVXVV1VVVVVVVVVVVVVVVVetWlVVVVVVVVVVVaqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAAAAwKqqWlUAAAAAqqqqqqqqqqpqqqqqqmqqVVVVVVVVVVVVVVVVBVRVVVVVVVVVVVVVVVVVVVWqalVVAABUWaqqalWqqqqqqqqqWqqqqqqqqqqqqqqqqqqqWlWqqqqqqqqquv7/v6qqqqpWVVVVVVVVVVVVVVVVVfX///////8vbml4L3N0b3JlLzI4aHl6ZmwzMzhrczRhbWhhN3ZwcG5sYnExczFucWF2LXJ1c3QtZGVmYXVsdC0xLjg1LjAvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5ycy9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTA2L3NyYy9jb252ZXJ0L3NsaWNlcy5ycy9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTA2L3NyYy9leHRlcm5yZWYucnMdVBAAZwAAAH8AAAARAAAAHVQQAGcAAACMAAAAEQAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3RKc1ZhbHVlKCkADlUQAAgAAAAWVRAAAQBBqKrBAAsBBABICXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AgZ3YWxydXMGMC4yNC40DHdhc20tYmluZGdlbhMwLjIuMTA2ICgxMTgzMWZiODkp");async function sV(A){return await Et({module_or_path:await A.module,memory:A.memory}),gV}class at{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.speed=t,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(t){this.startTime=performance.now()-t/this.speed*1e3}}class we{constructor(){}getTime(t){}setTime(t){}}class qA{constructor(t,e){this.input=typeof t.next=="function"?t:t[Symbol.iterator](),this.xfs=e??[]}map(t){return this.transform(rV(t))}flatMap(t){return this.transform(oV(t))}filter(t){return this.transform(IV(t))}take(t){return this.transform(BV(t))}drop(t){return this.transform(CV(t))}transform(t){return new qA(this.input,this.xfs.concat([t]))}multiplex(t,e){return new qA(new EV(this[Symbol.iterator](),t[Symbol.iterator](),e))}toArray(){return Array.from(this)}[Symbol.iterator](){let t=0,e=[],g=!1;const V=QV(this.xfs,n=>e.push(n));return{next:()=>{for(t===e.length&&(e=[],t=0);e.length===0;){const n=this.input.next();if(n.done)break;V.step(n.value)}return e.length===0&&!g&&(V.flush(),g=!0),e.length>0?{done:!1,value:e[t++]}:{done:!0}}}}}function rV(A){return t=>e=>{t(A(e))}}function oV(A){return t=>e=>{A(e).forEach(t)}}function IV(A){return t=>e=>{A(e)&&t(e)}}function BV(A){let t=0;return e=>g=>{tg=>{t+=1,t>A&&e(g)}}function QV(A,t){return A.reverse().reduce((e,g)=>{const V=Lt(g(e.step));return{step:V.step,flush:()=>{V.flush(),e.flush()}}},Lt(t))}function Lt(A){return typeof A=="function"?{step:A,flush:()=>{}}:A}class EV{constructor(t,e,g){this.left=t,this.right=e,this.comparator=g}[Symbol.iterator](){let t,e;return{next:()=>{if(t===void 0&&this.left!==void 0){const g=this.left.next();g.done?this.left=void 0:t=g.value}if(e===void 0&&this.right!==void 0){const g=this.right.next();g.done?this.right=void 0:e=g.value}if(t===void 0&&e===void 0)return{done:!0};if(t===void 0){const g=e;return e=void 0,{done:!1,value:g}}else if(e===void 0){const g=t;return t=void 0,{done:!1,value:g}}else if(this.comparator(t,e)){const g=t;return t=void 0,{done:!1,value:g}}else{const g=e;return e=void 0,{done:!1,value:g}}}}}}function lt(A){const t=re(A.foreground),e=re(A.background),g=A.palette;if(g===void 0||!t||!e||g.length<8)return;const V=[],n=Math.min(g.length,16);for(let r=0;rV[0]==="[").map(JSON.parse);return{header:e,events:g}}function Ft(A){let t=0;const e=new qA(A.stdout).map(g=>(t+=g[0],[t,"o",g[1]]));return{cols:A.width,rows:A.height,events:e}}function Mt(A,t){return{cols:A.width,rows:A.height,theme:Pt(A.theme),events:t,idleTimeLimit:A.idle_time_limit}}function Rt(A,t){t instanceof qA||(t=new qA(t));let e=0;return t=t.map(g=>(e+=g[0],[e,g[1],g[2]])),{cols:A.term.cols,rows:A.term.rows,theme:Pt(A.term?.theme),events:t,idleTimeLimit:A.idle_time_limit}}function Pt(A){const t=typeof A?.palette=="string"?A.palette.split(":"):void 0;return lt({foreground:A?.fg,background:A?.bg,palette:t})}function lV(A){const t=JSON.stringify({version:2,width:A.cols,height:A.rows}),e=A.events.map(JSON.stringify).join(` `);return`${t} diff --git a/server/resource/build/assets/ToolsPage-l87ZTNOl.js b/server/resource/build/assets/ToolsPage-DPPxYsiI.js similarity index 97% rename from server/resource/build/assets/ToolsPage-l87ZTNOl.js rename to server/resource/build/assets/ToolsPage-DPPxYsiI.js index bd1ea7977..0ad1d9cb1 100644 --- a/server/resource/build/assets/ToolsPage-l87ZTNOl.js +++ b/server/resource/build/assets/ToolsPage-DPPxYsiI.js @@ -1,3 +1,3 @@ -import{f as n,S as e,bs as r,aO as y,bY as j,av as v,b4 as N}from"./antd-Afm2kNt7.js";import{u as b,H as f,I as w,b as k}from"./index-BdfI9ZEv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const C=()=>{let{t:s}=b();const[a,p]=n.useState(""),[i,d]=n.useState(4),[h,u]=n.useState([]),[x,c]=n.useState(!1);let o=null;const m=t=>{x||(c(!0),u([]),o=new EventSource(`${f()}/admin/tools/ping?X-Auth-Token=${w()}&host=${t}&attempts=${i}`),o.onmessage=g=>{u(l=>[...l,g.data])},o.addEventListener("done",()=>{o?.close(),c(!1)}),o.onerror=()=>{o?.close(),c(!1)})};return e.jsxs("div",{className:"flex flex-col gap-4 min-h-[75vh]",children:[e.jsxs(r,{layout:"inline",className:"w-full",children:[e.jsx(r.Item,{label:s("sysops.tools.target"),children:e.jsx(y,{value:a,onChange:t=>p(t.target.value),placeholder:s("sysops.tools.target_placeholder"),style:{width:"200px"}})}),e.jsx(r.Item,{label:s("sysops.tools.attempts"),tooltip:s("sysops.tools.attempts_tips"),children:e.jsx(j,{value:i,onChange:t=>d(t||4),min:1,max:100,style:{width:"100px"}})}),e.jsx(r.Item,{children:e.jsx(v,{type:"primary",disabled:!a||x,onClick:()=>m(a),children:s("sysops.tools.testing")})})]}),e.jsx("div",{className:"border rounded-lg p-4 flex-grow overflow-auto",children:e.jsx("pre",{className:"whitespace-pre-wrap break-all",children:h.join(` +import{f as n,S as e,bs as r,aO as y,bY as j,av as v,b4 as N}from"./antd-Afm2kNt7.js";import{u as b,H as f,I as w,b as k}from"./index-DQXwuKC5.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const C=()=>{let{t:s}=b();const[a,p]=n.useState(""),[i,d]=n.useState(4),[h,u]=n.useState([]),[x,c]=n.useState(!1);let o=null;const m=t=>{x||(c(!0),u([]),o=new EventSource(`${f()}/admin/tools/ping?X-Auth-Token=${w()}&host=${t}&attempts=${i}`),o.onmessage=g=>{u(l=>[...l,g.data])},o.addEventListener("done",()=>{o?.close(),c(!1)}),o.onerror=()=>{o?.close(),c(!1)})};return e.jsxs("div",{className:"flex flex-col gap-4 min-h-[75vh]",children:[e.jsxs(r,{layout:"inline",className:"w-full",children:[e.jsx(r.Item,{label:s("sysops.tools.target"),children:e.jsx(y,{value:a,onChange:t=>p(t.target.value),placeholder:s("sysops.tools.target_placeholder"),style:{width:"200px"}})}),e.jsx(r.Item,{label:s("sysops.tools.attempts"),tooltip:s("sysops.tools.attempts_tips"),children:e.jsx(j,{value:i,onChange:t=>d(t||4),min:1,max:100,style:{width:"100px"}})}),e.jsx(r.Item,{children:e.jsx(v,{type:"primary",disabled:!a||x,onClick:()=>m(a),children:s("sysops.tools.testing")})})]}),e.jsx("div",{className:"border rounded-lg p-4 flex-grow overflow-auto",children:e.jsx("pre",{className:"whitespace-pre-wrap break-all",children:h.join(` `)})})]})},P=()=>{let{t:s}=b(),[a,p]=n.useState(""),[i,d]=n.useState(22);const[h,u]=n.useState(4),[x,c]=n.useState([]),[o,m]=n.useState(!1);let t=null;const g=(l,S)=>{o||(m(!0),c([]),t=new EventSource(`${f()}/admin/tools/tcping?X-Auth-Token=${w()}&host=${l}&port=${S}&attempts=${h}`),t.onmessage=T=>{c(I=>[...I,T.data])},t.addEventListener("done",()=>{t?.close(),m(!1)}),t.onerror=()=>{t?.close(),m(!1)})};return e.jsxs("div",{className:"flex flex-col gap-4 min-h-[75vh]",children:[e.jsxs(r,{layout:"inline",className:"w-full",children:[e.jsx(r.Item,{label:s("sysops.tools.target"),children:e.jsx(y,{value:a,onChange:l=>p(l.target.value),placeholder:s("sysops.tools.target_placeholder"),style:{width:"200px"}})}),e.jsx(r.Item,{label:s("gateways.port"),children:e.jsx(j,{value:i,onChange:l=>d(l),style:{width:"100px"},min:1,max:65535,precision:0})}),e.jsx(r.Item,{label:s("sysops.tools.attempts"),tooltip:s("sysops.tools.attempts_tips"),children:e.jsx(j,{value:h,onChange:l=>u(l||4),min:1,max:100,style:{width:"100px"}})}),e.jsx(r.Item,{children:e.jsx(v,{type:"primary",disabled:!a||o,onClick:()=>g(a,i),children:s("sysops.tools.testing")})})]}),e.jsx("div",{className:"border rounded-lg p-4 flex-grow overflow-auto",children:e.jsx("pre",{className:"whitespace-pre-wrap break-all",children:x.join(` `)})})]})},H=()=>{let[s,a]=k();const p=[{key:"ping",label:"Ping",children:e.jsx(C,{})},{key:"tcping",label:"TCP Ping",children:e.jsx(P,{})}],i=d=>{s.set("tab",d),a(s)};return e.jsx("div",{className:"px-4",children:e.jsx(N,{activeKey:s.get("tab")||"ping",items:p,onChange:i})})};export{H as default}; diff --git a/server/resource/build/assets/UserDetailPage-COUllrPm.js b/server/resource/build/assets/UserDetailPage-CxWs4t4Q.js similarity index 94% rename from server/resource/build/assets/UserDetailPage-COUllrPm.js rename to server/resource/build/assets/UserDetailPage-CxWs4t4Q.js index 092c26c5b..533dd7cfe 100644 --- a/server/resource/build/assets/UserDetailPage-COUllrPm.js +++ b/server/resource/build/assets/UserDetailPage-CxWs4t4Q.js @@ -1 +1 @@ -import{S as t,bL as i,a_ as v,f as p,bM as k,a$ as h,aS as w,av as T,bN as d,bi as P,bc as A,b4 as S}from"./antd-Afm2kNt7.js";import{u as f}from"./user-api-LAxz6xgj.js";import{N as I}from"./NLink-BW2w3qR4.js";import{u as g,e as j,h as C,p as L,b as K,o as U}from"./index-BdfI9ZEv.js";import{l as x}from"./login-policy-api-FsKg9lSA.js";import{t as b}from"./times-BW3mBaPj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const E=({active:u,id:r})=>{let{t:e}=g();const o=async()=>({success:!0,data:await f.getById(r)}),c={local:e("identity.user.sources.local"),ldap:e("identity.user.sources.ldap"),wechat:e("identity.user.sources.wechat"),oidc:e("identity.user.sources.oidc"),self:e("identity.user.sources.local"),"wechat-work":e("identity.user.sources.wechat")};return t.jsx("div",{className:"page-detail-info",children:t.jsxs(i,{column:1,request:o,children:[t.jsx(i.Item,{label:e("gateways.username"),dataIndex:"username"}),t.jsx(i.Item,{label:e("identity.user.nickname"),dataIndex:"nickname"}),t.jsx(i.Item,{label:e("identity.user.mail"),dataIndex:"mail"}),t.jsx(i.Item,{label:e("audit.accessLog.stats.table.referer"),dataIndex:"source",render:(l,s)=>c[s.source]||s.source}),t.jsx(i.Item,{label:e("general.remark"),dataIndex:"remark"}),t.jsx(i.Item,{label:e("identity.user.status"),dataIndex:"status",valueEnum:{disabled:{text:e("general.disabled"),status:"Error"},enabled:{text:e("general.enabled"),status:"Success"}}}),t.jsx(i.Item,{label:e("identity.user.otp"),dataIndex:"enabledTotp",valueEnum:{disabled:{text:e("general.disabled"),status:"Error"},enabled:{text:e("general.enabled"),status:"Success"}}}),t.jsx(i.Item,{label:e("actions.authorized"),children:t.jsxs(v,{size:12,wrap:!0,children:[t.jsx(I,{to:`/authorised-asset?userId=${r}`,children:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`}),t.jsx(I,{to:`/authorised-website?userId=${r}`,children:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`})]})}),t.jsx(i.Item,{label:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})},N=({active:u,userId:r})=>{let{t:e}=g();const[o,c]=p.useState([]);let l=j({queryKey:["loginPolicy"],queryFn:x.getAll}),s=j({queryKey:["login-policy-id"],queryFn:()=>x.getLoginPolicyIdByUserId(r)});if(p.useEffect(()=>{s.data&&c(s.data)},[s.data]),l.isLoading)return t.jsx("div",{children:"Loading..."});let a=Array.isArray(l.data)?l.data.map(n=>({key:n.id,title:n.name,priority:n.priority})):[];const m=async(n,y,_)=>{switch(y){case"left":await x.unbindLoginPolicy(r,_);break;case"right":await x.bindLoginPolicy(r,_);break}c(n)};return t.jsx(k,{dataSource:a,titles:[e("general.unbound"),e("general.bound")],operations:[e("actions.binding"),e("actions.unbind")],showSearch:!0,listStyle:{width:250,height:400},targetKeys:o,onChange:m,render:n=>n.title+`(${n.priority})`})},$=({active:u,userId:r})=>{const{t:e}=g(),o=j({queryKey:["user-client-cert",r],queryFn:()=>f.getUserClientCert(r),enabled:u}),c=C({mutationFn:()=>f.revokeUserClientCert(r),onSuccess:()=>{o.refetch()}}),l=m=>e(m==="active"?"account.client_cert_status_active":"account.client_cert_status_revoked"),s=m=>m==="active"?"green":"red",a=o.data;return t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx(h.Title,{level:5,style:{marginTop:0},children:e("account.client_cert")}),a&&t.jsx(v,{children:t.jsx(w,{title:e("account.client_cert_revoke_confirm"),onConfirm:()=>c.mutate(),okText:e("actions.confirm"),cancelText:e("actions.cancel"),children:t.jsx(T,{danger:!0,loading:c.isPending,children:e("account.client_cert_revoke")})})})]}),a?t.jsxs(d,{column:1,bordered:!0,size:"small",children:[t.jsx(d.Item,{label:e("account.client_cert_serial"),children:t.jsx(h.Text,{code:!0,children:a.serialNumber})}),t.jsx(d.Item,{label:e("account.client_cert_fingerprint"),children:t.jsx(h.Text,{code:!0,children:a.fingerprint})}),t.jsx(d.Item,{label:e("general.status"),children:t.jsx(P,{color:s(a.status),children:l(a.status)})}),t.jsx(d.Item,{label:e("account.client_cert_not_before"),children:a.notBefore?b.format(a.notBefore):e("general.no")}),t.jsx(d.Item,{label:e("account.client_cert_not_after"),children:a.notAfter?b.format(a.notAfter):e("general.no")}),t.jsx(d.Item,{label:e("account.client_cert_last_used"),children:a.lastUsedAt?b.format(a.lastUsedAt):e("general.no")}),t.jsx(d.Item,{label:e("general.created_at"),children:a.createdAt?b.format(a.createdAt):e("general.no")})]}):t.jsx(A,{description:e("account.client_cert_empty")})]})},H=()=>{let{t:u}=g();const e=L().userId,[o,c]=K();let l=U(o.get("activeKey"),"info"),[s,a]=p.useState(l);const m=y=>{a(y),c({activeKey:y})},n=[{label:u("actions.detail"),key:"info",children:t.jsx(E,{active:s==="info",id:e})},{label:u("identity.options.login_policy"),key:"login-policy",children:t.jsx(N,{active:s==="login-policy",userId:e})},{label:u("account.client_cert"),key:"client-cert",children:t.jsx($,{active:s==="client-cert",userId:e})}];return t.jsx("div",{className:"px-4",children:t.jsx(S,{activeKey:s,onChange:m,items:n})})};export{H as default}; +import{S as t,bL as i,a_ as v,f as p,bM as k,a$ as h,aS as w,av as T,bN as d,bi as P,bc as A,b4 as S}from"./antd-Afm2kNt7.js";import{u as f}from"./user-api-BJxKseSg.js";import{N as I}from"./NLink-Dl2yFaN4.js";import{u as g,e as j,h as C,p as L,b as K,o as U}from"./index-DQXwuKC5.js";import{l as x}from"./login-policy-api-BlI40YsB.js";import{t as b}from"./times-CQ9ir0Jv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const E=({active:u,id:r})=>{let{t:e}=g();const o=async()=>({success:!0,data:await f.getById(r)}),c={local:e("identity.user.sources.local"),ldap:e("identity.user.sources.ldap"),wechat:e("identity.user.sources.wechat"),oidc:e("identity.user.sources.oidc"),self:e("identity.user.sources.local"),"wechat-work":e("identity.user.sources.wechat")};return t.jsx("div",{className:"page-detail-info",children:t.jsxs(i,{column:1,request:o,children:[t.jsx(i.Item,{label:e("gateways.username"),dataIndex:"username"}),t.jsx(i.Item,{label:e("identity.user.nickname"),dataIndex:"nickname"}),t.jsx(i.Item,{label:e("identity.user.mail"),dataIndex:"mail"}),t.jsx(i.Item,{label:e("audit.accessLog.stats.table.referer"),dataIndex:"source",render:(l,s)=>c[s.source]||s.source}),t.jsx(i.Item,{label:e("general.remark"),dataIndex:"remark"}),t.jsx(i.Item,{label:e("identity.user.status"),dataIndex:"status",valueEnum:{disabled:{text:e("general.disabled"),status:"Error"},enabled:{text:e("general.enabled"),status:"Success"}}}),t.jsx(i.Item,{label:e("identity.user.otp"),dataIndex:"enabledTotp",valueEnum:{disabled:{text:e("general.disabled"),status:"Error"},enabled:{text:e("general.enabled"),status:"Success"}}}),t.jsx(i.Item,{label:e("actions.authorized"),children:t.jsxs(v,{size:12,wrap:!0,children:[t.jsx(I,{to:`/authorised-asset?userId=${r}`,children:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`}),t.jsx(I,{to:`/authorised-website?userId=${r}`,children:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`})]})}),t.jsx(i.Item,{label:e("general.created_at"),dataIndex:"createdAt",valueType:"dateTime"})]})})},N=({active:u,userId:r})=>{let{t:e}=g();const[o,c]=p.useState([]);let l=j({queryKey:["loginPolicy"],queryFn:x.getAll}),s=j({queryKey:["login-policy-id"],queryFn:()=>x.getLoginPolicyIdByUserId(r)});if(p.useEffect(()=>{s.data&&c(s.data)},[s.data]),l.isLoading)return t.jsx("div",{children:"Loading..."});let a=Array.isArray(l.data)?l.data.map(n=>({key:n.id,title:n.name,priority:n.priority})):[];const m=async(n,y,_)=>{switch(y){case"left":await x.unbindLoginPolicy(r,_);break;case"right":await x.bindLoginPolicy(r,_);break}c(n)};return t.jsx(k,{dataSource:a,titles:[e("general.unbound"),e("general.bound")],operations:[e("actions.binding"),e("actions.unbind")],showSearch:!0,listStyle:{width:250,height:400},targetKeys:o,onChange:m,render:n=>n.title+`(${n.priority})`})},$=({active:u,userId:r})=>{const{t:e}=g(),o=j({queryKey:["user-client-cert",r],queryFn:()=>f.getUserClientCert(r),enabled:u}),c=C({mutationFn:()=>f.revokeUserClientCert(r),onSuccess:()=>{o.refetch()}}),l=m=>e(m==="active"?"account.client_cert_status_active":"account.client_cert_status_revoked"),s=m=>m==="active"?"green":"red",a=o.data;return t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx(h.Title,{level:5,style:{marginTop:0},children:e("account.client_cert")}),a&&t.jsx(v,{children:t.jsx(w,{title:e("account.client_cert_revoke_confirm"),onConfirm:()=>c.mutate(),okText:e("actions.confirm"),cancelText:e("actions.cancel"),children:t.jsx(T,{danger:!0,loading:c.isPending,children:e("account.client_cert_revoke")})})})]}),a?t.jsxs(d,{column:1,bordered:!0,size:"small",children:[t.jsx(d.Item,{label:e("account.client_cert_serial"),children:t.jsx(h.Text,{code:!0,children:a.serialNumber})}),t.jsx(d.Item,{label:e("account.client_cert_fingerprint"),children:t.jsx(h.Text,{code:!0,children:a.fingerprint})}),t.jsx(d.Item,{label:e("general.status"),children:t.jsx(P,{color:s(a.status),children:l(a.status)})}),t.jsx(d.Item,{label:e("account.client_cert_not_before"),children:a.notBefore?b.format(a.notBefore):e("general.no")}),t.jsx(d.Item,{label:e("account.client_cert_not_after"),children:a.notAfter?b.format(a.notAfter):e("general.no")}),t.jsx(d.Item,{label:e("account.client_cert_last_used"),children:a.lastUsedAt?b.format(a.lastUsedAt):e("general.no")}),t.jsx(d.Item,{label:e("general.created_at"),children:a.createdAt?b.format(a.createdAt):e("general.no")})]}):t.jsx(A,{description:e("account.client_cert_empty")})]})},H=()=>{let{t:u}=g();const e=L().userId,[o,c]=K();let l=U(o.get("activeKey"),"info"),[s,a]=p.useState(l);const m=y=>{a(y),c({activeKey:y})},n=[{label:u("actions.detail"),key:"info",children:t.jsx(E,{active:s==="info",id:e})},{label:u("identity.options.login_policy"),key:"login-policy",children:t.jsx(N,{active:s==="login-policy",userId:e})},{label:u("account.client_cert"),key:"client-cert",children:t.jsx($,{active:s==="client-cert",userId:e})}];return t.jsx("div",{className:"px-4",children:t.jsx(S,{activeKey:s,onChange:m,items:n})})};export{H as default}; diff --git a/server/resource/build/assets/UserInfoPage-C5YwCFfO.js b/server/resource/build/assets/UserInfoPage-DrNAhF9r.js similarity index 76% rename from server/resource/build/assets/UserInfoPage-C5YwCFfO.js rename to server/resource/build/assets/UserInfoPage-DrNAhF9r.js index 6771a695f..c7633c44f 100644 --- a/server/resource/build/assets/UserInfoPage-C5YwCFfO.js +++ b/server/resource/build/assets/UserInfoPage-DrNAhF9r.js @@ -1 +1 @@ -import{S as e}from"./antd-Afm2kNt7.js";import s from"./InfoPage-C1KU0N5z.js";import{u as o}from"./index-BdfI9ZEv.js";import"./times-BW3mBaPj.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const x=()=>{let{t:r}=o();return e.jsxs("div",{className:"md:px-20 px-4",children:[e.jsx("div",{className:"py-6 flex ",children:e.jsx("div",{className:"flex-grow text-xl font-bold",children:r("account.profile")})}),e.jsx("div",{className:"rounded p-4 pl-0 bg-white",children:e.jsx(s,{})})]})};export{x as default}; +import{S as e}from"./antd-Afm2kNt7.js";import s from"./InfoPage--AJ8mxff.js";import{u as o}from"./index-DQXwuKC5.js";import"./times-CQ9ir0Jv.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const x=()=>{let{t:r}=o();return e.jsxs("div",{className:"md:px-20 px-4",children:[e.jsx("div",{className:"py-6 flex ",children:e.jsx("div",{className:"flex-grow text-xl font-bold",children:r("account.profile")})}),e.jsx("div",{className:"rounded p-4 pl-0 bg-white",children:e.jsx(s,{})})]})};export{x as default}; diff --git a/server/resource/build/assets/UserLayout-C7K-gfNi.js b/server/resource/build/assets/UserLayout-M9_Sh7Dn.js similarity index 98% rename from server/resource/build/assets/UserLayout-C7K-gfNi.js rename to server/resource/build/assets/UserLayout-M9_Sh7Dn.js index 23c39db14..cbd2fb3eb 100644 --- a/server/resource/build/assets/UserLayout-C7K-gfNi.js +++ b/server/resource/build/assets/UserLayout-M9_Sh7Dn.js @@ -1 +1 @@ -import{f as g,S as e,ar as y,ay as v,aC as P,au as D,at as z,U as I,aG as O,aH as U,aI as q}from"./antd-Afm2kNt7.js";import{v as E,u as A,w as F,c as B,ao as K,a as H,e as _,f as w,g as N,y as u,ap as R,aq as Q,i as c,j as W,ar as G,as as J,d as V,at as k,au as $,an as X,av as Y,t as Z,a4 as C}from"./index-BdfI9ZEv.js";import{c as i}from"./charts-DWBuA5Za.js";import{S as L,M}from"./sun-B74I0IGS.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const ee=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],ae=E("layout-dashboard",ee);const te=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],se=E("menu",te),ne=()=>{let{t:a}=A();const{isMobile:r}=F(),d=g.useRef(null),{isDarkMode:n,toggleDarkMode:h}=B(d),s=n;let l=K(),x=H(),f=l.pathname;const[S,m]=g.useState(!1);let o=_({queryKey:["branding"],queryFn:w.getBranding}),b=_({queryKey:["info"],queryFn:N.getUserInfo});const T=async()=>{await N.logout(),window.location.href="/login"},p=[{key:"info-center",icon:e.jsx(R,{className:"w-4 h-4"}),label:e.jsx(u,{to:"/x-info",children:a("account.profile")}),danger:!1}];(b.data?.type==="admin"||b.data?.type==="super-admin")&&p.push({key:"admin",icon:e.jsx(ae,{className:"w-4 h-4"}),label:e.jsx(u,{to:"/dashboard",children:a("menus.dashboard.label")}),danger:!1}),p.push({key:"logout",icon:e.jsx(Q,{className:"w-4 h-4"}),danger:!0,label:e.jsx("div",{onClick:T,children:a("account.logout")})});const j=[{key:"/x-asset",title:a("menus.resource.submenus.asset")},{key:"/x-website",title:a("menus.resource.submenus.website")},{key:"/x-database-asset",title:a("menus.resource.submenus.database_asset")},{key:"/x-snippet",title:a("menus.resource.submenus.snippet")},{key:"/x-db-work-order",title:a("menus.resource.submenus.db_work_order")}];return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:i("sticky top-0 z-50 w-full border-b shadow-[0_6px_18px_rgba(15,23,42,0.18)]",s?"bg-gradient-to-r from-[#0b1f3a] via-[#0f2a50] to-[#143a6b] border-white/10":"bg-gradient-to-r from-[#1A73E8] via-[#1E7BF2] to-[#3B82F6] border-white/20"),children:e.jsxs("div",{className:"h-14 flex gap-2 lg:gap-8 items-center px-4 lg:px-20 text-white",children:[r&&e.jsx("div",{className:"cursor-pointer text-white",onClick:()=>m(!0),children:e.jsx(se,{className:"w-6 h-6"})}),e.jsx(y,{spinning:o.isLoading,children:e.jsx(u,{to:"/x-asset",children:e.jsxs("div",{className:"flex-none flex gap-2 items-center",children:[o.data?e.jsx("img",{src:w.getLogo(),alt:"logo",className:"w-8 h-8 rounded-md"}):void 0,e.jsx("div",{className:"font-bold text-base text-white",children:o.data?.name})]})})}),e.jsx("div",{className:"flex-grow h-full",children:e.jsx("div",{className:"lg:flex gap-6 items-center h-full text-sm text-white hidden",children:j.map(t=>e.jsx("div",{className:i("h-full flex items-center cursor-pointer relative px-1.5 transition-colors",t.key===f?"text-white font-semibold after:absolute after:bottom-0 after:left-0 after:h-[3px] after:w-full after:bg-white/90":"text-white/80 hover:text-white"),onClick:()=>{x(t.key)},children:e.jsx("div",{className:"items-center",children:t.title})},t.key))})}),!r&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(v,{placeholder:a("general.language"),variant:"borderless",className:"text-white [&_.ant-select-selector]:!bg-white/10 [&_.ant-select-selector]:!text-white [&_.ant-select-selection-item]:!text-white [&_.ant-select-selection-placeholder]:!text-white/70 [&_.ant-select-arrow]:!text-white",style:{width:120},prefix:e.jsx(W,{className:"w-4 h-4"}),options:[{value:"en-US",label:a("general.language_en_us")},{value:"zh-CN",label:a("general.language_zh_cn")},{value:"zh-TW",label:a("general.language_zh_tw")},{value:"ja-JP",label:a("general.language_ja_jp")}],value:c.language,onChange:t=>{c.changeLanguage(t)}}),e.jsx("button",{ref:d,type:"button",onClick:()=>h(!n),className:"cursor-pointer h-8 w-8 rounded-md border border-white/30 bg-white/10 text-white/90 transition-colors hover:bg-white/20 hover:text-white",children:n?e.jsx(L,{className:"h-4 w-4 mx-auto"}):e.jsx(M,{className:"h-4 w-4 mx-auto"})}),e.jsx("button",{className:"cursor-pointer h-8 w-8 rounded-md border border-white/30 bg-white/10 text-white/90 transition-colors hover:bg-white/20 hover:text-white",onClick:()=>{window.open("/access","_blank")},children:e.jsx(G,{className:"w-4 h-4 mx-auto"})})]}),e.jsx(P,{menu:{items:p},children:e.jsxs("div",{className:"flex gap-2 items-center cursor-pointer h-full text-white",children:[e.jsx("div",{className:"text-sm ",children:b.data?.nickname}),e.jsx(J,{className:"w-5 h-5"})]})})]})}),e.jsx(D,{title:null,placement:"left",onClose:()=>m(!1),open:r&&S,styles:{body:{padding:0,background:s?"#0b1220":"#ffffff"}},width:280,className:i("[&_.ant-drawer-body]:p-0",s?"text-slate-100":"text-slate-900"),children:e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("div",{className:"flex-none",children:e.jsx(y,{spinning:o.isLoading,children:e.jsx(u,{to:"/x-asset",onClick:()=>m(!1),children:e.jsxs("div",{className:"flex items-center gap-2 justify-center h-[60px]",children:[o.data&&e.jsx("img",{src:w.getLogo(),alt:"logo",className:"h-8 w-8 rounded"}),e.jsx("div",{className:"font-bold text-lg",children:o.data?.name})]})})})}),e.jsx("div",{className:"flex-1 overflow-auto",children:e.jsx(z,{mode:"inline",theme:s?"dark":"light",className:i("border-0",s&&"bg-transparent [&_.ant-menu-item]:text-slate-200 [&_.ant-menu-item-selected]:!bg-blue-500/20 [&_.ant-menu-item-selected]:!text-white"),selectedKeys:[f],items:j.map(t=>({key:t.key,label:t.title,onClick:()=>{x(t.key),m(!1)}}))})}),e.jsxs("div",{className:"flex-none p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:i("mb-2 text-xs",s?"text-slate-400":"text-gray-500"),children:a("general.language")}),e.jsx(v,{placeholder:a("general.language"),style:{width:"100%"},options:[{value:"en-US",label:a("general.language_en_us")},{value:"zh-CN",label:a("general.language_zh_cn")},{value:"zh-TW",label:a("general.language_zh_tw")},{value:"ja-JP",label:a("general.language_ja_jp")}],value:c.language,onChange:t=>{c.changeLanguage(t)}})]}),e.jsx("button",{type:"button",onClick:()=>h(!n),className:i("flex items-center gap-2 p-2 rounded transition-colors",s?"bg-white/5 text-slate-100 hover:bg-white/10":"bg-slate-100 text-slate-800 hover:bg-slate-200"),children:n?e.jsx(L,{className:"h-4 w-4"}):e.jsx(M,{className:"h-4 w-4"})})]})]})})]})},he=()=>{let{t:a}=A();const[r]=V();let[d,n]=I.useModal();return g.useEffect(()=>{let h=C(()=>{let l="/x-info?activeKey=otp";window.location.href.includes(l)||d.warning({title:a("general.tips"),content:a("account.otp_required"),onOk:()=>{window.location.href=l}})},500);k.on("API:NEED_ENABLE_OPT",()=>{h()});let s=C(()=>{let l="/x-info?activeKey=change-password";window.location.href.includes(l)||d.warning({title:a("general.tips"),content:a("general.password_expired"),onOk:()=>{window.location.href=l}})},500);k.on("API:NEED_CHANGE_PASSWORD",()=>{s()})},[]),e.jsx(O,{hashPriority:"high",children:e.jsx(U,{theme:{algorithm:r.algorithm,components:{Layout:{triggerBg:"#131313"}}},locale:Z(c.language),children:e.jsxs(q,{children:[e.jsxs("div",{className:"flex flex-col min-h-screen transition-colors max-md:[&_.ant-table-wrapper]:overflow-x-auto max-md:[&_.ant-table-thead>tr>th]:px-2 max-md:[&_.ant-table-thead>tr>th]:py-2 max-md:[&_.ant-table-thead>tr>th]:text-xs max-md:[&_.ant-table-thead>tr>th]:whitespace-nowrap max-md:[&_.ant-table-tbody>tr>td]:px-2 max-md:[&_.ant-table-tbody>tr>td]:py-2 max-md:[&_.ant-table-tbody>tr>td]:text-xs max-md:[&_.ant-table-tbody>tr>td]:break-words max-md:[&_.ant-btn-group]:flex-wrap max-md:[&_.ant-btn-group]:gap-1 max-md:[&_.ant-form-item]:mb-3 max-md:[&_.ant-form-item-label]:pb-1 max-md:[&_.ant-pro-table-search]:p-3 max-md:[&_.ant-pro-card-body]:p-3",style:{backgroundColor:r.backgroundColor},children:[e.jsx(ne,{}),e.jsx("div",{className:"flex-grow",children:e.jsx(g.Suspense,{fallback:e.jsx(X,{}),children:e.jsx($,{})})}),e.jsx(Y,{})]}),n]})})})};export{he as default}; +import{f as g,S as e,ar as y,ay as v,aC as P,au as D,at as z,U as I,aG as O,aH as U,aI as q}from"./antd-Afm2kNt7.js";import{v as E,u as A,w as F,c as B,ao as K,a as H,e as _,f as w,g as N,y as u,ap as R,aq as Q,i as c,j as W,ar as G,as as J,d as V,at as k,au as $,an as X,av as Y,t as Z,a4 as C}from"./index-DQXwuKC5.js";import{c as i}from"./charts-DWBuA5Za.js";import{S as L,M}from"./sun-7WZ3UW9g.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const ee=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],ae=E("layout-dashboard",ee);const te=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],se=E("menu",te),ne=()=>{let{t:a}=A();const{isMobile:r}=F(),d=g.useRef(null),{isDarkMode:n,toggleDarkMode:h}=B(d),s=n;let l=K(),x=H(),f=l.pathname;const[S,m]=g.useState(!1);let o=_({queryKey:["branding"],queryFn:w.getBranding}),b=_({queryKey:["info"],queryFn:N.getUserInfo});const T=async()=>{await N.logout(),window.location.href="/login"},p=[{key:"info-center",icon:e.jsx(R,{className:"w-4 h-4"}),label:e.jsx(u,{to:"/x-info",children:a("account.profile")}),danger:!1}];(b.data?.type==="admin"||b.data?.type==="super-admin")&&p.push({key:"admin",icon:e.jsx(ae,{className:"w-4 h-4"}),label:e.jsx(u,{to:"/dashboard",children:a("menus.dashboard.label")}),danger:!1}),p.push({key:"logout",icon:e.jsx(Q,{className:"w-4 h-4"}),danger:!0,label:e.jsx("div",{onClick:T,children:a("account.logout")})});const j=[{key:"/x-asset",title:a("menus.resource.submenus.asset")},{key:"/x-website",title:a("menus.resource.submenus.website")},{key:"/x-database-asset",title:a("menus.resource.submenus.database_asset")},{key:"/x-snippet",title:a("menus.resource.submenus.snippet")},{key:"/x-db-work-order",title:a("menus.resource.submenus.db_work_order")}];return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:i("sticky top-0 z-50 w-full border-b shadow-[0_6px_18px_rgba(15,23,42,0.18)]",s?"bg-gradient-to-r from-[#0b1f3a] via-[#0f2a50] to-[#143a6b] border-white/10":"bg-gradient-to-r from-[#1A73E8] via-[#1E7BF2] to-[#3B82F6] border-white/20"),children:e.jsxs("div",{className:"h-14 flex gap-2 lg:gap-8 items-center px-4 lg:px-20 text-white",children:[r&&e.jsx("div",{className:"cursor-pointer text-white",onClick:()=>m(!0),children:e.jsx(se,{className:"w-6 h-6"})}),e.jsx(y,{spinning:o.isLoading,children:e.jsx(u,{to:"/x-asset",children:e.jsxs("div",{className:"flex-none flex gap-2 items-center",children:[o.data?e.jsx("img",{src:w.getLogo(),alt:"logo",className:"w-8 h-8 rounded-md"}):void 0,e.jsx("div",{className:"font-bold text-base text-white",children:o.data?.name})]})})}),e.jsx("div",{className:"flex-grow h-full",children:e.jsx("div",{className:"lg:flex gap-6 items-center h-full text-sm text-white hidden",children:j.map(t=>e.jsx("div",{className:i("h-full flex items-center cursor-pointer relative px-1.5 transition-colors",t.key===f?"text-white font-semibold after:absolute after:bottom-0 after:left-0 after:h-[3px] after:w-full after:bg-white/90":"text-white/80 hover:text-white"),onClick:()=>{x(t.key)},children:e.jsx("div",{className:"items-center",children:t.title})},t.key))})}),!r&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(v,{placeholder:a("general.language"),variant:"borderless",className:"text-white [&_.ant-select-selector]:!bg-white/10 [&_.ant-select-selector]:!text-white [&_.ant-select-selection-item]:!text-white [&_.ant-select-selection-placeholder]:!text-white/70 [&_.ant-select-arrow]:!text-white",style:{width:120},prefix:e.jsx(W,{className:"w-4 h-4"}),options:[{value:"en-US",label:a("general.language_en_us")},{value:"zh-CN",label:a("general.language_zh_cn")},{value:"zh-TW",label:a("general.language_zh_tw")},{value:"ja-JP",label:a("general.language_ja_jp")}],value:c.language,onChange:t=>{c.changeLanguage(t)}}),e.jsx("button",{ref:d,type:"button",onClick:()=>h(!n),className:"cursor-pointer h-8 w-8 rounded-md border border-white/30 bg-white/10 text-white/90 transition-colors hover:bg-white/20 hover:text-white",children:n?e.jsx(L,{className:"h-4 w-4 mx-auto"}):e.jsx(M,{className:"h-4 w-4 mx-auto"})}),e.jsx("button",{className:"cursor-pointer h-8 w-8 rounded-md border border-white/30 bg-white/10 text-white/90 transition-colors hover:bg-white/20 hover:text-white",onClick:()=>{window.open("/access","_blank")},children:e.jsx(G,{className:"w-4 h-4 mx-auto"})})]}),e.jsx(P,{menu:{items:p},children:e.jsxs("div",{className:"flex gap-2 items-center cursor-pointer h-full text-white",children:[e.jsx("div",{className:"text-sm ",children:b.data?.nickname}),e.jsx(J,{className:"w-5 h-5"})]})})]})}),e.jsx(D,{title:null,placement:"left",onClose:()=>m(!1),open:r&&S,styles:{body:{padding:0,background:s?"#0b1220":"#ffffff"}},width:280,className:i("[&_.ant-drawer-body]:p-0",s?"text-slate-100":"text-slate-900"),children:e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("div",{className:"flex-none",children:e.jsx(y,{spinning:o.isLoading,children:e.jsx(u,{to:"/x-asset",onClick:()=>m(!1),children:e.jsxs("div",{className:"flex items-center gap-2 justify-center h-[60px]",children:[o.data&&e.jsx("img",{src:w.getLogo(),alt:"logo",className:"h-8 w-8 rounded"}),e.jsx("div",{className:"font-bold text-lg",children:o.data?.name})]})})})}),e.jsx("div",{className:"flex-1 overflow-auto",children:e.jsx(z,{mode:"inline",theme:s?"dark":"light",className:i("border-0",s&&"bg-transparent [&_.ant-menu-item]:text-slate-200 [&_.ant-menu-item-selected]:!bg-blue-500/20 [&_.ant-menu-item-selected]:!text-white"),selectedKeys:[f],items:j.map(t=>({key:t.key,label:t.title,onClick:()=>{x(t.key),m(!1)}}))})}),e.jsxs("div",{className:"flex-none p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:i("mb-2 text-xs",s?"text-slate-400":"text-gray-500"),children:a("general.language")}),e.jsx(v,{placeholder:a("general.language"),style:{width:"100%"},options:[{value:"en-US",label:a("general.language_en_us")},{value:"zh-CN",label:a("general.language_zh_cn")},{value:"zh-TW",label:a("general.language_zh_tw")},{value:"ja-JP",label:a("general.language_ja_jp")}],value:c.language,onChange:t=>{c.changeLanguage(t)}})]}),e.jsx("button",{type:"button",onClick:()=>h(!n),className:i("flex items-center gap-2 p-2 rounded transition-colors",s?"bg-white/5 text-slate-100 hover:bg-white/10":"bg-slate-100 text-slate-800 hover:bg-slate-200"),children:n?e.jsx(L,{className:"h-4 w-4"}):e.jsx(M,{className:"h-4 w-4"})})]})]})})]})},he=()=>{let{t:a}=A();const[r]=V();let[d,n]=I.useModal();return g.useEffect(()=>{let h=C(()=>{let l="/x-info?activeKey=otp";window.location.href.includes(l)||d.warning({title:a("general.tips"),content:a("account.otp_required"),onOk:()=>{window.location.href=l}})},500);k.on("API:NEED_ENABLE_OPT",()=>{h()});let s=C(()=>{let l="/x-info?activeKey=change-password";window.location.href.includes(l)||d.warning({title:a("general.tips"),content:a("general.password_expired"),onOk:()=>{window.location.href=l}})},500);k.on("API:NEED_CHANGE_PASSWORD",()=>{s()})},[]),e.jsx(O,{hashPriority:"high",children:e.jsx(U,{theme:{algorithm:r.algorithm,components:{Layout:{triggerBg:"#131313"}}},locale:Z(c.language),children:e.jsxs(q,{children:[e.jsxs("div",{className:"flex flex-col min-h-screen transition-colors max-md:[&_.ant-table-wrapper]:overflow-x-auto max-md:[&_.ant-table-thead>tr>th]:px-2 max-md:[&_.ant-table-thead>tr>th]:py-2 max-md:[&_.ant-table-thead>tr>th]:text-xs max-md:[&_.ant-table-thead>tr>th]:whitespace-nowrap max-md:[&_.ant-table-tbody>tr>td]:px-2 max-md:[&_.ant-table-tbody>tr>td]:py-2 max-md:[&_.ant-table-tbody>tr>td]:text-xs max-md:[&_.ant-table-tbody>tr>td]:break-words max-md:[&_.ant-btn-group]:flex-wrap max-md:[&_.ant-btn-group]:gap-1 max-md:[&_.ant-form-item]:mb-3 max-md:[&_.ant-form-item-label]:pb-1 max-md:[&_.ant-pro-table-search]:p-3 max-md:[&_.ant-pro-card-body]:p-3",style:{backgroundColor:r.backgroundColor},children:[e.jsx(ne,{}),e.jsx("div",{className:"flex-grow",children:e.jsx(g.Suspense,{fallback:e.jsx(X,{}),children:e.jsx($,{})})}),e.jsx(Y,{})]}),n]})})})};export{he as default}; diff --git a/server/resource/build/assets/UserPage-_qXT4zeH.js b/server/resource/build/assets/UserPage-hpsga5IM.js similarity index 97% rename from server/resource/build/assets/UserPage-_qXT4zeH.js rename to server/resource/build/assets/UserPage-hpsga5IM.js index 1f356562b..7f79ae7bf 100644 --- a/server/resource/build/assets/UserPage-_qXT4zeH.js +++ b/server/resource/build/assets/UserPage-hpsga5IM.js @@ -1,3 +1,3 @@ -import{f as c,S as t,U as M,aK as B,aT as y,bj as S,bk as p,aV as I,bH as Q,aL as E,bA as X,aU as Y,aI as Z,a_ as U,bi as ee,az as te,aS as se,bI as ae,bz as re,bp as K,av as q,bJ as ne,bK as ie,bd as z}from"./antd-Afm2kNt7.js";import{u as _}from"./user-api-LAxz6xgj.js";import{g as le}from"./sort-BOdE-yay.js";import{r as oe}from"./role-api-BtBYGwtw.js";import{d as de}from"./department-api-BBDEkNE1.js";import{u as T,b as ue,o as ce,a as me,h as N}from"./index-BdfI9ZEv.js";import{N as C}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const pe=({open:e,handleOk:n,handleCancel:o,confirmLoading:d,id:u})=>{const i=c.useRef(null);let{t:a}=T();const g=async()=>u?await _.getById(u):{type:"user",recording:"enabled",watermark:"enabled",source:"local"};return t.jsx(M,{title:a(u?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{i.current?.validateFields().then(async l=>{l.departments&&Array.isArray(l.departments)&&(l.departments=l.departments.map(m=>typeof m=="object"?m.value:m)),n(l)})},onCancel:()=>{o()},confirmLoading:d,children:t.jsxs(B,{formRef:i,request:g,submitter:!1,children:[t.jsx(y,{hidden:!0,name:"id"}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(y,{name:"nickname",label:a("identity.user.nickname"),rules:[{required:!0}]})}),t.jsx(p,{span:12,children:t.jsx(y,{name:"username",label:a("gateways.username"),rules:[{required:!0}]})})]}),t.jsx(I.Group,{label:a("identity.user.type"),name:"type",rules:[{required:!0}],options:[{label:a("identity.user.types.super_admin"),value:"super-admin"},{label:a("identity.user.types.admin"),value:"admin"},{label:a("identity.user.types.normal"),value:"user"}]}),t.jsx(Q,{name:["type"],children:({type:l})=>l!=="admin"?null:t.jsx(E,{label:a("menus.identity.submenus.role"),name:"roles",fieldProps:{mode:"multiple"},request:async()=>(await oe.getAll()).map(k=>({label:k.name,value:k.id}))})}),t.jsx(X,{label:a("menus.identity.submenus.department"),name:"departments",fieldProps:{multiple:!0,treeCheckable:!0,showCheckedStrategy:"SHOW_ALL",placeholder:a("identity.user.select_department"),treeDefaultExpandAll:!0,treeCheckStrictly:!0},request:async()=>await de.getTree()}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(I.Group,{label:a("identity.user.recording"),name:"recording",rules:[{required:!0}],options:[{label:a("general.enabled"),value:"enabled"},{label:a("general.disabled"),value:"disabled"}]})}),t.jsx(p,{span:12,children:t.jsx(I.Group,{label:a("identity.user.watermark"),name:"watermark",rules:[{required:!0}],options:[{label:a("general.enabled"),value:"enabled"},{label:a("general.disabled"),value:"disabled"}]})})]}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(y,{name:"mail",label:a("identity.user.mail"),rules:[{type:"email"}]})}),t.jsx(p,{span:12,children:t.jsx(y,{name:"phone",label:a("identity.user.phone")})})]}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(E,{name:"source",label:a("audit.accessLog.stats.table.referer"),options:[{label:a("identity.user.sources.local"),value:"local"},{label:a("identity.user.sources.ldap"),value:"ldap"},{label:a("identity.user.sources.wechat"),value:"wechat"},{label:a("identity.user.sources.oidc"),value:"oidc"}]})}),t.jsx(p,{span:12,children:t.jsx(y,{name:"remark",label:a("general.remark")})})]}),t.jsx(Y,{label:a("identity.user.public_key"),name:"publicKey",placeholder:"Public Key",fieldProps:{rows:4}}),!u&&t.jsx(y.Password,{name:"password",label:a("assets.password")})]})})},ye=({open:e,handleOk:n,handleCancel:o,confirmLoading:d})=>{const u=c.useRef(null);let{t:i}=T();return t.jsx(M,{title:i("identity.user.reset_password.confirm_title"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{u.current?.validateFields().then(async a=>{n(a)})},onCancel:()=>{o()},confirmLoading:d,children:t.jsx(B,{formRef:u,submitter:!1,children:t.jsx(y,{name:"password",label:i("assets.password"),rules:[{pattern:/^\S*$/,message:i("identity.user.no_spaces_allowed")}],extra:i("identity.user.reset_password.confirm_content")})})})},w=_;function he(){let e="name, account, password, email, recording(true,false), watermark(true,false), group1|group2";const n=new Blob(["\uFEFF"+e],{type:"text/csv;charset=gb2312;"});let o=document.createElement("a");o.download="sample.csv",o.href=URL.createObjectURL(n),o.click()}const Ie=()=>{const{t:e}=T(),n=c.useRef(null);let[o,d]=c.useState(!1),[u,i]=c.useState(),[a,g]=c.useState(),[l,m]=c.useState(!1),[k,W]=ue(),[v,G]=c.useState(ce(k.get("type"),"super-admin")),f=me(),{message:j,modal:P}=Z.useApp();c.useEffect(()=>{n.current?.reload()},[v]);let O=N({mutationFn:async s=>{if(s.id)await w.updateById(s.id,s);else{let r=await w.create(s);console.log(r),P.success({title:e("identity.user.new_user_result"),content:t.jsxs("div",{children:[t.jsxs("div",{children:[e("identity.user.nickname"),": ",r.nickname]}),t.jsxs("div",{children:[e("gateways.username"),": ",r.username]}),t.jsxs("div",{children:[e("assets.password"),": ",r.password]})]}),okText:e("actions.copy"),onOk:()=>{z(`${e("identity.user.nickname")}: ${r.nickname} +import{f as c,S as t,U as M,aK as B,aT as y,bj as S,bk as p,aV as I,bH as Q,aL as E,bA as X,aU as Y,aI as Z,a_ as U,bi as ee,az as te,aS as se,bI as ae,bz as re,bp as K,av as q,bJ as ne,bK as ie,bd as z}from"./antd-Afm2kNt7.js";import{u as _}from"./user-api-BJxKseSg.js";import{g as le}from"./sort-BOdE-yay.js";import{r as oe}from"./role-api-RbYCFKw-.js";import{d as de}from"./department-api-fa0GHZbt.js";import{u as T,b as ue,o as ce,a as me,h as N}from"./index-DQXwuKC5.js";import{N as C}from"./NButton-DoPcvKBF.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const pe=({open:e,handleOk:n,handleCancel:o,confirmLoading:d,id:u})=>{const i=c.useRef(null);let{t:a}=T();const g=async()=>u?await _.getById(u):{type:"user",recording:"enabled",watermark:"enabled",source:"local"};return t.jsx(M,{title:a(u?"actions.edit":"actions.new"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{i.current?.validateFields().then(async l=>{l.departments&&Array.isArray(l.departments)&&(l.departments=l.departments.map(m=>typeof m=="object"?m.value:m)),n(l)})},onCancel:()=>{o()},confirmLoading:d,children:t.jsxs(B,{formRef:i,request:g,submitter:!1,children:[t.jsx(y,{hidden:!0,name:"id"}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(y,{name:"nickname",label:a("identity.user.nickname"),rules:[{required:!0}]})}),t.jsx(p,{span:12,children:t.jsx(y,{name:"username",label:a("gateways.username"),rules:[{required:!0}]})})]}),t.jsx(I.Group,{label:a("identity.user.type"),name:"type",rules:[{required:!0}],options:[{label:a("identity.user.types.super_admin"),value:"super-admin"},{label:a("identity.user.types.admin"),value:"admin"},{label:a("identity.user.types.normal"),value:"user"}]}),t.jsx(Q,{name:["type"],children:({type:l})=>l!=="admin"?null:t.jsx(E,{label:a("menus.identity.submenus.role"),name:"roles",fieldProps:{mode:"multiple"},request:async()=>(await oe.getAll()).map(k=>({label:k.name,value:k.id}))})}),t.jsx(X,{label:a("menus.identity.submenus.department"),name:"departments",fieldProps:{multiple:!0,treeCheckable:!0,showCheckedStrategy:"SHOW_ALL",placeholder:a("identity.user.select_department"),treeDefaultExpandAll:!0,treeCheckStrictly:!0},request:async()=>await de.getTree()}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(I.Group,{label:a("identity.user.recording"),name:"recording",rules:[{required:!0}],options:[{label:a("general.enabled"),value:"enabled"},{label:a("general.disabled"),value:"disabled"}]})}),t.jsx(p,{span:12,children:t.jsx(I.Group,{label:a("identity.user.watermark"),name:"watermark",rules:[{required:!0}],options:[{label:a("general.enabled"),value:"enabled"},{label:a("general.disabled"),value:"disabled"}]})})]}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(y,{name:"mail",label:a("identity.user.mail"),rules:[{type:"email"}]})}),t.jsx(p,{span:12,children:t.jsx(y,{name:"phone",label:a("identity.user.phone")})})]}),t.jsxs(S,{gutter:8,children:[t.jsx(p,{span:12,children:t.jsx(E,{name:"source",label:a("audit.accessLog.stats.table.referer"),options:[{label:a("identity.user.sources.local"),value:"local"},{label:a("identity.user.sources.ldap"),value:"ldap"},{label:a("identity.user.sources.wechat"),value:"wechat"},{label:a("identity.user.sources.oidc"),value:"oidc"}]})}),t.jsx(p,{span:12,children:t.jsx(y,{name:"remark",label:a("general.remark")})})]}),t.jsx(Y,{label:a("identity.user.public_key"),name:"publicKey",placeholder:"Public Key",fieldProps:{rows:4}}),!u&&t.jsx(y.Password,{name:"password",label:a("assets.password")})]})})},ye=({open:e,handleOk:n,handleCancel:o,confirmLoading:d})=>{const u=c.useRef(null);let{t:i}=T();return t.jsx(M,{title:i("identity.user.reset_password.confirm_title"),open:e,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{u.current?.validateFields().then(async a=>{n(a)})},onCancel:()=>{o()},confirmLoading:d,children:t.jsx(B,{formRef:u,submitter:!1,children:t.jsx(y,{name:"password",label:i("assets.password"),rules:[{pattern:/^\S*$/,message:i("identity.user.no_spaces_allowed")}],extra:i("identity.user.reset_password.confirm_content")})})})},w=_;function he(){let e="name, account, password, email, recording(true,false), watermark(true,false), group1|group2";const n=new Blob(["\uFEFF"+e],{type:"text/csv;charset=gb2312;"});let o=document.createElement("a");o.download="sample.csv",o.href=URL.createObjectURL(n),o.click()}const Ie=()=>{const{t:e}=T(),n=c.useRef(null);let[o,d]=c.useState(!1),[u,i]=c.useState(),[a,g]=c.useState(),[l,m]=c.useState(!1),[k,W]=ue(),[v,G]=c.useState(ce(k.get("type"),"super-admin")),f=me(),{message:j,modal:P}=Z.useApp();c.useEffect(()=>{n.current?.reload()},[v]);let O=N({mutationFn:async s=>{if(s.id)await w.updateById(s.id,s);else{let r=await w.create(s);console.log(r),P.success({title:e("identity.user.new_user_result"),content:t.jsxs("div",{children:[t.jsxs("div",{children:[e("identity.user.nickname"),": ",r.nickname]}),t.jsxs("div",{children:[e("gateways.username"),": ",r.username]}),t.jsxs("div",{children:[e("assets.password"),": ",r.password]})]}),okText:e("actions.copy"),onOk:()=>{z(`${e("identity.user.nickname")}: ${r.nickname} ${e("gateways.username")}: ${r.username} ${e("assets.password")}: ${r.password}`),j.success(e("general.copy_success"))}})}},onSuccess:()=>{n.current?.reload(),d(!1),i(void 0),F()}}),R=N({mutationFn:s=>_.resetPassword(a,s.password),onSuccess:s=>{m(!1),P.success({title:e("identity.user.reset_password.success"),content:t.jsx("div",{children:t.jsxs("div",{children:[e("identity.user.reset_password.new"),": ",s]})}),okText:e("actions.copy"),onOk:()=>{z(s),j.success(e("general.copy_success"))}})}});const H=[{title:e("identity.user.nickname"),dataIndex:"nickname",key:"nickname",sorter:!0,render:(s,r)=>t.jsx("a",{onClick:()=>{d(!0),i(r.id)},children:s})},{title:e("gateways.username"),dataIndex:"username",key:"username",sorter:!0},{title:e("identity.user.mail"),dataIndex:"mail",key:"mail"},{title:e("menus.identity.submenus.department"),dataIndex:"departmentNames",key:"departmentNames",hideInSearch:!0,render:(s,r)=>{const b=r.departments;return!b||b.length===0?"-":t.jsx(U,{size:[0,4],wrap:!0,children:b.map((x,h)=>t.jsx(ee,{color:"blue",children:x.name},h))})}},{title:e("audit.accessLog.stats.table.referer"),dataIndex:"source",key:"source",hideInSearch:!0,render:s=>({local:e("identity.user.sources.local"),ldap:e("identity.user.sources.ldap"),wechat:e("identity.user.sources.wechat"),oidc:e("identity.user.sources.oidc"),self:e("identity.user.sources.local"),"wechat-work":e("identity.user.sources.wechat")})[s]||s,width:80},{title:e("general.remark"),dataIndex:"remark",key:"remark",hideInSearch:!0,ellipsis:!0},{title:e("identity.user.status"),dataIndex:"status",key:"status",hideInSearch:!0,render:(s,r,b)=>t.jsx(te,{checkedChildren:e("general.enabled"),unCheckedChildren:e("general.disabled"),checked:s!=="disabled",onChange:x=>{let h=x?"enabled":"disabled";w.changeStatus(r.id,h).then(()=>{n.current?.reload()})}})},{title:e("audit.login_status"),dataIndex:"online",key:"online",valueType:"radio",valueEnum:{true:{text:e("general.online"),status:"success"},false:{text:e("general.offline"),status:"default"}},hideInSearch:!0},{title:e("identity.user.last_login_at"),key:"lastLoginAt",dataIndex:"lastLoginAt",valueType:"dateTime",hideInSearch:!0,width:180},{title:e("general.created_at"),key:"createdAt",dataIndex:"createdAt",valueType:"dateTime",hideInSearch:!0,sorter:!0,width:180},{title:e("actions.label"),valueType:"option",key:"option",width:160,fixed:"right",render:(s,r,b,x)=>[t.jsx(C,{onClick:()=>{d(!0),i(r.id)},children:e("actions.edit")},"edit"),t.jsx(se,{title:e("general.confirm_delete"),onConfirm:async()=>{await w.deleteById(r.id),n.current?.reload()},children:t.jsx(C,{danger:!0,children:e("actions.delete")},"delete")},"delete-confirm"),t.jsx(ae,{onSelect:h=>{switch(h){case"detail":f(`/user/${r.id}?activeKey=info`);break;case"view-authorised-asset":f(`/authorised-asset?userId=${r.id}`);break;case"view-authorised-website":f(`/authorised-website?userId=${r.id}`);break;case"reset-password":A([r.id]);break;case"reset-totp":L([r.id]);break;case"login-policy":f(`/user/${r.id}?activeKey=login-policy`);break}},menus:[{key:"detail",name:e("actions.detail")},{key:"view-authorised-asset",name:`${e("menus.resource.submenus.asset")}${e("actions.authorized")}`},{key:"view-authorised-website",name:`${e("menus.resource.submenus.website")}${e("actions.authorized")}`},{key:"reset-password",name:e("identity.user.reset_password.action")},{key:"reset-totp",name:e("identity.user.reset_otp.action")},{key:"login-policy",name:e("identity.options.login_policy")}]},"actionGroup")]}],A=s=>{m(!0),g(s)};function F(){j.open({type:"success",content:e("general.success")})}const L=s=>{P.confirm({title:e("identity.user.reset_otp.confirm_title"),content:e("identity.user.reset_otp.confirm_content"),onOk(){_.resetTOTP(s).then(F)}})},D=t.jsx(t.Fragment,{children:t.jsx(C,{onClick:he,children:e("actions.download_import_sample")})}),V=async s=>(await w.import(s),j.success(e("general.success")),n.current?.reload(),!0);return t.jsxs("div",{children:[t.jsx(re,{columns:H,actionRef:n,columnsState:{persistenceKey:"user-table",persistenceType:"localStorage"},rowSelection:{selections:[K.SELECTION_ALL,K.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:s})=>t.jsxs(U,{size:16,children:[t.jsx("a",{className:"danger",onClick:()=>{A(s)},children:e("identity.user.reset_password.action")}),t.jsx("a",{className:"danger",onClick:()=>{L(s)},children:e("identity.user.reset_otp.action")})]}),request:async(s={},r,b)=>{let[x,h]=le(r),J={pageIndex:s.current,pageSize:s.pageSize,order:x,field:h,nickname:s.nickname,username:s.username,mail:s.mail,online:s.online,type:v},$=await w.getPaging(J);return{data:$.items,success:!0,total:$.total}},rowKey:"id",search:{labelWidth:"auto"},pagination:{defaultPageSize:10,showSizeChanger:!0},scroll:{x:"max-content"},dateFormatter:"string",toolbar:{menu:{type:"tab",items:[{key:"super-admin",label:e("identity.user.types.super_admin")},{key:"admin",label:e("identity.user.types.admin")},{key:"user",label:e("identity.user.types.normal")}],activeKey:v,onChange:s=>{G(s),W({type:s})}},actions:[t.jsx(q,{type:"primary",onClick:()=>{d(!0)},children:e("actions.new")},"button"),t.jsx(ne,{content:D,children:t.jsx(ie,{maxCount:1,beforeUpload:V,showUploadList:!1,children:t.jsx(q,{children:e("actions.import")},"import")})})]}}),t.jsx(pe,{id:u,open:o,confirmLoading:O.isPending,handleCancel:()=>{d(!1),i(void 0)},handleOk:O.mutate}),t.jsx(ye,{open:l,confirmLoading:R.isPending,handleCancel:()=>{m(!1),g([])},handleOk:R.mutate})]})};export{Ie as default}; diff --git a/server/resource/build/assets/WebsiteFacadePage-Bpy51VlF.js b/server/resource/build/assets/WebsiteFacadePage-CqAliO-B.js similarity index 93% rename from server/resource/build/assets/WebsiteFacadePage-Bpy51VlF.js rename to server/resource/build/assets/WebsiteFacadePage-CqAliO-B.js index 3e078fc9d..6cabe837d 100644 --- a/server/resource/build/assets/WebsiteFacadePage-Bpy51VlF.js +++ b/server/resource/build/assets/WebsiteFacadePage-CqAliO-B.js @@ -1 +1 @@ -import{f as a,bg as k,S as e,bc as I}from"./antd-Afm2kNt7.js";import{u as F,e as h,aj as g,m as K}from"./index-BdfI9ZEv.js";import{g as E,a as G,c as L,f as W,b as q,d as M,F as A}from"./FacadeCardSkeleton-DuF-8KBE.js";import{F as _}from"./FacadeSearchBar-sDOAHksR.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const z=()=>{let{t:d}=F(),[c,b]=a.useState(),[o,y]=a.useState(""),[r,w]=a.useState(""),[j,x]=a.useState([]),[N,m]=a.useState(""),n=h({queryKey:["my-websites"],queryFn:()=>g.assets("website"),staleTime:300*1e3,gcTime:600*1e3}),t=h({queryKey:["my-websites-group-tree"],queryFn:()=>g.getWebsitesGroupTree(),staleTime:600*1e3});a.useEffect(()=>{n.data&&b(n.data)},[n.data]);const u=a.useMemo(()=>t.data?E(t.data):[],[t.data]);a.useEffect(()=>{u.length>0&&x(u)},[u]);const v=a.useCallback(s=>{y(s.toLowerCase())},[]),C=a.useCallback(s=>{const l=`/browser?websiteId=${s}&t=${new Date().getTime()}`;window.open(l,"_blank")},[]),S=a.useCallback(async s=>{try{m(s);const i=(await g.allowWebsiteIP(s))?.expiresIn||0,T=Math.max(1,Math.ceil(i/60));k.success(d("assets.temp_allow_success",{minutes:T}))}catch{}finally{m("")}},[d]),p=a.useMemo(()=>{let s=c||[];if(r&&r!==""&&t.data){const l=G(t.data,r);s=s.filter(i=>L(i.groupId,l))}return K.hasText(o)&&(s=s.filter(l=>l.name.toLowerCase().includes(o)||l.protocol.toLowerCase().includes(o)?!0:l.tags?.some(i=>i.toLowerCase().includes(o)))),s},[c,r,o,t.data]),f=a.useMemo(()=>r&&t.data?W(t.data,r):null,[r,t.data]);return e.jsx("div",{className:"pb-6",children:e.jsxs("div",{className:"lg:px-20 px-4",children:[e.jsx("div",{className:"lg:py-6 py-4",children:e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[e.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:d("menus.resource.submenus.website")}),f&&e.jsx("div",{className:"flex flex-wrap gap-2",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-slate-100 dark:bg-slate-800/70 px-2.5 py-1 text-xs font-medium text-slate-600 dark:text-slate-200",children:[d("assets.group")," · ",f.title]})})]})}),e.jsx("div",{className:"pt-3",children:e.jsx(_,{value:o,onChange:v,resultCount:p.length,totalCount:c?.length||0,placeholder:d("facade.website_placeholder")})})]})}),e.jsxs("div",{className:"grid lg:grid-cols-[240px_1fr] gap-4",children:[e.jsx(q,{title:d("assets.group"),treeData:t.data,selectedKey:r,onSelect:w,expandedKeys:j,onExpand:x,loading:t.isLoading}),e.jsx("div",{className:"rounded-lg",children:n.isLoading?e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:e.jsx(M,{count:8})}):p.length===0?e.jsx(I,{}):e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:p.map(s=>e.jsx(A,{item:s,type:"website",onOpen:C,onAllowTempIP:S,allowLoading:N},s.id))})})]})]})})};export{z as default}; +import{f as a,bg as k,S as e,bc as I}from"./antd-Afm2kNt7.js";import{u as F,e as h,aj as g,m as K}from"./index-DQXwuKC5.js";import{g as E,a as G,c as L,f as W,b as q,d as M,F as A}from"./FacadeCardSkeleton-N6rktkuw.js";import{F as _}from"./FacadeSearchBar-DPZw3dye.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const z=()=>{let{t:d}=F(),[c,b]=a.useState(),[o,y]=a.useState(""),[r,w]=a.useState(""),[j,x]=a.useState([]),[N,m]=a.useState(""),n=h({queryKey:["my-websites"],queryFn:()=>g.assets("website"),staleTime:300*1e3,gcTime:600*1e3}),t=h({queryKey:["my-websites-group-tree"],queryFn:()=>g.getWebsitesGroupTree(),staleTime:600*1e3});a.useEffect(()=>{n.data&&b(n.data)},[n.data]);const u=a.useMemo(()=>t.data?E(t.data):[],[t.data]);a.useEffect(()=>{u.length>0&&x(u)},[u]);const v=a.useCallback(s=>{y(s.toLowerCase())},[]),C=a.useCallback(s=>{const l=`/browser?websiteId=${s}&t=${new Date().getTime()}`;window.open(l,"_blank")},[]),S=a.useCallback(async s=>{try{m(s);const i=(await g.allowWebsiteIP(s))?.expiresIn||0,T=Math.max(1,Math.ceil(i/60));k.success(d("assets.temp_allow_success",{minutes:T}))}catch{}finally{m("")}},[d]),p=a.useMemo(()=>{let s=c||[];if(r&&r!==""&&t.data){const l=G(t.data,r);s=s.filter(i=>L(i.groupId,l))}return K.hasText(o)&&(s=s.filter(l=>l.name.toLowerCase().includes(o)||l.protocol.toLowerCase().includes(o)?!0:l.tags?.some(i=>i.toLowerCase().includes(o)))),s},[c,r,o,t.data]),f=a.useMemo(()=>r&&t.data?W(t.data,r):null,[r,t.data]);return e.jsx("div",{className:"pb-6",children:e.jsxs("div",{className:"lg:px-20 px-4",children:[e.jsx("div",{className:"lg:py-6 py-4",children:e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 dark:border-slate-700/70 p-4 lg:p-5",children:[e.jsx("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",children:e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xl font-bold text-slate-900 dark:text-slate-100",children:d("menus.resource.submenus.website")}),f&&e.jsx("div",{className:"flex flex-wrap gap-2",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-slate-100 dark:bg-slate-800/70 px-2.5 py-1 text-xs font-medium text-slate-600 dark:text-slate-200",children:[d("assets.group")," · ",f.title]})})]})}),e.jsx("div",{className:"pt-3",children:e.jsx(_,{value:o,onChange:v,resultCount:p.length,totalCount:c?.length||0,placeholder:d("facade.website_placeholder")})})]})}),e.jsxs("div",{className:"grid lg:grid-cols-[240px_1fr] gap-4",children:[e.jsx(q,{title:d("assets.group"),treeData:t.data,selectedKey:r,onSelect:w,expandedKeys:j,onExpand:x,loading:t.isLoading}),e.jsx("div",{className:"rounded-lg",children:n.isLoading?e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:e.jsx(M,{count:8})}):p.length===0?e.jsx(I,{}):e.jsx("div",{className:"grid 2xl:grid-cols-5 lg:grid-cols-4 lg:gap-6 grid-cols-1 gap-2",children:p.map(s=>e.jsx(A,{item:s,type:"website",onOpen:C,onAllowTempIP:S,allowLoading:N},s.id))})})]})]})})};export{z as default}; diff --git a/server/resource/build/assets/WebsitePage-BQsgC7sM.js b/server/resource/build/assets/WebsitePage-BFwEoyOi.js similarity index 98% rename from server/resource/build/assets/WebsitePage-BQsgC7sM.js rename to server/resource/build/assets/WebsitePage-BFwEoyOi.js index 92fed2063..99767da8b 100644 --- a/server/resource/build/assets/WebsitePage-BQsgC7sM.js +++ b/server/resource/build/assets/WebsitePage-BFwEoyOi.js @@ -1 +1 @@ -var Le=Object.defineProperty;var $e=(s,t,u)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):s[t]=u;var ge=(s,t,u)=>$e(s,typeof t!="symbol"?t+"":t,u);import{f as n,S as e,bs as S,aY as A,bj as le,bk as B,aO as Q,ay as Pe,bY as Ke,bD as ve,a$ as Be,b2 as ue,cj as ke,ck as oe,av as D,ci as de,az as Ge,bg as J,bJ as We,bK as Me,bO as ae,aT as K,bA as Ue,bH as ne,aL as $,aM as Ae,aV as He,aN as Te,b$ as Ve,cl as Ye,b0 as Qe,aU as Xe,cm as Je,bh as ye,a_ as Re,au as qe,aK as Fe,b4 as Ze,aP as Ee,U as Oe,aC as es,aI as ss,bi as xe,bI as ts,bp as be,ch as Se}from"./antd-Afm2kNt7.js";import{u as R,T as De,ai as as,z as rs,e as me,D as ls,d as is,B as ns,r as Ce,w as os,b as ds,a as cs,h as us,C as ms,x as ie}from"./index-BdfI9ZEv.js";import{w as z}from"./website-api-rU4LiJu6.js";import{N as fe}from"./NButton-DoPcvKBF.js";import{c as ps}from"./charts-DWBuA5Za.js";import{a as hs}from"./asset-api-CdGgZMNY.js";import{a as gs}from"./agent-gateway-api-C1FfOeZ1.js";import{s as xs}from"./ssh-gateway-api-CfWrAhC0.js";import{g as bs}from"./gateway-group-api-Ckni5YAK.js";import{U as fs}from"./upload-D2Oc5RCX.js";import{S as _s}from"./server-BXUeOkFL.js";import{c as ys}from"./certificate-api-Dxdo9Mos.js";import{P as ws,C as js,a as vs,b as ks,c as Ss,A as Cs}from"./AssetGatewayChoose-DPYRzxwL.js";import{g as Ns}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const{Option:X}=Pe,{Text:ce}=Be,Is=()=>{const{t:s}=R(),[t,u]=n.useState(!1),r=(a,y,h,b)=>e.jsx(S.List,{name:a,children:(c,{add:v,remove:f})=>e.jsxs(e.Fragment,{children:[e.jsx(le,{align:"middle",style:{marginBottom:8},children:e.jsxs(B,{children:[e.jsx(ce,{strong:!0,children:y}),e.jsx(ue,{title:h,children:e.jsx(ke,{style:{marginLeft:8,cursor:"pointer"}})})]})}),c.map(({key:x,name:_,...m})=>e.jsxs(le,{gutter:8,style:{marginBottom:8},children:[e.jsx(B,{flex:"1",children:e.jsx(S.Item,{...m,name:[_,"key"],rules:[{required:!0,message:s("assets.website_response_modify.header_key_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.header_key")})})}),e.jsx(B,{flex:"1",children:e.jsx(S.Item,{...m,name:[_,"value"],rules:[{required:!0,message:s("assets.website_response_modify.header_value_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.header_value")})})}),e.jsx(B,{children:e.jsx(oe,{onClick:()=>f(_),style:{color:"#ff4d4f",fontSize:"16px"}})})]},x)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>v(),block:!0,icon:e.jsx(de,{}),style:{marginTop:8},children:b})})]})});return e.jsx("div",{style:{},children:e.jsx(S.List,{name:"modifyRules",children:(a,{add:y,remove:h})=>e.jsxs(e.Fragment,{children:[a.map(({key:b,name:c,...v})=>e.jsx(A,{type:"inner",title:e.jsx(S.Item,{...v,name:[c,"name"],rules:[{required:!0,message:s("assets.website_response_modify.rule_name_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.website_response_modify.rule_name_placeholder")})}),extra:a.length>0?e.jsx(oe,{onClick:()=>h(c),style:{fontSize:"16px",color:"#ff4d4f",marginLeft:8,cursor:"pointer"}}):null,style:{marginBottom:24},children:e.jsxs(le,{gutter:24,children:[e.jsx(B,{span:12,children:e.jsxs(A,{title:s("assets.website_response_modify.match_conditions"),size:"small",style:{marginBottom:16},children:[e.jsx(S.Item,{...v,name:[c,"match","path"],label:s("assets.website_response_modify.match_path"),tooltip:s("assets.website_response_modify.match_path_tip"),children:e.jsx(Q,{placeholder:"/hello"})}),e.jsx(S.Item,{...v,name:[c,"match","method"],label:s("assets.website_response_modify.match_method"),tooltip:s("assets.website_response_modify.match_method_tip"),children:e.jsxs(Pe,{placeholder:s("assets.website_response_modify.match_method_placeholder"),allowClear:!0,children:[e.jsx(X,{value:"GET",children:"GET"}),e.jsx(X,{value:"POST",children:"POST"}),e.jsx(X,{value:"PUT",children:"PUT"}),e.jsx(X,{value:"DELETE",children:"DELETE"}),e.jsx(X,{value:"PATCH",children:"PATCH"}),e.jsx(X,{value:"HEAD",children:"HEAD"}),e.jsx(X,{value:"OPTIONS",children:"OPTIONS"})]})}),e.jsx(S.Item,{...v,name:[c,"match","status"],label:s("assets.website_response_modify.match_status"),tooltip:s("assets.website_response_modify.match_status_tip"),children:e.jsx(Ke,{min:0,max:599,placeholder:"200",style:{width:"100%"}})})]})}),e.jsx(B,{span:12,children:e.jsxs(A,{title:s("assets.website_response_modify.actions_title"),size:"small",children:[e.jsx(ve,{orientation:"left",style:{margin:"12px 0"},children:e.jsx(ce,{strong:!0,children:s("assets.website_response_modify.header_operations")})}),r([c,"actions","set_headers"],s("assets.website_response_modify.set_headers_label"),s("assets.website_response_modify.set_headers_tip"),s("assets.website_response_modify.add_set_headers")),r([c,"actions","add_headers"],s("assets.website_response_modify.add_headers_label"),s("assets.website_response_modify.add_headers_tip"),s("assets.website_response_modify.add_add_headers")),e.jsx(S.List,{name:[c,"actions","remove_headers"],children:(f,{add:x,remove:_})=>e.jsxs(e.Fragment,{children:[e.jsx(le,{align:"middle",style:{marginBottom:8},children:e.jsxs(B,{children:[e.jsx(ce,{strong:!0,children:s("assets.website_response_modify.remove_headers_label")}),e.jsx(ue,{title:s("assets.website_response_modify.remove_headers_tip"),children:e.jsx(ke,{style:{marginLeft:8,cursor:"pointer"}})})]})}),f.map(({key:m,name:o,...p})=>e.jsxs(le,{gutter:8,style:{marginBottom:8},children:[e.jsx(B,{flex:"1",children:e.jsx(S.Item,{...p,name:[o],rules:[{required:!0,message:s("assets.website_response_modify.remove_header_name_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.website_response_modify.remove_header_name_placeholder")})})}),e.jsx(B,{children:e.jsx(oe,{onClick:()=>_(o),style:{color:"#ff4d4f",fontSize:"16px"}})})]},m)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>x(),block:!0,icon:e.jsx(de,{}),style:{marginTop:8},children:s("assets.website_response_modify.add_remove_header_button")})})]})}),e.jsx(ve,{orientation:"left",style:{margin:"12px 0"},children:e.jsx(ce,{strong:!0,children:s("assets.website_response_modify.body_replace_title")})}),e.jsx(S.List,{name:[c,"actions","body_replace"],children:(f,{add:x,remove:_})=>e.jsxs(e.Fragment,{children:[f.map(({key:m,name:o,...p})=>e.jsxs(A,{size:"small",title:s("assets.website_response_modify.replace_rule_title",{index:o+1}),extra:e.jsx(oe,{onClick:()=>_(o),style:{color:"#ff4d4f"}}),style:{marginBottom:12},children:[e.jsx(S.Item,{...p,name:[o,"search"],label:s("assets.website_response_modify.search_text_label"),rules:[{required:!0,message:s("assets.website_response_modify.search_text_required")}],children:e.jsx(Q,{placeholder:s("assets.website_response_modify.search_text_placeholder")})}),e.jsx(S.Item,{...p,name:[o,"is_regex"],label:s("assets.website_response_modify.use_regex_label"),valuePropName:"checked",tooltip:s("assets.website_response_modify.use_regex_tip"),children:e.jsx(Ge,{})}),e.jsx(S.Item,{...p,name:[o,"replace"],label:s("assets.website_response_modify.replace_text_label"),rules:[{required:!0,message:s("assets.website_response_modify.replace_text_required")}],children:e.jsx(Q,{placeholder:s("assets.website_response_modify.replace_text_placeholder")})})]},m)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>x(),block:!0,icon:e.jsx(de,{}),children:s("assets.website_response_modify.add_replace_rule")})})]})})]})})]})},b)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>y(),block:!0,icon:e.jsx(de,{}),size:"large",children:s("assets.website_response_modify.add_modify_rule")})})]})})})},Ps=s=>{const t=new URL(s),u=t.protocol.replace(":",""),r=t.hostname,a=t.port||(u==="http"?"80":u==="https"?"443":"");return{scheme:u,host:r,port:a}},As=s=>s.size>1024*1024?(J.error("Image must be smaller than 1MB!"),!1):!0,Ts=({logo:s,onLogoChange:t,logosData:u})=>{const{t:r}=R(),a=({file:y,onSuccess:h})=>{const b=new FileReader;b.onloadend=()=>{const c=b.result;t(c),h?.(c)},b.readAsDataURL(y)};return e.jsx(S.Item,{name:"logo",label:r("assets.logo"),children:e.jsx(We,{placement:"bottomRight",content:e.jsxs("div",{className:"grid grid-cols-8 gap-2",children:[u?.map(y=>e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 hover:border-blue-500",onClick:()=>t(y.data),children:e.jsx("img",{src:y.data,alt:y.name,className:"w-full h-full object-contain"})},y.name)),e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-red-500 flex items-center justify-center hover:bg-red-50",onClick:()=>t(""),children:e.jsx(De,{className:"text-red-500 h-4 w-4"})}),e.jsx(Me,{maxCount:1,showUploadList:!1,customRequest:a,beforeUpload:As,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-blue-500 flex items-center justify-center hover:bg-blue-50",children:e.jsx(fs,{className:"text-blue-500 h-4 w-4"})})})]}),trigger:"click",children:e.jsx("div",{className:"w-10 h-10 border border-dashed rounded-lg p-2 flex items-center justify-center cursor-pointer border-blue-200 dark:border-blue-700 hover:border-blue-500",children:s&&e.jsx("img",{src:s,alt:"logo",className:"w-full h-full object-contain"})})})})},Rs=({logo:s,onLogoChange:t,logosData:u})=>{const{t:r}=R(),[a,y]=n.useState(!1),h=[{value:"http",label:"HTTP"},{value:"https",label:"HTTPS"}],b=async()=>(await gs.getAll()).map(o=>({label:o.name,value:o.id})),c=async()=>(await xs.getAll()).map(o=>({label:o.name,value:o.id})),v=async()=>(await bs.getAll()).map(o=>({label:o.name,value:o.id})),f=m=>m.map(o=>({title:o.title,value:o.key,children:o.children?f(o.children):[]})),x=async()=>{const m=await z.getGroups();return f(m)},_=async(m,o,p)=>{if(!o){J.warning(r("assets.forward_host_or_ip")+" "+r("general.required"));return}const P=`${m||"http"}://${o}${p?":"+p:""}`;y(!0);try{const q=await z.getFavicon(P);t(q),J.success(r("general.success"))}catch{J.error(r("assets.auto_fetch_favicon_failed"))}finally{y(!1)}};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-col gap-4 rounded-lg bg-slate-50/60 p-4 dark:bg-slate-900/40 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(Ts,{logo:s,onLogoChange:t,logosData:u}),e.jsx("div",{className:"text-xs text-slate-500",children:r("assets.logo")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx(ae,{label:r("general.enabled"),name:"enabled",rules:[{required:!0}],fieldProps:{checkedChildren:r("general.yes"),unCheckedChildren:r("general.no")}}),e.jsx(ae,{label:r("assets.disable_access_log"),name:"disableAccessLog",tooltip:r("assets.disable_access_log_tip"),fieldProps:{checkedChildren:r("general.yes"),unCheckedChildren:r("general.no")}})]})]}),e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[e.jsx(K,{label:r("general.name"),name:"name",rules:[{required:!0}],placeholder:r("general.name")}),e.jsx(Ue,{label:r("assets.group"),name:"groupId",request:x,placeholder:r("gateway_group.name_placeholder"),fieldProps:{treeDefaultExpandAll:!0,allowClear:!0,showSearch:!0,treeNodeFilterProp:"title"}}),e.jsx(K,{label:r("assets.domain"),name:"domain",rules:[{required:!0}],extra:r("assets.domain_tip"),placeholder:"example.com"}),e.jsx(K,{label:r("assets.entrance"),name:"entrance",extra:r("assets.entrance_tip"),placeholder:"/admin"})]})]}),e.jsx(A,{size:"small",className:"bg-slate-50/60 dark:bg-slate-900/40",children:e.jsxs("div",{className:"",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_s,{className:"h-4 w-4 text-blue-600"}),e.jsx("span",{className:"text-sm font-medium text-slate-700 dark:text-slate-200",children:r("assets.target_server")})]}),e.jsx(ne,{name:["scheme","host","port"],children:({scheme:m,host:o,port:p})=>e.jsx(D,{size:"small",icon:e.jsx(as,{className:"h-3.5 w-3.5"}),loading:a,onClick:()=>_(m,o,p),children:r("assets.auto_fetch_favicon")})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-3",children:[e.jsx("div",{className:"md:col-span-2",children:e.jsx($,{label:r("assets.scheme"),name:"scheme",options:h,rules:[{required:!0}],formItemProps:{style:{margin:0}}})}),e.jsx("div",{className:"md:col-span-7",children:e.jsx(K,{label:r("assets.forward_host_or_ip"),name:"host",rules:[{required:!0}],placeholder:"192.168.1.100",formItemProps:{style:{margin:0}}})}),e.jsx("div",{className:"md:col-span-3",children:e.jsx(Ae,{name:"port",label:r("assets.forward_port"),min:1,max:65535,fieldProps:{precision:0},placeholder:"80",rules:[{required:!0}],formItemProps:{style:{margin:0}}})})]})]})}),e.jsx(He.Group,{label:r("assets.gateway_type"),name:"gatewayType",options:[{label:r("assets.no_gateway"),value:""},{label:r("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:r("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:r("menus.gateway.submenus.gateway_group"),value:"group"}]}),e.jsx(ne,{name:["gatewayType"],children:({gatewayType:m})=>m==="ssh"?e.jsx($,{label:r("menus.gateway.submenus.ssh_gateway"),name:"gatewayId",request:c,params:{gatewayType:m},showSearch:!0,rules:[{required:!0}]},"ssh"):m==="agent"?e.jsx($,{label:r("menus.gateway.submenus.agent_gateway"),name:"gatewayId",request:b,params:{gatewayType:m},showSearch:!0,rules:[{required:!0}]},"agent"):m==="group"?e.jsx($,{label:r("menus.gateway.submenus.gateway_group"),name:"gatewayId",request:v,params:{gatewayType:m},showSearch:!0,rules:[{required:!0}]},"group"):null})]})},qs=()=>{const{t:s}=R(),t=({listDom:u,action:r})=>e.jsx(A,{size:"small",className:"mb-3 bg-slate-50/60 dark:bg-slate-900/40",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex-1",children:u}),e.jsx("div",{className:"flex-shrink-0",children:r})]})});return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(A,{size:"small",className:"bg-sky-50/60 dark:bg-sky-900/20",children:e.jsx(Te,{name:"preserveHost",label:s("assets.preserve_host"),extra:s("assets.preserve_host_tip")})}),e.jsx("div",{children:e.jsx(Ve,{name:"headers",label:s("assets.custom_header"),initialValue:[],tooltip:s("assets.custom_header_tip"),itemRender:t,children:e.jsx(Ye,{children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsx(K,{name:"name",label:s("assets.header_key"),placeholder:"Content-Type"}),e.jsx(K,{name:"value",label:s("assets.header_value"),placeholder:"application/json"})]})},"group")})})]})},Fs=()=>{const{t:s}=R(),t=async()=>(await ys.getAll()).map(r=>({label:r.commonName,value:r.id}));return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(A,{size:"small",className:"bg-slate-50/60 dark:bg-slate-900/40",children:e.jsx(ae,{label:s("general.enabled"),name:["cert","enabled"],fieldProps:{checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")}})}),e.jsx(ne,{name:["cert","enabled"],children:({cert:u})=>u?.enabled?e.jsx(A,{size:"small",className:"bg-emerald-50/60 dark:bg-emerald-900/20",children:e.jsx($,{label:s("assets.cert"),name:["cert","certId"],rules:[{required:!0}],request:t,placeholder:s("assets.cert"),showSearch:!0})}):null})]})},Es=({timeLimit:s,onTimeLimitChange:t,expiredAt:u,onExpiredAtChange:r})=>{const{t:a}=R(),y=h=>h&&hh?.public?.enabled?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs(A,{size:"small",className:"bg-slate-50/60 dark:bg-slate-900/40",children:[e.jsx(Xe,{label:a("assets.limit_ip"),name:["public","ip"],extra:a("assets.limit_ip_tip"),placeholder:"192.168.1.0/24",fieldProps:{rows:3}}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-3",children:[e.jsx($,{label:a("assets.limit_country"),name:["public","countries"],extra:a("assets.limit_country_tip"),placeholder:a("assets.limit_country_placeholder"),fieldProps:{mode:"tags"},tooltip:a("assets.limit_geo_input_tip")}),e.jsx($,{label:a("assets.limit_province"),name:["public","provinces"],extra:a("assets.limit_province_tip"),placeholder:a("assets.limit_province_placeholder"),fieldProps:{mode:"tags"},tooltip:a("assets.limit_geo_input_tip")}),e.jsx($,{label:a("assets.limit_city"),name:["public","cities"],extra:a("assets.limit_city_tip"),placeholder:a("assets.limit_city_placeholder"),fieldProps:{mode:"tags"},tooltip:a("assets.limit_geo_input_tip")})]}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[e.jsx($,{label:a("assets.public_header_whitelist"),name:["public","headerWhitelist"],extra:a("assets.public_header_whitelist_tip"),placeholder:a("assets.public_header_whitelist_placeholder"),fieldProps:{mode:"tags",tokenSeparators:[","]}}),e.jsx($,{label:a("assets.public_path_whitelist"),name:["public","pathWhitelist"],extra:a("assets.public_path_whitelist_tip"),placeholder:a("assets.public_path_whitelist_placeholder"),fieldProps:{mode:"tags",tokenSeparators:[","]}})]}),e.jsx(Te,{label:a("assets.limit_time_enabled"),name:["public","timeLimit"],valuePropName:"checked",fieldProps:{checked:s,onChange:b=>t(b.target.checked)}}),s&&e.jsx(Je,{label:a("assets.limit_time"),name:["public","expiredAt"],fieldProps:{allowClear:!0,disabledDate:y,value:u,onChange:r}})]}),e.jsx(A,{size:"small",className:"bg-rose-50/60 dark:bg-rose-900/20",children:e.jsx(K.Password,{label:a("assets.limit_password"),name:["public","password"],extra:a("assets.limit_password_tip"),placeholder:"password123",fieldProps:{autoComplete:"new-password",name:"public-access-password",spellCheck:!1}})})]}):null})]})},Os=()=>{const{t:s}=R();return e.jsx("div",{className:"flex flex-col gap-4",children:e.jsxs(A,{size:"small",className:"bg-emerald-50/60 dark:bg-emerald-900/20",children:[e.jsx(ae,{label:s("assets.temp_allow_enabled"),name:["tempAllow","enabled"],fieldProps:{checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")}}),e.jsx(ne,{name:["tempAllow","enabled"],children:t=>t?.tempAllow?.enabled?e.jsxs("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[e.jsx(Ae,{label:s("assets.temp_allow_duration"),name:["tempAllow","durationMinutes"],extra:s("assets.temp_allow_duration_tip"),initialValue:5,fieldProps:{min:1},addonAfter:s("general.minute")}),e.jsx(ae,{label:s("assets.temp_allow_auto_renew"),name:["tempAllow","autoRenew"],fieldProps:{checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")},extra:s("assets.temp_allow_auto_renew_tip")})]}):null})]})})},Ds=({open:s,onClose:t,onSuccess:u,id:r})=>{const{t:a}=R(),{license:y}=rs(),h=n.useRef(null),[b,c]=n.useState(!1),[v,f]=n.useState(),[x,_]=n.useState(!1),[m,o]=n.useState(),p=me({queryKey:["get-logos"],queryFn:hs.getLogos});n.useEffect(()=>{s||(o(void 0),c(!1),f(void 0),_(!1))},[s]);const P=async()=>{if(!r)return{enabled:!0,scheme:"http",cert:{enabled:!1},public:{enabled:!1,expiredAt:0,countries:[],provinces:[],cities:[],headerWhitelist:[],pathWhitelist:[]},tempAllow:{enabled:!1,durationMinutes:5,autoRenew:!1}};try{const w=await z.getById(r),{scheme:k,host:V,port:ee}=Ps(w.targetUrl);if(o(w.logo),w.public?.expiredAt&&w.public.expiredAt>0){const F=ye(w.public.expiredAt);f(F),c(!0)}else f(void 0),c(!1);return{...w,scheme:k,host:V,port:parseInt(ee,10)}}catch(w){throw console.error("Failed to load website data:",w),J.error(a("assets.website_load_failed")),w}},q=w=>{c(w),w||f(void 0)},L=w=>{f(w||void 0)},Z=async w=>{_(!0);try{const k={...w,targetUrl:`${w.scheme}://${w.host}:${w.port}`,logo:m};b&&v&&(k.public={...k.public,expiredAt:v.valueOf()}),r?await z.updateById(r,k):await z.create(k),J.success(a("general.success")),u?.(),t()}catch(k){console.error("Save failed:",k),J.error(a("general.error"))}finally{_(!1)}},G=()=>{h.current?.validateFields().then(Z)},re=[{key:"general",label:a("assets.general"),children:e.jsx(Rs,{logo:m,onLogoChange:o,logosData:p.data}),forceRender:!0},{key:"headers",label:a("assets.custom_header"),children:e.jsx(qs,{}),forceRender:!0},{key:"cert",label:a("assets.custom_certificate"),children:e.jsx(Fs,{}),forceRender:!0},{key:"modify-response",label:a("assets.modify_response"),children:e.jsx(ls,{disabled:y.isFree(),children:e.jsx(Is,{})}),forceRender:!0},{key:"public",label:a("assets.public"),children:e.jsx(Es,{timeLimit:b,onTimeLimitChange:q,expiredAt:v,onExpiredAtChange:L}),forceRender:!0},{key:"temp-allow",label:a("assets.temp_allow"),children:e.jsx(Os,{}),forceRender:!0}],H=e.jsxs(Re,{children:[e.jsx(D,{onClick:t,className:"border-gray-300",children:a("actions.cancel")}),e.jsx(D,{type:"primary",onClick:G,loading:x,className:"bg-blue-500 hover:bg-blue-600",children:a("actions.save")})]});return e.jsx(qe,{title:a(r?"actions.edit":"actions.new"),onClose:t,open:s,width:1200,className:"website-drawer",destroyOnHidden:!0,extra:H,children:e.jsx("div",{className:"h-full -mt-4",children:e.jsxs(Fe,{formRef:h,request:P,submitter:!1,autoComplete:"off",children:[e.jsx(K,{hidden:!0,name:"id"}),e.jsx(Ze,{items:re,defaultActiveKey:"general",className:"h-full",style:{marginTop:"0"},tabBarStyle:{marginBottom:"16px"}})]})})})},zs=({open:s,onClose:t,websiteIds:u,onSuccess:r})=>{const{t:a}=R(),[y,h]=n.useState([]);let[b,c]=n.useState([]),[v,f]=n.useState(""),x=me({queryKey:["assets/groups"],queryFn:z.getGroups});n.useEffect(()=>{s?x.refetch():f("")},[s]),n.useEffect(()=>{if(Array.isArray(x.data)&&x.data.length>0){h(x.data);let p=_(x.data);c(p)}},[x.data]);const _=p=>{let P=[];return Array.isArray(p)&&p.forEach(q=>{P.push(q.key),q.children&&(P=P.concat(_(q.children)))}),P},m=p=>{z.changeGroup({websiteIds:u,groupId:p}).then(()=>{r&&r(),t()})},o=()=>{t()};return e.jsx(qe,{title:a("assets.group"),open:s,onClose:o,children:e.jsx(Ee,{blockNode:!0,treeData:y,expandedKeys:b,onExpand:c,selectedKeys:[v],style:{padding:4},onSelect:p=>{p&&p.length>0&&(f(p[0]),m(p[0]))}})})},Ls=({open:s,handleOk:t,handleCancel:u,confirmLoading:r,op:a,node:y={title:"",key:"",children:[]}})=>{const h=n.useRef(null);let{t:b}=R();const c=n.useRef(null);n.useEffect(()=>{s&&setTimeout(()=>{c.current?.focus()},300)},[s]);const v=async()=>y,f=()=>{h.current?.validateFields().then(async x=>{t(x)})};return e.jsx(Oe,{title:b(a==="edit"?"websites.edit_group":"websites.add_group"),open:s,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{f()},onCancel:()=>{u()},confirmLoading:r,children:e.jsxs(Fe,{formRef:h,request:v,submitter:!1,autoFocus:!0,children:[e.jsx(K,{hidden:!0,name:"key"}),e.jsx(K,{name:"title",label:b("gateway_group.name"),placeholder:b("gateway_group.name_placeholder"),rules:[{required:!0,message:b("websites.group_name_required")}],fieldProps:{ref:c,onPressEnter:x=>{f()}}})]})})},Ne=({selected:s,onSelect:t})=>{let{t:u}=R();const[r,a]=n.useState([]);let[y,h]=n.useState(!1),[b,c]=n.useState(),[v,f]=n.useState(),[x,_]=n.useState(),[m,o]=n.useState([]),[p,P]=n.useState([s]),[q]=is(),L=me({queryKey:["websites/tree"],queryFn:z.getGroups});n.useEffect(()=>{if(Array.isArray(L.data)&&L.data.length>0){a(L.data);let d=Z(L.data);o(d)}},[L.data]);const Z=d=>{let g=[];return Array.isArray(d)&&d.forEach(I=>{g.push(I.key),I.children&&(g=g.concat(Z(I.children)))}),g},G=d=>{z.setGroups(d).then(()=>{a(d)})},re=d=>{const g=d.node.key,I=d.dragNode.key;if(I==="default")return;const j=d.node.pos.split("-"),pe=d.dropPosition-Number(j[j.length-1]),W=(C,E,Y)=>{for(let O=0;O{Y.splice(E,1),se=C}),!d.dropToGap)W(M,g,C=>{C.children=C.children||[],C.children.unshift(se)});else{let C=[],E;W(M,g,(Y,O,he)=>{C=he,E=O}),pe===-1?C.splice(E,0,se):C.splice(E+1,0,se)}G(M)},H=(d,g,I)=>g.map(j=>j.key===d?(j.title=I.title,j):(j.children&&(j.children=H(d,j.children,I)),j)),w=(d,g,I)=>d?g.map(j=>(j.key===d&&(j.children=j.children?[...j.children,I]:[I]),j.children&&(j.children=w(d,j.children,I)),j)):(g.push(I),g),[k,V]=n.useState(null),ee=[{label:u("actions.new"),key:"add",icon:e.jsx(ws,{className:"h-4 w-4"}),onClick:()=>{c(k.node.key),f(void 0),h(!0),_("add")}},{label:u("actions.edit"),key:"edit",icon:e.jsx(js,{className:"h-4 w-4"}),onClick:()=>{c(k.node.key),f(k.node),h(!0),_("edit")}},{label:u("actions.delete"),key:"delete",danger:!0,icon:e.jsx(De,{className:"h-4 w-4"}),onClick:()=>{z.deleteGroup(k.node.key).then(()=>{L.refetch()})}}],F=({event:d,node:g})=>{g.key!=="default"&&(d.preventDefault(),V({pageX:d.pageX,pageY:d.pageY,node:g}))};return e.jsxs("div",{children:[e.jsx("div",{className:"px-4 pt-4 flex items-center justify-between",children:e.jsxs("div",{className:"font-medium text-[15px] flex items-center gap-2",children:[e.jsx(ue,{title:u("actions.new"),children:e.jsx(vs,{className:"h-4 w-4 cursor-pointer",onClick:()=>{c(void 0),f(void 0),h(!0),_("add")}})}),e.jsx(ue,{title:u("websites.group_tip"),children:e.jsx("div",{className:"cursor-pointer",children:u("assets.group")})})]})}),e.jsx(Ee,{draggable:!0,blockNode:!0,onDrop:re,treeData:r,expandedKeys:m,onExpand:o,style:{backgroundColor:q.isDark?q.backgroundColor:"#F9FAFB",padding:8},selectedKeys:p,onSelect:d=>{P(d),d.length>0?t(d[0]):t("")},onRightClick:F}),k&&e.jsx(es,{menu:{items:ee},open:!0,trigger:["contextMenu"],onOpenChange:d=>!d&&V(null),overlayStyle:{position:"absolute",left:k.pageX,top:k.pageY},children:e.jsx("div",{style:{position:"fixed",top:k.pageY,left:k.pageX,width:0,height:0}})}),e.jsx(Ls,{op:x,open:y,confirmLoading:!1,node:v,handleCancel:()=>{h(!1),c(void 0)},handleOk:d=>{let g=[];d.key?g=H(d.key,r,d):(d.key="WG_"+ns(),d.children=[],g=w(b,r,d)),console.log("newTreeData",b,d,g),G([...g]),h(!1),c(void 0)}})]})};class $s{constructor(){ge(this,"list",async t=>await Ce.get(`/admin/website-temp-allow?websiteId=${t}`));ge(this,"remove",async(t,u)=>await Ce.delete(`/admin/website-temp-allow?websiteId=${t}&ip=${encodeURIComponent(u)}`))}}const Ie=new $s,_e=z,lt=()=>{const{isMobile:s}=os(),{t}=R(),{message:u,modal:r}=ss.useApp(),a=n.useRef(null);let[y,h]=n.useState(!1),[b,c]=n.useState(),[v,f]=ds();const x=n.useMemo(()=>{const l={};return v.forEach((i,T)=>{l[T]=i}),l},[v]),_=n.useCallback(l=>{const i={...x};Object.entries(l).forEach(([N,te])=>{te?i[N]=te:delete i[N]}),!(Object.keys(i).length===Object.keys(x).length&&Object.entries(i).every(([N,te])=>x[N]===te))&&f(i)},[x,f]);let[m,o]=n.useState([]),[p,P]=n.useState(v.get("groupId")||""),[q,L]=n.useState([]);const[Z,G]=n.useState(!1),[re,H]=n.useState(!1),[w,k]=n.useState(""),[V,ee]=n.useState(!1),[F,d]=n.useState(null),[g,I]=n.useState(()=>{const l=localStorage.getItem("website-tree-collapsed");return l?JSON.parse(l):!1});let j=cs();const pe=n.useRef(null),W=x.websiteId;n.useEffect(()=>{localStorage.setItem("website-tree-collapsed",JSON.stringify(g))},[g]),n.useEffect(()=>{W&&(h(!0),c(W))},[W]);const M=me({queryKey:["website-temp-allow",F?.id],queryFn:()=>Ie.list(F.id),enabled:V&&!!F?.id}),se=us({mutationFn:l=>_e.updateSortPosition(l),onSuccess:()=>{u.success(t("general.success"))}}),C=(l,i,T)=>{console.log("Sort operation",{beforeIndex:l,afterIndex:i}),L(T);const N={id:T[i].id,beforeId:i>0?T[i-1].id:"",afterId:i{h(!0),c(l),_({websiteId:l})},Y=l=>{d(l),ee(!0)},O=()=>{ee(!1),d(null)},he=l=>{if(!l||l<=0)return"-";if(l<60)return`${l}s`;const i=Math.floor(l/60),T=l%60;if(i<60)return`${i}m ${T}s`;const U=Math.floor(i/60),N=i%60;return`${U}h ${N}m`},ze=[{title:"IP",dataIndex:"ip",key:"ip",width:160},{title:t("assets.temp_allow_expires"),dataIndex:"expiresAt",key:"expiresAt",width:200,render:l=>l?ye(l).format("YYYY-MM-DD HH:mm:ss"):"-"},{title:t("assets.temp_allow_remaining"),dataIndex:"remainingSeconds",key:"remainingSeconds",width:120,render:l=>he(l)},{title:t("actions.label"),key:"option",width:100,render:(l,i)=>e.jsx(D,{type:"link",danger:!0,size:"small",onClick:()=>{r.confirm({title:t("general.confirm_delete"),okText:t("actions.delete"),okButtonProps:{danger:!0},onOk:async()=>{F&&(await Ie.remove(F.id,i.ip),M.refetch())}})},children:t("actions.delete")})}];n.useEffect(()=>{_({groupId:p||void 0}),a.current?.setPageInfo({pageSize:10,current:1}),a.current?.reload()},[_,p]);const we={columns:[{title:t("assets.sort"),dataIndex:"sort",width:60,className:"drag-visible",hideInSearch:!0},{title:t("assets.logo"),dataIndex:"logo",hideInSearch:!0,width:s?40:60,render:(l,i)=>i.logo?e.jsx("img",{src:i.logo,alt:i.name,className:"w-6 h-6"}):e.jsx("div",{className:ps("w-6 h-6 rounded flex items-center justify-center font-bold text-white text-xs",ms("http")),children:i.name[0]})},{title:t("general.name"),dataIndex:"name",hideInSearch:!0,width:120,render:(l,i)=>e.jsx("span",{className:"cursor-pointer text-blue-600 hover:underline",onClick:()=>E(i.id),children:l})},{title:t("assets.group"),dataIndex:"groupFullName",key:"groupFullName",width:s?80:150,render:(l,i)=>e.jsx("div",{className:ie("cursor-pointer hover:text-blue-500 underline",s&&"text-xs line-clamp-2"),onClick:()=>{k(i.id),G(!0)},children:l||t("assets.default_group")}),hideInSearch:!0},{title:t("general.enabled"),dataIndex:"enabled",hideInSearch:!0,width:50,hideInTable:s,render:l=>l===!0?e.jsx(xe,{color:"green-inverse",bordered:!1,children:t("general.yes")}):e.jsx(xe,{color:"gray",bordered:!1,children:t("general.no")})},{title:t("assets.domain"),dataIndex:"domain",key:"domain",hideInSearch:!0,width:s?150:300,render:(l,i)=>e.jsx("div",{children:e.jsx(xe,{bordered:!1,color:"blue",className:ie(s&&"text-xs"),children:s?e.jsx("div",{className:"line-clamp-2",children:i.domain}):i.domain+" -> "+i.targetUrl})})},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,hideInTable:s,width:160,valueType:"dateTime"},{title:t("actions.label"),valueType:"option",key:"option",width:160,render:(l,i,T,U)=>[e.jsx(fe,{onClick:()=>{let N=`/browser?websiteId=${i.id}&t=${new Date().getTime()}`;window.open(N,"_blank")},children:s?t("assets.access").substring(0,2):t("assets.access")},"access"),e.jsx(ts,{onSelect:N=>{switch(N){case"edit":E(i.id);break;case"temp-allow":Y(i);break;case"view-authorised":j(`/authorised-website?websiteId=${i.id}`);break;case"delete":r.confirm({title:t("general.confirm_delete"),okText:t("actions.delete"),okButtonProps:{danger:!0},onOk:async()=>{x.websiteId===i.id&&(_({websiteId:void 0}),h(!1),c(void 0)),await _e.deleteById(i.id),a.current?.reload()}});break}},menus:[{key:"edit",name:t("actions.edit")},{key:"temp-allow",name:t("assets.temp_allow")},{key:"view-authorised",name:`${t("actions.authorized")}${t("menus.identity.submenus.user")}`},{key:"delete",name:t("actions.delete"),danger:!0}]},`website-actions-${i.id}`)]}],actionRef:a,request:async(l={},i,T)=>{let[U,N]=Ns(i);U===""&&N===""&&(U="desc",N="sort");let te={pageIndex:l.current,pageSize:l.pageSize,order:U,field:N,keyword:l.keyword,groupId:p||void 0},je=await _e.getPaging(te);return{data:je.items,success:!0,total:je.total}},dragSortKey:"sort",onDragSortEnd:C,rowSelection:{selections:[be.SELECTION_ALL,be.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:l})=>e.jsxs(Re,{size:16,children:[e.jsx(fe,{onClick:()=>{o(l),k(l[0]),G(!0)},children:t("assets.change_group")}),e.jsx(fe,{onClick:()=>{o(l),H(!0)},children:t("assets.change_gateway")})]}),rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!s},dateFormatter:"string",headerTitle:t("menus.resource.submenus.website"),toolBarRender:()=>[e.jsx(D,{onClick:()=>{j("/authorised-website")},color:"purple",variant:"dashed",children:t("actions.authorized")},"auth"),p&&e.jsx(D,{onClick:()=>j(`/authorised-website?websiteGroupId=${p}`),children:`${t("authorised.label.website_group")}${t("actions.authorized")}`},"group-auth"),e.jsx(D,{type:"primary",onClick:()=>{_({websiteId:void 0}),c(void 0),h(!0)},children:t("actions.new")},"button")]};return e.jsxs("div",{children:[e.jsxs("div",{className:ie("px-4",s&&"px-2"),ref:pe,children:[s&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mb-4 bg-white dark:bg-gray-800 rounded-lg",children:e.jsx(Ne,{selected:p,onSelect:P})}),e.jsx(Se,{...we})]}),!s&&e.jsxs("div",{className:ie("grid gap-4 transition-all duration-300",g?"grid-cols-[48px_1fr]":"grid-cols-[240px_1fr]"),children:[e.jsxs("div",{className:"relative rounded-md bg-gray-50 dark:bg-[#141414]",children:[!g&&e.jsx(Ne,{selected:p,onSelect:P}),e.jsx("div",{className:ie("absolute top-4 bg-gray-100 p-1.5 rounded dark:bg-gray-800 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors",g?"left-2":"right-4"),onClick:()=>I(!g),children:g?e.jsx(ks,{className:"w-4 h-4"}):e.jsx(Ss,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"overflow-hidden rounded-md",children:e.jsx(Se,{...we,scroll:{x:"max-content"}})})]})]}),e.jsx(Ds,{id:b,open:y,onClose:()=>{_({websiteId:void 0}),h(!1),c(void 0)},onSuccess:()=>{a.current?.reload()}}),e.jsx(zs,{open:Z,onClose:()=>{G(!1),k(""),o([])},websiteIds:m.length>0?m:[w],onSuccess:()=>{a.current?.reload(),o([])}}),e.jsx(Cs,{resourceIds:m,type:"website",open:re,onClose:()=>{H(!1),o([]),a.current?.reload()}}),e.jsx(Oe,{title:F?`${F.name} · ${t("assets.temp_allow")}`:t("assets.temp_allow"),open:V,onCancel:O,footer:null,width:720,destroyOnHidden:!0,children:e.jsx(be,{rowKey:l=>`${l.websiteId}-${l.ip}`,loading:M.isFetching,dataSource:M.data||[],columns:ze,pagination:!1,size:"small"})})]})};export{lt as default}; +var Le=Object.defineProperty;var $e=(s,t,u)=>t in s?Le(s,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):s[t]=u;var ge=(s,t,u)=>$e(s,typeof t!="symbol"?t+"":t,u);import{f as n,S as e,bs as S,aY as A,bj as le,bk as B,aO as Q,ay as Pe,bY as Ke,bD as ve,a$ as Be,b2 as ue,cj as ke,ck as oe,av as D,ci as de,az as Ge,bg as J,bJ as We,bK as Me,bO as ae,aT as K,bA as Ue,bH as ne,aL as $,aM as Ae,aV as He,aN as Te,b$ as Ve,cl as Ye,b0 as Qe,aU as Xe,cm as Je,bh as ye,a_ as Re,au as qe,aK as Fe,b4 as Ze,aP as Ee,U as Oe,aC as es,aI as ss,bi as xe,bI as ts,bp as be,ch as Se}from"./antd-Afm2kNt7.js";import{u as R,T as De,ai as as,z as rs,e as me,D as ls,d as is,B as ns,r as Ce,w as os,b as ds,a as cs,h as us,C as ms,x as ie}from"./index-DQXwuKC5.js";import{w as z}from"./website-api-CiGWjL7L.js";import{N as fe}from"./NButton-DoPcvKBF.js";import{c as ps}from"./charts-DWBuA5Za.js";import{a as hs}from"./asset-api-1abjsV5s.js";import{a as gs}from"./agent-gateway-api-C9ZaxlKW.js";import{s as xs}from"./ssh-gateway-api-D4569Eil.js";import{g as bs}from"./gateway-group-api-nxpckHkj.js";import{U as fs}from"./upload-D4kD-YfJ.js";import{S as _s}from"./server-DnjIV_zW.js";import{c as ys}from"./certificate-api-CCI2Z4Qf.js";import{P as ws,C as js,a as vs,b as ks,c as Ss,A as Cs}from"./AssetGatewayChoose-4vUjpk3C.js";import{g as Ns}from"./sort-BOdE-yay.js";import"./monaco-CA9D5Osg.js";import"./xterm-Buno8AXJ.js";const{Option:X}=Pe,{Text:ce}=Be,Is=()=>{const{t:s}=R(),[t,u]=n.useState(!1),r=(a,y,h,b)=>e.jsx(S.List,{name:a,children:(c,{add:v,remove:f})=>e.jsxs(e.Fragment,{children:[e.jsx(le,{align:"middle",style:{marginBottom:8},children:e.jsxs(B,{children:[e.jsx(ce,{strong:!0,children:y}),e.jsx(ue,{title:h,children:e.jsx(ke,{style:{marginLeft:8,cursor:"pointer"}})})]})}),c.map(({key:x,name:_,...m})=>e.jsxs(le,{gutter:8,style:{marginBottom:8},children:[e.jsx(B,{flex:"1",children:e.jsx(S.Item,{...m,name:[_,"key"],rules:[{required:!0,message:s("assets.website_response_modify.header_key_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.header_key")})})}),e.jsx(B,{flex:"1",children:e.jsx(S.Item,{...m,name:[_,"value"],rules:[{required:!0,message:s("assets.website_response_modify.header_value_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.header_value")})})}),e.jsx(B,{children:e.jsx(oe,{onClick:()=>f(_),style:{color:"#ff4d4f",fontSize:"16px"}})})]},x)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>v(),block:!0,icon:e.jsx(de,{}),style:{marginTop:8},children:b})})]})});return e.jsx("div",{style:{},children:e.jsx(S.List,{name:"modifyRules",children:(a,{add:y,remove:h})=>e.jsxs(e.Fragment,{children:[a.map(({key:b,name:c,...v})=>e.jsx(A,{type:"inner",title:e.jsx(S.Item,{...v,name:[c,"name"],rules:[{required:!0,message:s("assets.website_response_modify.rule_name_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.website_response_modify.rule_name_placeholder")})}),extra:a.length>0?e.jsx(oe,{onClick:()=>h(c),style:{fontSize:"16px",color:"#ff4d4f",marginLeft:8,cursor:"pointer"}}):null,style:{marginBottom:24},children:e.jsxs(le,{gutter:24,children:[e.jsx(B,{span:12,children:e.jsxs(A,{title:s("assets.website_response_modify.match_conditions"),size:"small",style:{marginBottom:16},children:[e.jsx(S.Item,{...v,name:[c,"match","path"],label:s("assets.website_response_modify.match_path"),tooltip:s("assets.website_response_modify.match_path_tip"),children:e.jsx(Q,{placeholder:"/hello"})}),e.jsx(S.Item,{...v,name:[c,"match","method"],label:s("assets.website_response_modify.match_method"),tooltip:s("assets.website_response_modify.match_method_tip"),children:e.jsxs(Pe,{placeholder:s("assets.website_response_modify.match_method_placeholder"),allowClear:!0,children:[e.jsx(X,{value:"GET",children:"GET"}),e.jsx(X,{value:"POST",children:"POST"}),e.jsx(X,{value:"PUT",children:"PUT"}),e.jsx(X,{value:"DELETE",children:"DELETE"}),e.jsx(X,{value:"PATCH",children:"PATCH"}),e.jsx(X,{value:"HEAD",children:"HEAD"}),e.jsx(X,{value:"OPTIONS",children:"OPTIONS"})]})}),e.jsx(S.Item,{...v,name:[c,"match","status"],label:s("assets.website_response_modify.match_status"),tooltip:s("assets.website_response_modify.match_status_tip"),children:e.jsx(Ke,{min:0,max:599,placeholder:"200",style:{width:"100%"}})})]})}),e.jsx(B,{span:12,children:e.jsxs(A,{title:s("assets.website_response_modify.actions_title"),size:"small",children:[e.jsx(ve,{orientation:"left",style:{margin:"12px 0"},children:e.jsx(ce,{strong:!0,children:s("assets.website_response_modify.header_operations")})}),r([c,"actions","set_headers"],s("assets.website_response_modify.set_headers_label"),s("assets.website_response_modify.set_headers_tip"),s("assets.website_response_modify.add_set_headers")),r([c,"actions","add_headers"],s("assets.website_response_modify.add_headers_label"),s("assets.website_response_modify.add_headers_tip"),s("assets.website_response_modify.add_add_headers")),e.jsx(S.List,{name:[c,"actions","remove_headers"],children:(f,{add:x,remove:_})=>e.jsxs(e.Fragment,{children:[e.jsx(le,{align:"middle",style:{marginBottom:8},children:e.jsxs(B,{children:[e.jsx(ce,{strong:!0,children:s("assets.website_response_modify.remove_headers_label")}),e.jsx(ue,{title:s("assets.website_response_modify.remove_headers_tip"),children:e.jsx(ke,{style:{marginLeft:8,cursor:"pointer"}})})]})}),f.map(({key:m,name:o,...p})=>e.jsxs(le,{gutter:8,style:{marginBottom:8},children:[e.jsx(B,{flex:"1",children:e.jsx(S.Item,{...p,name:[o],rules:[{required:!0,message:s("assets.website_response_modify.remove_header_name_required")}],style:{marginBottom:0},children:e.jsx(Q,{placeholder:s("assets.website_response_modify.remove_header_name_placeholder")})})}),e.jsx(B,{children:e.jsx(oe,{onClick:()=>_(o),style:{color:"#ff4d4f",fontSize:"16px"}})})]},m)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>x(),block:!0,icon:e.jsx(de,{}),style:{marginTop:8},children:s("assets.website_response_modify.add_remove_header_button")})})]})}),e.jsx(ve,{orientation:"left",style:{margin:"12px 0"},children:e.jsx(ce,{strong:!0,children:s("assets.website_response_modify.body_replace_title")})}),e.jsx(S.List,{name:[c,"actions","body_replace"],children:(f,{add:x,remove:_})=>e.jsxs(e.Fragment,{children:[f.map(({key:m,name:o,...p})=>e.jsxs(A,{size:"small",title:s("assets.website_response_modify.replace_rule_title",{index:o+1}),extra:e.jsx(oe,{onClick:()=>_(o),style:{color:"#ff4d4f"}}),style:{marginBottom:12},children:[e.jsx(S.Item,{...p,name:[o,"search"],label:s("assets.website_response_modify.search_text_label"),rules:[{required:!0,message:s("assets.website_response_modify.search_text_required")}],children:e.jsx(Q,{placeholder:s("assets.website_response_modify.search_text_placeholder")})}),e.jsx(S.Item,{...p,name:[o,"is_regex"],label:s("assets.website_response_modify.use_regex_label"),valuePropName:"checked",tooltip:s("assets.website_response_modify.use_regex_tip"),children:e.jsx(Ge,{})}),e.jsx(S.Item,{...p,name:[o,"replace"],label:s("assets.website_response_modify.replace_text_label"),rules:[{required:!0,message:s("assets.website_response_modify.replace_text_required")}],children:e.jsx(Q,{placeholder:s("assets.website_response_modify.replace_text_placeholder")})})]},m)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>x(),block:!0,icon:e.jsx(de,{}),children:s("assets.website_response_modify.add_replace_rule")})})]})})]})})]})},b)),e.jsx(S.Item,{children:e.jsx(D,{type:"dashed",onClick:()=>y(),block:!0,icon:e.jsx(de,{}),size:"large",children:s("assets.website_response_modify.add_modify_rule")})})]})})})},Ps=s=>{const t=new URL(s),u=t.protocol.replace(":",""),r=t.hostname,a=t.port||(u==="http"?"80":u==="https"?"443":"");return{scheme:u,host:r,port:a}},As=s=>s.size>1024*1024?(J.error("Image must be smaller than 1MB!"),!1):!0,Ts=({logo:s,onLogoChange:t,logosData:u})=>{const{t:r}=R(),a=({file:y,onSuccess:h})=>{const b=new FileReader;b.onloadend=()=>{const c=b.result;t(c),h?.(c)},b.readAsDataURL(y)};return e.jsx(S.Item,{name:"logo",label:r("assets.logo"),children:e.jsx(We,{placement:"bottomRight",content:e.jsxs("div",{className:"grid grid-cols-8 gap-2",children:[u?.map(y=>e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 hover:border-blue-500",onClick:()=>t(y.data),children:e.jsx("img",{src:y.data,alt:y.name,className:"w-full h-full object-contain"})},y.name)),e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-red-500 flex items-center justify-center hover:bg-red-50",onClick:()=>t(""),children:e.jsx(De,{className:"text-red-500 h-4 w-4"})}),e.jsx(Me,{maxCount:1,showUploadList:!1,customRequest:a,beforeUpload:As,children:e.jsx("div",{className:"h-10 w-10 rounded-lg cursor-pointer border p-2 border-dashed border-blue-500 flex items-center justify-center hover:bg-blue-50",children:e.jsx(fs,{className:"text-blue-500 h-4 w-4"})})})]}),trigger:"click",children:e.jsx("div",{className:"w-10 h-10 border border-dashed rounded-lg p-2 flex items-center justify-center cursor-pointer border-blue-200 dark:border-blue-700 hover:border-blue-500",children:s&&e.jsx("img",{src:s,alt:"logo",className:"w-full h-full object-contain"})})})})},Rs=({logo:s,onLogoChange:t,logosData:u})=>{const{t:r}=R(),[a,y]=n.useState(!1),h=[{value:"http",label:"HTTP"},{value:"https",label:"HTTPS"}],b=async()=>(await gs.getAll()).map(o=>({label:o.name,value:o.id})),c=async()=>(await xs.getAll()).map(o=>({label:o.name,value:o.id})),v=async()=>(await bs.getAll()).map(o=>({label:o.name,value:o.id})),f=m=>m.map(o=>({title:o.title,value:o.key,children:o.children?f(o.children):[]})),x=async()=>{const m=await z.getGroups();return f(m)},_=async(m,o,p)=>{if(!o){J.warning(r("assets.forward_host_or_ip")+" "+r("general.required"));return}const P=`${m||"http"}://${o}${p?":"+p:""}`;y(!0);try{const q=await z.getFavicon(P);t(q),J.success(r("general.success"))}catch{J.error(r("assets.auto_fetch_favicon_failed"))}finally{y(!1)}};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-col gap-4 rounded-lg bg-slate-50/60 p-4 dark:bg-slate-900/40 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(Ts,{logo:s,onLogoChange:t,logosData:u}),e.jsx("div",{className:"text-xs text-slate-500",children:r("assets.logo")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx(ae,{label:r("general.enabled"),name:"enabled",rules:[{required:!0}],fieldProps:{checkedChildren:r("general.yes"),unCheckedChildren:r("general.no")}}),e.jsx(ae,{label:r("assets.disable_access_log"),name:"disableAccessLog",tooltip:r("assets.disable_access_log_tip"),fieldProps:{checkedChildren:r("general.yes"),unCheckedChildren:r("general.no")}})]})]}),e.jsxs("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:[e.jsx(K,{label:r("general.name"),name:"name",rules:[{required:!0}],placeholder:r("general.name")}),e.jsx(Ue,{label:r("assets.group"),name:"groupId",request:x,placeholder:r("gateway_group.name_placeholder"),fieldProps:{treeDefaultExpandAll:!0,allowClear:!0,showSearch:!0,treeNodeFilterProp:"title"}}),e.jsx(K,{label:r("assets.domain"),name:"domain",rules:[{required:!0}],extra:r("assets.domain_tip"),placeholder:"example.com"}),e.jsx(K,{label:r("assets.entrance"),name:"entrance",extra:r("assets.entrance_tip"),placeholder:"/admin"})]})]}),e.jsx(A,{size:"small",className:"bg-slate-50/60 dark:bg-slate-900/40",children:e.jsxs("div",{className:"",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_s,{className:"h-4 w-4 text-blue-600"}),e.jsx("span",{className:"text-sm font-medium text-slate-700 dark:text-slate-200",children:r("assets.target_server")})]}),e.jsx(ne,{name:["scheme","host","port"],children:({scheme:m,host:o,port:p})=>e.jsx(D,{size:"small",icon:e.jsx(as,{className:"h-3.5 w-3.5"}),loading:a,onClick:()=>_(m,o,p),children:r("assets.auto_fetch_favicon")})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-3",children:[e.jsx("div",{className:"md:col-span-2",children:e.jsx($,{label:r("assets.scheme"),name:"scheme",options:h,rules:[{required:!0}],formItemProps:{style:{margin:0}}})}),e.jsx("div",{className:"md:col-span-7",children:e.jsx(K,{label:r("assets.forward_host_or_ip"),name:"host",rules:[{required:!0}],placeholder:"192.168.1.100",formItemProps:{style:{margin:0}}})}),e.jsx("div",{className:"md:col-span-3",children:e.jsx(Ae,{name:"port",label:r("assets.forward_port"),min:1,max:65535,fieldProps:{precision:0},placeholder:"80",rules:[{required:!0}],formItemProps:{style:{margin:0}}})})]})]})}),e.jsx(He.Group,{label:r("assets.gateway_type"),name:"gatewayType",options:[{label:r("assets.no_gateway"),value:""},{label:r("menus.gateway.submenus.ssh_gateway"),value:"ssh"},{label:r("menus.gateway.submenus.agent_gateway"),value:"agent"},{label:r("menus.gateway.submenus.gateway_group"),value:"group"}]}),e.jsx(ne,{name:["gatewayType"],children:({gatewayType:m})=>m==="ssh"?e.jsx($,{label:r("menus.gateway.submenus.ssh_gateway"),name:"gatewayId",request:c,params:{gatewayType:m},showSearch:!0,rules:[{required:!0}]},"ssh"):m==="agent"?e.jsx($,{label:r("menus.gateway.submenus.agent_gateway"),name:"gatewayId",request:b,params:{gatewayType:m},showSearch:!0,rules:[{required:!0}]},"agent"):m==="group"?e.jsx($,{label:r("menus.gateway.submenus.gateway_group"),name:"gatewayId",request:v,params:{gatewayType:m},showSearch:!0,rules:[{required:!0}]},"group"):null})]})},qs=()=>{const{t:s}=R(),t=({listDom:u,action:r})=>e.jsx(A,{size:"small",className:"mb-3 bg-slate-50/60 dark:bg-slate-900/40",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex-1",children:u}),e.jsx("div",{className:"flex-shrink-0",children:r})]})});return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(A,{size:"small",className:"bg-sky-50/60 dark:bg-sky-900/20",children:e.jsx(Te,{name:"preserveHost",label:s("assets.preserve_host"),extra:s("assets.preserve_host_tip")})}),e.jsx("div",{children:e.jsx(Ve,{name:"headers",label:s("assets.custom_header"),initialValue:[],tooltip:s("assets.custom_header_tip"),itemRender:t,children:e.jsx(Ye,{children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsx(K,{name:"name",label:s("assets.header_key"),placeholder:"Content-Type"}),e.jsx(K,{name:"value",label:s("assets.header_value"),placeholder:"application/json"})]})},"group")})})]})},Fs=()=>{const{t:s}=R(),t=async()=>(await ys.getAll()).map(r=>({label:r.commonName,value:r.id}));return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(A,{size:"small",className:"bg-slate-50/60 dark:bg-slate-900/40",children:e.jsx(ae,{label:s("general.enabled"),name:["cert","enabled"],fieldProps:{checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")}})}),e.jsx(ne,{name:["cert","enabled"],children:({cert:u})=>u?.enabled?e.jsx(A,{size:"small",className:"bg-emerald-50/60 dark:bg-emerald-900/20",children:e.jsx($,{label:s("assets.cert"),name:["cert","certId"],rules:[{required:!0}],request:t,placeholder:s("assets.cert"),showSearch:!0})}):null})]})},Es=({timeLimit:s,onTimeLimitChange:t,expiredAt:u,onExpiredAtChange:r})=>{const{t:a}=R(),y=h=>h&&hh?.public?.enabled?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs(A,{size:"small",className:"bg-slate-50/60 dark:bg-slate-900/40",children:[e.jsx(Xe,{label:a("assets.limit_ip"),name:["public","ip"],extra:a("assets.limit_ip_tip"),placeholder:"192.168.1.0/24",fieldProps:{rows:3}}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-3",children:[e.jsx($,{label:a("assets.limit_country"),name:["public","countries"],extra:a("assets.limit_country_tip"),placeholder:a("assets.limit_country_placeholder"),fieldProps:{mode:"tags"},tooltip:a("assets.limit_geo_input_tip")}),e.jsx($,{label:a("assets.limit_province"),name:["public","provinces"],extra:a("assets.limit_province_tip"),placeholder:a("assets.limit_province_placeholder"),fieldProps:{mode:"tags"},tooltip:a("assets.limit_geo_input_tip")}),e.jsx($,{label:a("assets.limit_city"),name:["public","cities"],extra:a("assets.limit_city_tip"),placeholder:a("assets.limit_city_placeholder"),fieldProps:{mode:"tags"},tooltip:a("assets.limit_geo_input_tip")})]}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[e.jsx($,{label:a("assets.public_header_whitelist"),name:["public","headerWhitelist"],extra:a("assets.public_header_whitelist_tip"),placeholder:a("assets.public_header_whitelist_placeholder"),fieldProps:{mode:"tags",tokenSeparators:[","]}}),e.jsx($,{label:a("assets.public_path_whitelist"),name:["public","pathWhitelist"],extra:a("assets.public_path_whitelist_tip"),placeholder:a("assets.public_path_whitelist_placeholder"),fieldProps:{mode:"tags",tokenSeparators:[","]}})]}),e.jsx(Te,{label:a("assets.limit_time_enabled"),name:["public","timeLimit"],valuePropName:"checked",fieldProps:{checked:s,onChange:b=>t(b.target.checked)}}),s&&e.jsx(Je,{label:a("assets.limit_time"),name:["public","expiredAt"],fieldProps:{allowClear:!0,disabledDate:y,value:u,onChange:r}})]}),e.jsx(A,{size:"small",className:"bg-rose-50/60 dark:bg-rose-900/20",children:e.jsx(K.Password,{label:a("assets.limit_password"),name:["public","password"],extra:a("assets.limit_password_tip"),placeholder:"password123",fieldProps:{autoComplete:"new-password",name:"public-access-password",spellCheck:!1}})})]}):null})]})},Os=()=>{const{t:s}=R();return e.jsx("div",{className:"flex flex-col gap-4",children:e.jsxs(A,{size:"small",className:"bg-emerald-50/60 dark:bg-emerald-900/20",children:[e.jsx(ae,{label:s("assets.temp_allow_enabled"),name:["tempAllow","enabled"],fieldProps:{checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")}}),e.jsx(ne,{name:["tempAllow","enabled"],children:t=>t?.tempAllow?.enabled?e.jsxs("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[e.jsx(Ae,{label:s("assets.temp_allow_duration"),name:["tempAllow","durationMinutes"],extra:s("assets.temp_allow_duration_tip"),initialValue:5,fieldProps:{min:1},addonAfter:s("general.minute")}),e.jsx(ae,{label:s("assets.temp_allow_auto_renew"),name:["tempAllow","autoRenew"],fieldProps:{checkedChildren:s("general.yes"),unCheckedChildren:s("general.no")},extra:s("assets.temp_allow_auto_renew_tip")})]}):null})]})})},Ds=({open:s,onClose:t,onSuccess:u,id:r})=>{const{t:a}=R(),{license:y}=rs(),h=n.useRef(null),[b,c]=n.useState(!1),[v,f]=n.useState(),[x,_]=n.useState(!1),[m,o]=n.useState(),p=me({queryKey:["get-logos"],queryFn:hs.getLogos});n.useEffect(()=>{s||(o(void 0),c(!1),f(void 0),_(!1))},[s]);const P=async()=>{if(!r)return{enabled:!0,scheme:"http",cert:{enabled:!1},public:{enabled:!1,expiredAt:0,countries:[],provinces:[],cities:[],headerWhitelist:[],pathWhitelist:[]},tempAllow:{enabled:!1,durationMinutes:5,autoRenew:!1}};try{const w=await z.getById(r),{scheme:k,host:V,port:ee}=Ps(w.targetUrl);if(o(w.logo),w.public?.expiredAt&&w.public.expiredAt>0){const F=ye(w.public.expiredAt);f(F),c(!0)}else f(void 0),c(!1);return{...w,scheme:k,host:V,port:parseInt(ee,10)}}catch(w){throw console.error("Failed to load website data:",w),J.error(a("assets.website_load_failed")),w}},q=w=>{c(w),w||f(void 0)},L=w=>{f(w||void 0)},Z=async w=>{_(!0);try{const k={...w,targetUrl:`${w.scheme}://${w.host}:${w.port}`,logo:m};b&&v&&(k.public={...k.public,expiredAt:v.valueOf()}),r?await z.updateById(r,k):await z.create(k),J.success(a("general.success")),u?.(),t()}catch(k){console.error("Save failed:",k),J.error(a("general.error"))}finally{_(!1)}},G=()=>{h.current?.validateFields().then(Z)},re=[{key:"general",label:a("assets.general"),children:e.jsx(Rs,{logo:m,onLogoChange:o,logosData:p.data}),forceRender:!0},{key:"headers",label:a("assets.custom_header"),children:e.jsx(qs,{}),forceRender:!0},{key:"cert",label:a("assets.custom_certificate"),children:e.jsx(Fs,{}),forceRender:!0},{key:"modify-response",label:a("assets.modify_response"),children:e.jsx(ls,{disabled:y.isFree(),children:e.jsx(Is,{})}),forceRender:!0},{key:"public",label:a("assets.public"),children:e.jsx(Es,{timeLimit:b,onTimeLimitChange:q,expiredAt:v,onExpiredAtChange:L}),forceRender:!0},{key:"temp-allow",label:a("assets.temp_allow"),children:e.jsx(Os,{}),forceRender:!0}],H=e.jsxs(Re,{children:[e.jsx(D,{onClick:t,className:"border-gray-300",children:a("actions.cancel")}),e.jsx(D,{type:"primary",onClick:G,loading:x,className:"bg-blue-500 hover:bg-blue-600",children:a("actions.save")})]});return e.jsx(qe,{title:a(r?"actions.edit":"actions.new"),onClose:t,open:s,width:1200,className:"website-drawer",destroyOnHidden:!0,extra:H,children:e.jsx("div",{className:"h-full -mt-4",children:e.jsxs(Fe,{formRef:h,request:P,submitter:!1,autoComplete:"off",children:[e.jsx(K,{hidden:!0,name:"id"}),e.jsx(Ze,{items:re,defaultActiveKey:"general",className:"h-full",style:{marginTop:"0"},tabBarStyle:{marginBottom:"16px"}})]})})})},zs=({open:s,onClose:t,websiteIds:u,onSuccess:r})=>{const{t:a}=R(),[y,h]=n.useState([]);let[b,c]=n.useState([]),[v,f]=n.useState(""),x=me({queryKey:["assets/groups"],queryFn:z.getGroups});n.useEffect(()=>{s?x.refetch():f("")},[s]),n.useEffect(()=>{if(Array.isArray(x.data)&&x.data.length>0){h(x.data);let p=_(x.data);c(p)}},[x.data]);const _=p=>{let P=[];return Array.isArray(p)&&p.forEach(q=>{P.push(q.key),q.children&&(P=P.concat(_(q.children)))}),P},m=p=>{z.changeGroup({websiteIds:u,groupId:p}).then(()=>{r&&r(),t()})},o=()=>{t()};return e.jsx(qe,{title:a("assets.group"),open:s,onClose:o,children:e.jsx(Ee,{blockNode:!0,treeData:y,expandedKeys:b,onExpand:c,selectedKeys:[v],style:{padding:4},onSelect:p=>{p&&p.length>0&&(f(p[0]),m(p[0]))}})})},Ls=({open:s,handleOk:t,handleCancel:u,confirmLoading:r,op:a,node:y={title:"",key:"",children:[]}})=>{const h=n.useRef(null);let{t:b}=R();const c=n.useRef(null);n.useEffect(()=>{s&&setTimeout(()=>{c.current?.focus()},300)},[s]);const v=async()=>y,f=()=>{h.current?.validateFields().then(async x=>{t(x)})};return e.jsx(Oe,{title:b(a==="edit"?"websites.edit_group":"websites.add_group"),open:s,maskClosable:!1,destroyOnHidden:!0,onOk:()=>{f()},onCancel:()=>{u()},confirmLoading:r,children:e.jsxs(Fe,{formRef:h,request:v,submitter:!1,autoFocus:!0,children:[e.jsx(K,{hidden:!0,name:"key"}),e.jsx(K,{name:"title",label:b("gateway_group.name"),placeholder:b("gateway_group.name_placeholder"),rules:[{required:!0,message:b("websites.group_name_required")}],fieldProps:{ref:c,onPressEnter:x=>{f()}}})]})})},Ne=({selected:s,onSelect:t})=>{let{t:u}=R();const[r,a]=n.useState([]);let[y,h]=n.useState(!1),[b,c]=n.useState(),[v,f]=n.useState(),[x,_]=n.useState(),[m,o]=n.useState([]),[p,P]=n.useState([s]),[q]=is(),L=me({queryKey:["websites/tree"],queryFn:z.getGroups});n.useEffect(()=>{if(Array.isArray(L.data)&&L.data.length>0){a(L.data);let d=Z(L.data);o(d)}},[L.data]);const Z=d=>{let g=[];return Array.isArray(d)&&d.forEach(I=>{g.push(I.key),I.children&&(g=g.concat(Z(I.children)))}),g},G=d=>{z.setGroups(d).then(()=>{a(d)})},re=d=>{const g=d.node.key,I=d.dragNode.key;if(I==="default")return;const j=d.node.pos.split("-"),pe=d.dropPosition-Number(j[j.length-1]),W=(C,E,Y)=>{for(let O=0;O{Y.splice(E,1),se=C}),!d.dropToGap)W(M,g,C=>{C.children=C.children||[],C.children.unshift(se)});else{let C=[],E;W(M,g,(Y,O,he)=>{C=he,E=O}),pe===-1?C.splice(E,0,se):C.splice(E+1,0,se)}G(M)},H=(d,g,I)=>g.map(j=>j.key===d?(j.title=I.title,j):(j.children&&(j.children=H(d,j.children,I)),j)),w=(d,g,I)=>d?g.map(j=>(j.key===d&&(j.children=j.children?[...j.children,I]:[I]),j.children&&(j.children=w(d,j.children,I)),j)):(g.push(I),g),[k,V]=n.useState(null),ee=[{label:u("actions.new"),key:"add",icon:e.jsx(ws,{className:"h-4 w-4"}),onClick:()=>{c(k.node.key),f(void 0),h(!0),_("add")}},{label:u("actions.edit"),key:"edit",icon:e.jsx(js,{className:"h-4 w-4"}),onClick:()=>{c(k.node.key),f(k.node),h(!0),_("edit")}},{label:u("actions.delete"),key:"delete",danger:!0,icon:e.jsx(De,{className:"h-4 w-4"}),onClick:()=>{z.deleteGroup(k.node.key).then(()=>{L.refetch()})}}],F=({event:d,node:g})=>{g.key!=="default"&&(d.preventDefault(),V({pageX:d.pageX,pageY:d.pageY,node:g}))};return e.jsxs("div",{children:[e.jsx("div",{className:"px-4 pt-4 flex items-center justify-between",children:e.jsxs("div",{className:"font-medium text-[15px] flex items-center gap-2",children:[e.jsx(ue,{title:u("actions.new"),children:e.jsx(vs,{className:"h-4 w-4 cursor-pointer",onClick:()=>{c(void 0),f(void 0),h(!0),_("add")}})}),e.jsx(ue,{title:u("websites.group_tip"),children:e.jsx("div",{className:"cursor-pointer",children:u("assets.group")})})]})}),e.jsx(Ee,{draggable:!0,blockNode:!0,onDrop:re,treeData:r,expandedKeys:m,onExpand:o,style:{backgroundColor:q.isDark?q.backgroundColor:"#F9FAFB",padding:8},selectedKeys:p,onSelect:d=>{P(d),d.length>0?t(d[0]):t("")},onRightClick:F}),k&&e.jsx(es,{menu:{items:ee},open:!0,trigger:["contextMenu"],onOpenChange:d=>!d&&V(null),overlayStyle:{position:"absolute",left:k.pageX,top:k.pageY},children:e.jsx("div",{style:{position:"fixed",top:k.pageY,left:k.pageX,width:0,height:0}})}),e.jsx(Ls,{op:x,open:y,confirmLoading:!1,node:v,handleCancel:()=>{h(!1),c(void 0)},handleOk:d=>{let g=[];d.key?g=H(d.key,r,d):(d.key="WG_"+ns(),d.children=[],g=w(b,r,d)),console.log("newTreeData",b,d,g),G([...g]),h(!1),c(void 0)}})]})};class $s{constructor(){ge(this,"list",async t=>await Ce.get(`/admin/website-temp-allow?websiteId=${t}`));ge(this,"remove",async(t,u)=>await Ce.delete(`/admin/website-temp-allow?websiteId=${t}&ip=${encodeURIComponent(u)}`))}}const Ie=new $s,_e=z,lt=()=>{const{isMobile:s}=os(),{t}=R(),{message:u,modal:r}=ss.useApp(),a=n.useRef(null);let[y,h]=n.useState(!1),[b,c]=n.useState(),[v,f]=ds();const x=n.useMemo(()=>{const l={};return v.forEach((i,T)=>{l[T]=i}),l},[v]),_=n.useCallback(l=>{const i={...x};Object.entries(l).forEach(([N,te])=>{te?i[N]=te:delete i[N]}),!(Object.keys(i).length===Object.keys(x).length&&Object.entries(i).every(([N,te])=>x[N]===te))&&f(i)},[x,f]);let[m,o]=n.useState([]),[p,P]=n.useState(v.get("groupId")||""),[q,L]=n.useState([]);const[Z,G]=n.useState(!1),[re,H]=n.useState(!1),[w,k]=n.useState(""),[V,ee]=n.useState(!1),[F,d]=n.useState(null),[g,I]=n.useState(()=>{const l=localStorage.getItem("website-tree-collapsed");return l?JSON.parse(l):!1});let j=cs();const pe=n.useRef(null),W=x.websiteId;n.useEffect(()=>{localStorage.setItem("website-tree-collapsed",JSON.stringify(g))},[g]),n.useEffect(()=>{W&&(h(!0),c(W))},[W]);const M=me({queryKey:["website-temp-allow",F?.id],queryFn:()=>Ie.list(F.id),enabled:V&&!!F?.id}),se=us({mutationFn:l=>_e.updateSortPosition(l),onSuccess:()=>{u.success(t("general.success"))}}),C=(l,i,T)=>{console.log("Sort operation",{beforeIndex:l,afterIndex:i}),L(T);const N={id:T[i].id,beforeId:i>0?T[i-1].id:"",afterId:i{h(!0),c(l),_({websiteId:l})},Y=l=>{d(l),ee(!0)},O=()=>{ee(!1),d(null)},he=l=>{if(!l||l<=0)return"-";if(l<60)return`${l}s`;const i=Math.floor(l/60),T=l%60;if(i<60)return`${i}m ${T}s`;const U=Math.floor(i/60),N=i%60;return`${U}h ${N}m`},ze=[{title:"IP",dataIndex:"ip",key:"ip",width:160},{title:t("assets.temp_allow_expires"),dataIndex:"expiresAt",key:"expiresAt",width:200,render:l=>l?ye(l).format("YYYY-MM-DD HH:mm:ss"):"-"},{title:t("assets.temp_allow_remaining"),dataIndex:"remainingSeconds",key:"remainingSeconds",width:120,render:l=>he(l)},{title:t("actions.label"),key:"option",width:100,render:(l,i)=>e.jsx(D,{type:"link",danger:!0,size:"small",onClick:()=>{r.confirm({title:t("general.confirm_delete"),okText:t("actions.delete"),okButtonProps:{danger:!0},onOk:async()=>{F&&(await Ie.remove(F.id,i.ip),M.refetch())}})},children:t("actions.delete")})}];n.useEffect(()=>{_({groupId:p||void 0}),a.current?.setPageInfo({pageSize:10,current:1}),a.current?.reload()},[_,p]);const we={columns:[{title:t("assets.sort"),dataIndex:"sort",width:60,className:"drag-visible",hideInSearch:!0},{title:t("assets.logo"),dataIndex:"logo",hideInSearch:!0,width:s?40:60,render:(l,i)=>i.logo?e.jsx("img",{src:i.logo,alt:i.name,className:"w-6 h-6"}):e.jsx("div",{className:ps("w-6 h-6 rounded flex items-center justify-center font-bold text-white text-xs",ms("http")),children:i.name[0]})},{title:t("general.name"),dataIndex:"name",hideInSearch:!0,width:120,render:(l,i)=>e.jsx("span",{className:"cursor-pointer text-blue-600 hover:underline",onClick:()=>E(i.id),children:l})},{title:t("assets.group"),dataIndex:"groupFullName",key:"groupFullName",width:s?80:150,render:(l,i)=>e.jsx("div",{className:ie("cursor-pointer hover:text-blue-500 underline",s&&"text-xs line-clamp-2"),onClick:()=>{k(i.id),G(!0)},children:l||t("assets.default_group")}),hideInSearch:!0},{title:t("general.enabled"),dataIndex:"enabled",hideInSearch:!0,width:50,hideInTable:s,render:l=>l===!0?e.jsx(xe,{color:"green-inverse",bordered:!1,children:t("general.yes")}):e.jsx(xe,{color:"gray",bordered:!1,children:t("general.no")})},{title:t("assets.domain"),dataIndex:"domain",key:"domain",hideInSearch:!0,width:s?150:300,render:(l,i)=>e.jsx("div",{children:e.jsx(xe,{bordered:!1,color:"blue",className:ie(s&&"text-xs"),children:s?e.jsx("div",{className:"line-clamp-2",children:i.domain}):i.domain+" -> "+i.targetUrl})})},{title:t("general.created_at"),key:"createdAt",dataIndex:"createdAt",hideInSearch:!0,hideInTable:s,width:160,valueType:"dateTime"},{title:t("actions.label"),valueType:"option",key:"option",width:160,render:(l,i,T,U)=>[e.jsx(fe,{onClick:()=>{let N=`/browser?websiteId=${i.id}&t=${new Date().getTime()}`;window.open(N,"_blank")},children:s?t("assets.access").substring(0,2):t("assets.access")},"access"),e.jsx(ts,{onSelect:N=>{switch(N){case"edit":E(i.id);break;case"temp-allow":Y(i);break;case"view-authorised":j(`/authorised-website?websiteId=${i.id}`);break;case"delete":r.confirm({title:t("general.confirm_delete"),okText:t("actions.delete"),okButtonProps:{danger:!0},onOk:async()=>{x.websiteId===i.id&&(_({websiteId:void 0}),h(!1),c(void 0)),await _e.deleteById(i.id),a.current?.reload()}});break}},menus:[{key:"edit",name:t("actions.edit")},{key:"temp-allow",name:t("assets.temp_allow")},{key:"view-authorised",name:`${t("actions.authorized")}${t("menus.identity.submenus.user")}`},{key:"delete",name:t("actions.delete"),danger:!0}]},`website-actions-${i.id}`)]}],actionRef:a,request:async(l={},i,T)=>{let[U,N]=Ns(i);U===""&&N===""&&(U="desc",N="sort");let te={pageIndex:l.current,pageSize:l.pageSize,order:U,field:N,keyword:l.keyword,groupId:p||void 0},je=await _e.getPaging(te);return{data:je.items,success:!0,total:je.total}},dragSortKey:"sort",onDragSortEnd:C,rowSelection:{selections:[be.SELECTION_ALL,be.SELECTION_INVERT]},tableAlertOptionRender:({selectedRowKeys:l})=>e.jsxs(Re,{size:16,children:[e.jsx(fe,{onClick:()=>{o(l),k(l[0]),G(!0)},children:t("assets.change_group")}),e.jsx(fe,{onClick:()=>{o(l),H(!0)},children:t("assets.change_gateway")})]}),rowKey:"id",options:{search:!0},search:!1,pagination:{defaultPageSize:10,showSizeChanger:!s},dateFormatter:"string",headerTitle:t("menus.resource.submenus.website"),toolBarRender:()=>[e.jsx(D,{onClick:()=>{j("/authorised-website")},color:"purple",variant:"dashed",children:t("actions.authorized")},"auth"),p&&e.jsx(D,{onClick:()=>j(`/authorised-website?websiteGroupId=${p}`),children:`${t("authorised.label.website_group")}${t("actions.authorized")}`},"group-auth"),e.jsx(D,{type:"primary",onClick:()=>{_({websiteId:void 0}),c(void 0),h(!0)},children:t("actions.new")},"button")]};return e.jsxs("div",{children:[e.jsxs("div",{className:ie("px-4",s&&"px-2"),ref:pe,children:[s&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mb-4 bg-white dark:bg-gray-800 rounded-lg",children:e.jsx(Ne,{selected:p,onSelect:P})}),e.jsx(Se,{...we})]}),!s&&e.jsxs("div",{className:ie("grid gap-4 transition-all duration-300",g?"grid-cols-[48px_1fr]":"grid-cols-[240px_1fr]"),children:[e.jsxs("div",{className:"relative rounded-md bg-gray-50 dark:bg-[#141414]",children:[!g&&e.jsx(Ne,{selected:p,onSelect:P}),e.jsx("div",{className:ie("absolute top-4 bg-gray-100 p-1.5 rounded dark:bg-gray-800 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors",g?"left-2":"right-4"),onClick:()=>I(!g),children:g?e.jsx(ks,{className:"w-4 h-4"}):e.jsx(Ss,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"overflow-hidden rounded-md",children:e.jsx(Se,{...we,scroll:{x:"max-content"}})})]})]}),e.jsx(Ds,{id:b,open:y,onClose:()=>{_({websiteId:void 0}),h(!1),c(void 0)},onSuccess:()=>{a.current?.reload()}}),e.jsx(zs,{open:Z,onClose:()=>{G(!1),k(""),o([])},websiteIds:m.length>0?m:[w],onSuccess:()=>{a.current?.reload(),o([])}}),e.jsx(Cs,{resourceIds:m,type:"website",open:re,onClose:()=>{H(!1),o([]),a.current?.reload()}}),e.jsx(Oe,{title:F?`${F.name} · ${t("assets.temp_allow")}`:t("assets.temp_allow"),open:V,onCancel:O,footer:null,width:720,destroyOnHidden:!0,children:e.jsx(be,{rowKey:l=>`${l.websiteId}-${l.ip}`,loading:M.isFetching,dataSource:M.data||[],columns:ze,pagination:!1,size:"small"})})]})};export{lt as default}; diff --git a/server/resource/build/assets/WechatWorkCallback-uR2Gy8LY.js b/server/resource/build/assets/WechatWorkCallback-BTjIgIlC.js similarity index 90% rename from server/resource/build/assets/WechatWorkCallback-uR2Gy8LY.js rename to server/resource/build/assets/WechatWorkCallback-BTjIgIlC.js index 8617ba2bc..df39116e8 100644 --- a/server/resource/build/assets/WechatWorkCallback-uR2Gy8LY.js +++ b/server/resource/build/assets/WechatWorkCallback-BTjIgIlC.js @@ -1 +1 @@ -import{f as n,S as t,ar as i,aZ as c}from"./antd-Afm2kNt7.js";import{b as l,a as u,u as m,h as g,l as d}from"./index-BdfI9ZEv.js";import{w as x}from"./wechat-work-api-D6pynTWy.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const v=()=>{const[a]=l(),s=u(),{t:r}=m(),o=g({mutationFn:x.login,onSuccess:e=>{d(e.token),sessionStorage.removeItem("current"),sessionStorage.removeItem("openKeys"),s("/")},onError:e=>{console.error("WeChat Work login failed:",e),s(`/login?error=${e.message}`)},retry:!1});return n.useEffect(()=>{const e=a.get("code");a.get("state"),e?o.mutate(e):s("/login?error=wechat_work_cancelled")},[]),o.isPending?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx(i,{size:"large"}),t.jsx("div",{className:"mt-4 text-lg",children:r("account.login.processing")})]})}):o.isError?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsx(c,{status:"error",title:r("account.login.failed"),subTitle:r("account.login.wechat_work_error"),extra:[t.jsx("button",{className:"px-4 py-2 bg-blue-500 text-white rounded",onClick:()=>s("/login"),children:r("account.login.back_to_login")},"retry")]})}):null};export{v as default}; +import{f as n,S as t,ar as i,aZ as c}from"./antd-Afm2kNt7.js";import{b as l,a as u,u as m,h as g,l as d}from"./index-DQXwuKC5.js";import{w as x}from"./wechat-work-api-DdwWCsjx.js";import"./monaco-CA9D5Osg.js";import"./charts-DWBuA5Za.js";import"./xterm-Buno8AXJ.js";const v=()=>{const[a]=l(),s=u(),{t:r}=m(),o=g({mutationFn:x.login,onSuccess:e=>{d(e.token),sessionStorage.removeItem("current"),sessionStorage.removeItem("openKeys"),s("/")},onError:e=>{console.error("WeChat Work login failed:",e),s(`/login?error=${e.message}`)},retry:!1});return n.useEffect(()=>{const e=a.get("code");a.get("state"),e?o.mutate(e):s("/login?error=wechat_work_cancelled")},[]),o.isPending?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx(i,{size:"large"}),t.jsx("div",{className:"mt-4 text-lg",children:r("account.login.processing")})]})}):o.isError?t.jsx("div",{className:"h-screen w-screen flex items-center justify-center",children:t.jsx(c,{status:"error",title:r("account.login.failed"),subTitle:r("account.login.wechat_work_error"),extra:[t.jsx("button",{className:"px-4 py-2 bg-blue-500 text-white rounded",onClick:()=>s("/login"),children:r("account.login.back_to_login")},"retry")]})}):null};export{v as default}; diff --git a/server/resource/build/assets/access-log-api-lMBeavFW.js b/server/resource/build/assets/access-log-api-C2jjjGpZ.js similarity index 96% rename from server/resource/build/assets/access-log-api-lMBeavFW.js rename to server/resource/build/assets/access-log-api-C2jjjGpZ.js index fcec6b06e..bb995ac73 100644 --- a/server/resource/build/assets/access-log-api-lMBeavFW.js +++ b/server/resource/build/assets/access-log-api-C2jjjGpZ.js @@ -1 +1 @@ -var p=Object.defineProperty;var c=(n,i,t)=>i in n?p(n,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[i]=t;var e=(n,i,t)=>c(n,typeof i!="symbol"?i+"":i,t);import{A as g,r}from"./index-BdfI9ZEv.js";class u extends g{constructor(){super("admin/access-logs");e(this,"clear",async()=>{await r.post(`/${this.group}/clear`)});e(this,"getDomainStats",async(t=7)=>await r.get(`/${this.group}/domain-stats?days=${t}`));e(this,"getDailyStats",async(t=7)=>await r.get(`/${this.group}/daily-stats?days=${t}`));e(this,"getStatusCodeStats",async(t=7)=>await r.get(`/${this.group}/status-code-stats?days=${t}`));e(this,"getHourlyStats",async(t=7)=>await r.get(`/${this.group}/hourly-stats?days=${t}`));e(this,"getTotalStats",async(t=7)=>await r.get(`/${this.group}/total-stats?days=${t}`));e(this,"getWebsiteStats",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-stats?${a}`)});e(this,"getWebsiteTrafficTrend",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-traffic-trend?${a}`)});e(this,"getTopPages",async(t,s,a=10)=>{const o=new URLSearchParams({period:s,limit:a.toString()});return t&&o.append("websiteId",t),await r.get(`/${this.group}/top-pages?${o}`)});e(this,"getTopReferers",async(t,s,a=10)=>{const o=new URLSearchParams({period:s,limit:a.toString()});return t&&o.append("websiteId",t),await r.get(`/${this.group}/top-referers?${o}`)});e(this,"getRealtimeMetrics",async t=>{const s=new URLSearchParams;return t&&s.append("websiteId",t),await r.get(`/${this.group}/realtime-metrics?${s}`)});e(this,"getWebsiteHourlyStats",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-hourly-stats?${a}`)});e(this,"getWebsiteStatusCodeStats",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-status-code-stats?${a}`)})}}const m=new u;export{m as a}; +var p=Object.defineProperty;var c=(n,i,t)=>i in n?p(n,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[i]=t;var e=(n,i,t)=>c(n,typeof i!="symbol"?i+"":i,t);import{A as g,r}from"./index-DQXwuKC5.js";class u extends g{constructor(){super("admin/access-logs");e(this,"clear",async()=>{await r.post(`/${this.group}/clear`)});e(this,"getDomainStats",async(t=7)=>await r.get(`/${this.group}/domain-stats?days=${t}`));e(this,"getDailyStats",async(t=7)=>await r.get(`/${this.group}/daily-stats?days=${t}`));e(this,"getStatusCodeStats",async(t=7)=>await r.get(`/${this.group}/status-code-stats?days=${t}`));e(this,"getHourlyStats",async(t=7)=>await r.get(`/${this.group}/hourly-stats?days=${t}`));e(this,"getTotalStats",async(t=7)=>await r.get(`/${this.group}/total-stats?days=${t}`));e(this,"getWebsiteStats",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-stats?${a}`)});e(this,"getWebsiteTrafficTrend",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-traffic-trend?${a}`)});e(this,"getTopPages",async(t,s,a=10)=>{const o=new URLSearchParams({period:s,limit:a.toString()});return t&&o.append("websiteId",t),await r.get(`/${this.group}/top-pages?${o}`)});e(this,"getTopReferers",async(t,s,a=10)=>{const o=new URLSearchParams({period:s,limit:a.toString()});return t&&o.append("websiteId",t),await r.get(`/${this.group}/top-referers?${o}`)});e(this,"getRealtimeMetrics",async t=>{const s=new URLSearchParams;return t&&s.append("websiteId",t),await r.get(`/${this.group}/realtime-metrics?${s}`)});e(this,"getWebsiteHourlyStats",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-hourly-stats?${a}`)});e(this,"getWebsiteStatusCodeStats",async(t,s)=>{const a=new URLSearchParams({period:s});return t&&a.append("websiteId",t),await r.get(`/${this.group}/website-status-code-stats?${a}`)})}}const m=new u;export{m as a}; diff --git a/server/resource/build/assets/agent-gateway-api-C1FfOeZ1.js b/server/resource/build/assets/agent-gateway-api-C9ZaxlKW.js similarity index 91% rename from server/resource/build/assets/agent-gateway-api-C1FfOeZ1.js rename to server/resource/build/assets/agent-gateway-api-C9ZaxlKW.js index eff4c38d9..b8d6ceed4 100644 --- a/server/resource/build/assets/agent-gateway-api-C1FfOeZ1.js +++ b/server/resource/build/assets/agent-gateway-api-C9ZaxlKW.js @@ -1 +1 @@ -var i=Object.defineProperty;var n=(r,e,t)=>e in r?i(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>n(r,typeof e!="symbol"?e+"":e,t);import{A as o,r as s}from"./index-BdfI9ZEv.js";class g extends o{constructor(){super("admin/agent-gateways");a(this,"getRegisterParam",async()=>await s.get(`/${this.group}/get-register-param`));a(this,"setRegisterAddr",async t=>await s.post(`/${this.group}/set-register-addr?endpoint=${t}`));a(this,"getStat",async t=>await s.get(`/${this.group}/${t}/stat`));a(this,"updateSort",async t=>await s.post(`/${this.group}/sort`,t));a(this,"updateSortPosition",async t=>await s.post(`/${this.group}/sort`,t));a(this,"getVersion",async()=>await s.get("/agent/version"))}}let w=new g;export{w as a}; +var i=Object.defineProperty;var n=(r,e,t)=>e in r?i(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>n(r,typeof e!="symbol"?e+"":e,t);import{A as o,r as s}from"./index-DQXwuKC5.js";class g extends o{constructor(){super("admin/agent-gateways");a(this,"getRegisterParam",async()=>await s.get(`/${this.group}/get-register-param`));a(this,"setRegisterAddr",async t=>await s.post(`/${this.group}/set-register-addr?endpoint=${t}`));a(this,"getStat",async t=>await s.get(`/${this.group}/${t}/stat`));a(this,"updateSort",async t=>await s.post(`/${this.group}/sort`,t));a(this,"updateSortPosition",async t=>await s.post(`/${this.group}/sort`,t));a(this,"getVersion",async()=>await s.get("/agent/version"))}}let w=new g;export{w as a}; diff --git a/server/resource/build/assets/asset-api-CdGgZMNY.js b/server/resource/build/assets/asset-api-1abjsV5s.js similarity index 95% rename from server/resource/build/assets/asset-api-CdGgZMNY.js rename to server/resource/build/assets/asset-api-1abjsV5s.js index fcf003d18..9057b08c9 100644 --- a/server/resource/build/assets/asset-api-CdGgZMNY.js +++ b/server/resource/build/assets/asset-api-1abjsV5s.js @@ -1 +1 @@ -var o=Object.defineProperty;var i=(e,a,t)=>a in e?o(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var r=(e,a,t)=>i(e,typeof a!="symbol"?a+"":a,t);import{A as p,r as s}from"./index-BdfI9ZEv.js";class u extends p{constructor(){super("admin/assets");r(this,"checking",async t=>await s.post(`/${this.group}/checking`,t));r(this,"importAsset",async t=>{const n=new FormData;return n.append("file",t),await s.postForm(`/${this.group}/import`,n)});r(this,"changeOwner",async t=>await s.post(`/${this.group}/change-owner`,t));r(this,"changeGroup",async t=>await s.post(`/${this.group}/change-group`,t));r(this,"changeGateway",async t=>await s.post(`/${this.group}/change-gateway`,t));r(this,"getTags",async()=>await s.get(`/${this.group}/tags`));r(this,"getGroups",async()=>await s.get(`/${this.group}/groups`));r(this,"setGroups",async t=>await s.put(`/${this.group}/groups`,t));r(this,"deleteGroup",async t=>await s.delete(`/${this.group}/groups/${t}`));r(this,"getLogos",async()=>await s.get(`/${this.group}/logos`));r(this,"decrypt",async(t,n)=>await s.get(`/${this.group}/${t}/decrypted?securityToken=${n}`));r(this,"tree",async t=>(t||(t=""),await s.get(`/${this.group}/tree?protocol=${t}`)));r(this,"updateSortPosition",async t=>await s.post(`/${this.group}/sort`,t))}}const h=new u;export{h as a}; +var o=Object.defineProperty;var i=(e,a,t)=>a in e?o(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var r=(e,a,t)=>i(e,typeof a!="symbol"?a+"":a,t);import{A as p,r as s}from"./index-DQXwuKC5.js";class u extends p{constructor(){super("admin/assets");r(this,"checking",async t=>await s.post(`/${this.group}/checking`,t));r(this,"importAsset",async t=>{const n=new FormData;return n.append("file",t),await s.postForm(`/${this.group}/import`,n)});r(this,"changeOwner",async t=>await s.post(`/${this.group}/change-owner`,t));r(this,"changeGroup",async t=>await s.post(`/${this.group}/change-group`,t));r(this,"changeGateway",async t=>await s.post(`/${this.group}/change-gateway`,t));r(this,"getTags",async()=>await s.get(`/${this.group}/tags`));r(this,"getGroups",async()=>await s.get(`/${this.group}/groups`));r(this,"setGroups",async t=>await s.put(`/${this.group}/groups`,t));r(this,"deleteGroup",async t=>await s.delete(`/${this.group}/groups/${t}`));r(this,"getLogos",async()=>await s.get(`/${this.group}/logos`));r(this,"decrypt",async(t,n)=>await s.get(`/${this.group}/${t}/decrypted?securityToken=${n}`));r(this,"tree",async t=>(t||(t=""),await s.get(`/${this.group}/tree?protocol=${t}`)));r(this,"updateSortPosition",async t=>await s.post(`/${this.group}/sort`,t))}}const h=new u;export{h as a}; diff --git a/server/resource/build/assets/authorised-asset-api-CAfIRme-.js b/server/resource/build/assets/authorised-asset-api-DxGTPNvM.js similarity index 93% rename from server/resource/build/assets/authorised-asset-api-CAfIRme-.js rename to server/resource/build/assets/authorised-asset-api-DxGTPNvM.js index cc52c8db8..20e2eb206 100644 --- a/server/resource/build/assets/authorised-asset-api-CAfIRme-.js +++ b/server/resource/build/assets/authorised-asset-api-DxGTPNvM.js @@ -1 +1 @@ -var n=Object.defineProperty;var g=(r,t,a)=>t in r?n(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a;var s=(r,t,a)=>g(r,typeof t!="symbol"?t+"":t,a);import{q as i,r as e}from"./index-BdfI9ZEv.js";class d{constructor(){s(this,"group","admin/authorised-asset");s(this,"paging",async t=>{let a=i.stringify(t);return await e.get(`/${this.group}/paging?${a}`)});s(this,"authorisedAssets",async t=>await e.post(`/${this.group}/assets`,t));s(this,"authorisedUsers",async t=>await e.post(`/${this.group}/users`,t));s(this,"authorisedDepartments",async t=>await e.post(`/${this.group}/departments`,t));s(this,"selected",async(t,a,p,u)=>{let o=i.stringify({expect:t,userId:a,userGroupId:p,assetId:u});return await e.get(`/${this.group}/selected?${o}`)});s(this,"deleteById",async t=>{await e.delete(`/${this.group}/${t}`)});s(this,"getById",async t=>await e.get(`/${this.group}/${t}`));s(this,"update",async(t,a)=>{await e.put(`/${this.group}/${t}`,a)});s(this,"post",async t=>{await e.post(`/${this.group}`,t)})}}const c=new d;export{c as a}; +var n=Object.defineProperty;var g=(r,t,a)=>t in r?n(r,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[t]=a;var s=(r,t,a)=>g(r,typeof t!="symbol"?t+"":t,a);import{q as i,r as e}from"./index-DQXwuKC5.js";class d{constructor(){s(this,"group","admin/authorised-asset");s(this,"paging",async t=>{let a=i.stringify(t);return await e.get(`/${this.group}/paging?${a}`)});s(this,"authorisedAssets",async t=>await e.post(`/${this.group}/assets`,t));s(this,"authorisedUsers",async t=>await e.post(`/${this.group}/users`,t));s(this,"authorisedDepartments",async t=>await e.post(`/${this.group}/departments`,t));s(this,"selected",async(t,a,p,u)=>{let o=i.stringify({expect:t,userId:a,userGroupId:p,assetId:u});return await e.get(`/${this.group}/selected?${o}`)});s(this,"deleteById",async t=>{await e.delete(`/${this.group}/${t}`)});s(this,"getById",async t=>await e.get(`/${this.group}/${t}`));s(this,"update",async(t,a)=>{await e.put(`/${this.group}/${t}`,a)});s(this,"post",async t=>{await e.post(`/${this.group}`,t)})}}const c=new d;export{c as a}; diff --git a/server/resource/build/assets/authorised-database-asset-api-CrMo0xb4.js b/server/resource/build/assets/authorised-database-asset-api-u0MMVZQN.js similarity index 92% rename from server/resource/build/assets/authorised-database-asset-api-CrMo0xb4.js rename to server/resource/build/assets/authorised-database-asset-api-u0MMVZQN.js index d7b702bef..52dbd8bb1 100644 --- a/server/resource/build/assets/authorised-database-asset-api-CrMo0xb4.js +++ b/server/resource/build/assets/authorised-database-asset-api-u0MMVZQN.js @@ -1 +1 @@ -var g=Object.defineProperty;var u=(e,t,s)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var a=(e,t,s)=>u(e,typeof t!="symbol"?t+"":t,s);import{q as i,r}from"./index-BdfI9ZEv.js";class c{constructor(){a(this,"group","admin/authorised-database-assets");a(this,"paging",async t=>{const s=i.stringify(t);return await r.get(`/${this.group}/paging?${s}`)});a(this,"selected",async(t,s,p,n)=>{const o=i.stringify({expect:t,userId:s,departmentId:p,assetId:n});return await r.get(`/${this.group}/selected?${o}`)});a(this,"deleteById",async t=>{await r.delete(`/${this.group}/${t}`)});a(this,"getById",async t=>await r.get(`/${this.group}/${t}`));a(this,"update",async(t,s)=>{await r.put(`/${this.group}/${t}`,s)});a(this,"post",async t=>{await r.post(`/${this.group}`,t)})}}const y=new c;export{y as a}; +var g=Object.defineProperty;var u=(e,t,s)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var a=(e,t,s)=>u(e,typeof t!="symbol"?t+"":t,s);import{q as i,r}from"./index-DQXwuKC5.js";class c{constructor(){a(this,"group","admin/authorised-database-assets");a(this,"paging",async t=>{const s=i.stringify(t);return await r.get(`/${this.group}/paging?${s}`)});a(this,"selected",async(t,s,p,n)=>{const o=i.stringify({expect:t,userId:s,departmentId:p,assetId:n});return await r.get(`/${this.group}/selected?${o}`)});a(this,"deleteById",async t=>{await r.delete(`/${this.group}/${t}`)});a(this,"getById",async t=>await r.get(`/${this.group}/${t}`));a(this,"update",async(t,s)=>{await r.put(`/${this.group}/${t}`,s)});a(this,"post",async t=>{await r.post(`/${this.group}`,t)})}}const y=new c;export{y as a}; diff --git a/server/resource/build/assets/authorised-website-api-BRQ745lC.js b/server/resource/build/assets/authorised-website-api-DLMeAD6d.js similarity index 87% rename from server/resource/build/assets/authorised-website-api-BRQ745lC.js rename to server/resource/build/assets/authorised-website-api-DLMeAD6d.js index 33636ecca..73fabe6c5 100644 --- a/server/resource/build/assets/authorised-website-api-BRQ745lC.js +++ b/server/resource/build/assets/authorised-website-api-DLMeAD6d.js @@ -1 +1 @@ -var r=Object.defineProperty;var o=(e,t,i)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var s=(e,t,i)=>o(e,typeof t!="symbol"?t+"":t,i);import{r as a,q as n}from"./index-BdfI9ZEv.js";class u{constructor(){s(this,"group","admin/authorised-website");s(this,"paging",async t=>await a.get(`/${this.group}/paging?${n.stringify(t)}`));s(this,"deleteById",async t=>await a.delete(`/${this.group}/${t}`));s(this,"authorise",async t=>await a.post(`/${this.group}`,t))}}const d=new u;export{d as a}; +var r=Object.defineProperty;var o=(e,t,i)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var s=(e,t,i)=>o(e,typeof t!="symbol"?t+"":t,i);import{r as a,q as n}from"./index-DQXwuKC5.js";class u{constructor(){s(this,"group","admin/authorised-website");s(this,"paging",async t=>await a.get(`/${this.group}/paging?${n.stringify(t)}`));s(this,"deleteById",async t=>await a.delete(`/${this.group}/${t}`));s(this,"authorise",async t=>await a.post(`/${this.group}`,t))}}const d=new u;export{d as a}; diff --git a/server/resource/build/assets/certificate-api-Dxdo9Mos.js b/server/resource/build/assets/certificate-api-CCI2Z4Qf.js similarity index 88% rename from server/resource/build/assets/certificate-api-Dxdo9Mos.js rename to server/resource/build/assets/certificate-api-CCI2Z4Qf.js index beceb3a16..f2fa31f40 100644 --- a/server/resource/build/assets/certificate-api-Dxdo9Mos.js +++ b/server/resource/build/assets/certificate-api-CCI2Z4Qf.js @@ -1 +1 @@ -var i=Object.defineProperty;var n=(t,a,e)=>a in t?i(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e;var s=(t,a,e)=>n(t,typeof a!="symbol"?a+"":a,e);import{A as c,r,H as p,I as u,G as d}from"./index-BdfI9ZEv.js";class l extends c{constructor(){super("admin/certificates");s(this,"updateAsDefault",async e=>{await r.patch(`/${this.group}/${e}/default`)});s(this,"download",async(e,w)=>{let o=`${p()}/${this.group}/${e}/download?X-Auth-Token=${u()}`;d(o)});s(this,"renew",async e=>await r.post(`/${this.group}/${e}/renew`))}}let m=new l;export{m as c}; +var i=Object.defineProperty;var n=(t,a,e)=>a in t?i(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e;var s=(t,a,e)=>n(t,typeof a!="symbol"?a+"":a,e);import{A as c,r,H as p,I as u,G as d}from"./index-DQXwuKC5.js";class l extends c{constructor(){super("admin/certificates");s(this,"updateAsDefault",async e=>{await r.patch(`/${this.group}/${e}/default`)});s(this,"download",async(e,w)=>{let o=`${p()}/${this.group}/${e}/download?X-Auth-Token=${u()}`;d(o)});s(this,"renew",async e=>await r.post(`/${this.group}/${e}/renew`))}}let m=new l;export{m as c}; diff --git a/server/resource/build/assets/command-filter-api-DlKwuBlA.js b/server/resource/build/assets/command-filter-api-BxXGNaHY.js similarity index 85% rename from server/resource/build/assets/command-filter-api-DlKwuBlA.js rename to server/resource/build/assets/command-filter-api-BxXGNaHY.js index ba6c1a26e..535d93c03 100644 --- a/server/resource/build/assets/command-filter-api-DlKwuBlA.js +++ b/server/resource/build/assets/command-filter-api-BxXGNaHY.js @@ -1 +1 @@ -var r=Object.defineProperty;var e=(n,s,i)=>s in n?r(n,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[s]=i;var a=(n,s,i)=>e(n,typeof s!="symbol"?s+"":s,i);import{A as p,r as o}from"./index-BdfI9ZEv.js";class c extends p{constructor(){super("admin/command-filters");a(this,"Bind",async(i,t)=>{await o.post(`/${this.group}/${i}/bind`,t)});a(this,"Unbind",async(i,t)=>{await o.post(`/${this.group}/${i}/unbind`,t)})}}const u=new c;export{u as c}; +var r=Object.defineProperty;var e=(n,s,i)=>s in n?r(n,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[s]=i;var a=(n,s,i)=>e(n,typeof s!="symbol"?s+"":s,i);import{A as p,r as o}from"./index-DQXwuKC5.js";class c extends p{constructor(){super("admin/command-filters");a(this,"Bind",async(i,t)=>{await o.post(`/${this.group}/${i}/bind`,t)});a(this,"Unbind",async(i,t)=>{await o.post(`/${this.group}/${i}/unbind`,t)})}}const u=new c;export{u as c}; diff --git a/server/resource/build/assets/credential-api-Byw61SQu.js b/server/resource/build/assets/credential-api-DP_sN2cX.js similarity index 88% rename from server/resource/build/assets/credential-api-Byw61SQu.js rename to server/resource/build/assets/credential-api-DP_sN2cX.js index 676d2d4f2..938f36721 100644 --- a/server/resource/build/assets/credential-api-Byw61SQu.js +++ b/server/resource/build/assets/credential-api-DP_sN2cX.js @@ -1 +1 @@ -var n=Object.defineProperty;var c=(r,e,t)=>e in r?n(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>c(r,typeof e!="symbol"?e+"":e,t);import{A as p,r as i}from"./index-BdfI9ZEv.js";class u extends p{constructor(){super("admin/credentials");a(this,"genPrivateKey",async()=>await i.post(`/${this.group}/gen-private-key`));a(this,"getPublicKey",async t=>await i.get(`/${this.group}/${t}/public-key`));a(this,"decrypt",async(t,s)=>await i.get(`/${this.group}/${t}/decrypted?securityToken=${s}`))}}let d=new u;export{d as c}; +var n=Object.defineProperty;var c=(r,e,t)=>e in r?n(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>c(r,typeof e!="symbol"?e+"":e,t);import{A as p,r as i}from"./index-DQXwuKC5.js";class u extends p{constructor(){super("admin/credentials");a(this,"genPrivateKey",async()=>await i.post(`/${this.group}/gen-private-key`));a(this,"getPublicKey",async t=>await i.get(`/${this.group}/${t}/public-key`));a(this,"decrypt",async(t,s)=>await i.get(`/${this.group}/${t}/decrypted?securityToken=${s}`))}}let d=new u;export{d as c}; diff --git a/server/resource/build/assets/database-asset-api-CCmdFIKr.js b/server/resource/build/assets/database-asset-api-BQeUyDt2.js similarity index 88% rename from server/resource/build/assets/database-asset-api-CCmdFIKr.js rename to server/resource/build/assets/database-asset-api-BQeUyDt2.js index 8e4648f0a..4d5285886 100644 --- a/server/resource/build/assets/database-asset-api-CCmdFIKr.js +++ b/server/resource/build/assets/database-asset-api-BQeUyDt2.js @@ -1 +1 @@ -var c=Object.defineProperty;var p=(s,t,e)=>t in s?c(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var r=(s,t,e)=>p(s,typeof t!="symbol"?t+"":t,e);import{A as d,r as n}from"./index-BdfI9ZEv.js";class i extends d{constructor(){super("admin/database-assets");r(this,"decrypt",async(e,a)=>{const o=a?`?securityToken=${encodeURIComponent(a)}`:"";return await n.get(`/${this.group}/${e}/decrypted${o}`)});r(this,"getAll",async e=>{const a=e?`?type=${encodeURIComponent(e)}`:"";return await n.get(`/${this.group}${a}`)})}}const $=new i;export{$ as d}; +var c=Object.defineProperty;var p=(s,t,e)=>t in s?c(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var r=(s,t,e)=>p(s,typeof t!="symbol"?t+"":t,e);import{A as d,r as n}from"./index-DQXwuKC5.js";class i extends d{constructor(){super("admin/database-assets");r(this,"decrypt",async(e,a)=>{const o=a?`?securityToken=${encodeURIComponent(a)}`:"";return await n.get(`/${this.group}/${e}/decrypted${o}`)});r(this,"getAll",async e=>{const a=e?`?type=${encodeURIComponent(e)}`:"";return await n.get(`/${this.group}${a}`)})}}const $=new i;export{$ as d}; diff --git a/server/resource/build/assets/db-work-order-api-KPFccs1w.js b/server/resource/build/assets/db-work-order-api-Bt-h8Gzk.js similarity index 93% rename from server/resource/build/assets/db-work-order-api-KPFccs1w.js rename to server/resource/build/assets/db-work-order-api-Bt-h8Gzk.js index eed643ed0..edfb340c6 100644 --- a/server/resource/build/assets/db-work-order-api-KPFccs1w.js +++ b/server/resource/build/assets/db-work-order-api-Bt-h8Gzk.js @@ -1 +1 @@ -var o=Object.defineProperty;var p=(e,r,a)=>r in e?o(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a;var t=(e,r,a)=>p(e,typeof r!="symbol"?r+"":r,a);import{q as i,r as s}from"./index-BdfI9ZEv.js";class n{constructor(){t(this,"group","db-work-orders");t(this,"paging",async r=>{const a=i.stringify(r);return await s.get(`/${this.group}/paging?${a}`)});t(this,"getById",async r=>await s.get(`/${this.group}/${r}`));t(this,"create",async r=>await s.post(`/${this.group}`,r))}}class g{constructor(){t(this,"group","admin/db-work-orders");t(this,"paging",async r=>{const a=i.stringify(r);return await s.get(`/${this.group}/paging?${a}`)});t(this,"getById",async r=>await s.get(`/${this.group}/${r}`));t(this,"approve",async r=>{await s.post(`/${this.group}/${r}/approve`)});t(this,"reject",async(r,a)=>{await s.post(`/${this.group}/${r}/reject`,{reason:a})});t(this,"deleteById",async r=>{await s.delete(`/${this.group}/${r}`)})}}const u=new n,$=new g;export{u as a,$ as d}; +var o=Object.defineProperty;var p=(e,r,a)=>r in e?o(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a;var t=(e,r,a)=>p(e,typeof r!="symbol"?r+"":r,a);import{q as i,r as s}from"./index-DQXwuKC5.js";class n{constructor(){t(this,"group","db-work-orders");t(this,"paging",async r=>{const a=i.stringify(r);return await s.get(`/${this.group}/paging?${a}`)});t(this,"getById",async r=>await s.get(`/${this.group}/${r}`));t(this,"create",async r=>await s.post(`/${this.group}`,r))}}class g{constructor(){t(this,"group","admin/db-work-orders");t(this,"paging",async r=>{const a=i.stringify(r);return await s.get(`/${this.group}/paging?${a}`)});t(this,"getById",async r=>await s.get(`/${this.group}/${r}`));t(this,"approve",async r=>{await s.post(`/${this.group}/${r}/approve`)});t(this,"reject",async(r,a)=>{await s.post(`/${this.group}/${r}/reject`,{reason:a})});t(this,"deleteById",async r=>{await s.delete(`/${this.group}/${r}`)})}}const u=new n,$=new g;export{u as a,$ as d}; diff --git a/server/resource/build/assets/department-api-BBDEkNE1.js b/server/resource/build/assets/department-api-fa0GHZbt.js similarity index 89% rename from server/resource/build/assets/department-api-BBDEkNE1.js rename to server/resource/build/assets/department-api-fa0GHZbt.js index 095b2cd30..748f0bd07 100644 --- a/server/resource/build/assets/department-api-BBDEkNE1.js +++ b/server/resource/build/assets/department-api-fa0GHZbt.js @@ -1 +1 @@ -var n=Object.defineProperty;var o=(s,t,e)=>t in s?n(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var r=(s,t,e)=>o(s,typeof t!="symbol"?t+"":t,e);import{A as i,r as a}from"./index-BdfI9ZEv.js";class m extends i{constructor(){super("admin/departments");r(this,"getTree",async()=>await a.get(`/${this.group}/tree`));r(this,"getDepartmentUsers",async e=>await a.get(`/${this.group}/${e}/users`));r(this,"setDepartmentUsers",async(e,p)=>{await a.post(`/${this.group}/${e}/users`,p)});r(this,"removeUsersFromDepartment",async(e,p)=>{await a.post(`/${this.group}/${e}/remove-users`,{userIds:p})})}}let c=new m;export{c as d}; +var n=Object.defineProperty;var o=(s,t,e)=>t in s?n(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var r=(s,t,e)=>o(s,typeof t!="symbol"?t+"":t,e);import{A as i,r as a}from"./index-DQXwuKC5.js";class m extends i{constructor(){super("admin/departments");r(this,"getTree",async()=>await a.get(`/${this.group}/tree`));r(this,"getDepartmentUsers",async e=>await a.get(`/${this.group}/${e}/users`));r(this,"setDepartmentUsers",async(e,p)=>{await a.post(`/${this.group}/${e}/users`,p)});r(this,"removeUsersFromDepartment",async(e,p)=>{await a.post(`/${this.group}/${e}/remove-users`,{userIds:p})})}}let c=new m;export{c as d}; diff --git a/server/resource/build/assets/gateway-group-api-Ckni5YAK.js b/server/resource/build/assets/gateway-group-api-nxpckHkj.js similarity index 51% rename from server/resource/build/assets/gateway-group-api-Ckni5YAK.js rename to server/resource/build/assets/gateway-group-api-nxpckHkj.js index d8517b64b..2d56310b6 100644 --- a/server/resource/build/assets/gateway-group-api-Ckni5YAK.js +++ b/server/resource/build/assets/gateway-group-api-nxpckHkj.js @@ -1 +1 @@ -import{A as a}from"./index-BdfI9ZEv.js";class o extends a{constructor(){super("admin/gateway-groups")}}const s=new o;export{s as g}; +import{A as a}from"./index-DQXwuKC5.js";class o extends a{constructor(){super("admin/gateway-groups")}}const s=new o;export{s as g}; diff --git a/server/resource/build/assets/index-BdfI9ZEv.js b/server/resource/build/assets/index-DQXwuKC5.js similarity index 99% rename from server/resource/build/assets/index-BdfI9ZEv.js rename to server/resource/build/assets/index-DQXwuKC5.js index 5a3b139a9..d5d1b71e5 100644 --- a/server/resource/build/assets/index-BdfI9ZEv.js +++ b/server/resource/build/assets/index-DQXwuKC5.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-CA9D5Osg.js","assets/antd-Afm2kNt7.js","assets/monaco-D4lxmsqF.css","assets/AuthorisedAssetPage-Bnh0QZ4Y.js","assets/authorised-asset-api-CAfIRme-.js","assets/QuerySelects-DHrAMegb.js","assets/user-api-LAxz6xgj.js","assets/department-api-BBDEkNE1.js","assets/asset-api-CdGgZMNY.js","assets/website-api-rU4LiJu6.js","assets/database-asset-api-CCmdFIKr.js","assets/NButton-DoPcvKBF.js","assets/NLink-BW2w3qR4.js","assets/charts-DWBuA5Za.js","assets/xterm-Buno8AXJ.js","assets/AuthorisedWebsitePage-O4HuiOP6.js","assets/authorised-website-api-BRQ745lC.js","assets/AuthorisedAssetPost-BFbI-Qae.js","assets/command-filter-api-DlKwuBlA.js","assets/strategy-api-D3jzAEr4.js","assets/AuthorisedWebsitePost-CkpOhlat.js","assets/LoginPage-EZSuVsun.js","assets/wechat-work-api-D6pynTWy.js","assets/oidc-api-BsaBtN-M.js","assets/sun-B74I0IGS.js","assets/WechatWorkCallback-uR2Gy8LY.js","assets/OidcCallback-Ceurjycx.js","assets/OidcServerConsent-Cp7AAUPq.js","assets/MobileAccessTerminal-DTIA7YRO.js","assets/UserPage-_qXT4zeH.js","assets/sort-BOdE-yay.js","assets/role-api-BtBYGwtw.js","assets/UserDetailPage-COUllrPm.js","assets/login-policy-api-FsKg9lSA.js","assets/times-BW3mBaPj.js","assets/SettingPage-naIEfwq6.js","assets/upload-D2Oc5RCX.js","assets/InfoPage-C1KU0N5z.js","assets/DepartmentPage-SejOk8c8.js","assets/DepartmentDetail-Be35ReAG.js","assets/RolePage-C6MaXYBm.js","assets/RoleDetail-BVoN2R-V.js","assets/LoginLockedPage-BfP3eKHk.js","assets/LoginPolicyPage-CQKYlGgn.js","assets/LoginPolicyPostPage-Ds4eWRMf.js","assets/LoginPolicyPostPage-BQyj14Fs.css","assets/LoginPolicyDetailPage-C-1zj9bm.js","assets/OidcClientPage-DILLx2b5.js","assets/AssetPage-CInWNumO.js","assets/AssetGatewayChoose-DPYRzxwL.js","assets/agent-gateway-api-C1FfOeZ1.js","assets/ssh-gateway-api-CfWrAhC0.js","assets/gateway-group-api-Ckni5YAK.js","assets/credential-api-Byw61SQu.js","assets/storage-api-BOyaRg9s.js","assets/DatabaseAssetPage-BerFFisj.js","assets/CredentialPage-C35A_WzA.js","assets/CertificatePage-S9M5FoJH.js","assets/certificate-api-Dxdo9Mos.js","assets/SnippetPage-DmR5nBrh.js","assets/StrategyPage-DFdP-6KB.js","assets/CommandFilterPage-b_7r890m.js","assets/CommandFilterDetail-DF5yiZYa.js","assets/AuthorisedDatabaseAssetPage-D8lUCC84.js","assets/authorised-database-asset-api-CrMo0xb4.js","assets/AuthorisedDatabaseAssetPost-DCLaLxbv.js","assets/ScheduledTaskPage-CpGHrjAP.js","assets/server-BXUeOkFL.js","assets/ToolsPage-l87ZTNOl.js","assets/LoginLogPage-BLK1mfnq.js","assets/OperationLogPage-7stIEQaB.js","assets/OfflineSessionPage-BQbWlNuQ.js","assets/session-api-CdVNYxgO.js","assets/OnlineSessionPage-C4HtKXE7.js","assets/TerminalPlayback-CslH5VTi.js","assets/TerminalPlayback-C0uHH8VC.css","assets/TerminalMonitor-BuiLfLXh.js","assets/GuacdPlayback-CXTxl9WE.js","assets/GuacdPlayback-DQHtnea3.css","assets/GuacdMonitor-BFjzb-EC.js","assets/FileSystemLogPage-By5AW-Bn.js","assets/AccessLogPage-rqId-oaG.js","assets/access-log-api-lMBeavFW.js","assets/AccessLogStatsPage-BdoEC7iY.js","assets/users-C-UbsH1o.js","assets/network-B7NfTit9.js","assets/DatabaseSQLLogPage-C0VvLLEG.js","assets/SshGatewayPage-hPMUXSQN.js","assets/AgentGatewayPage-CkGwNps2.js","assets/GatewayGroupPage-lhyUsn9i.js","assets/ErrorPage-WplkeDbT.js","assets/StoragePage-JPUhNoV1.js","assets/WebsitePage-BQsgC7sM.js","assets/BrowserPage-xofuPwAx.js","assets/BrowserPage-C3yUGLF0.css","assets/AssetFacadePage-Cidq4AsP.js","assets/FacadeCardSkeleton-DuF-8KBE.js","assets/FacadeSearchBar-sDOAHksR.js","assets/WebsiteFacadePage-Bpy51VlF.js","assets/RedirectPage-xjIE-7In.js","assets/UserLayout-C7K-gfNi.js","assets/DashboardPage-CPKeLQvq.js","assets/UserInfoPage-C5YwCFfO.js","assets/SnippetUserPage-DYKwTzpZ.js","assets/DatabaseAssetFacadePage-Dn2DFVr8.js","assets/SystemMonitorPage-DWtzWPw3.js","assets/SetupPage-CTGu1LkD.js","assets/DatabaseWorkOrderPage-B_VFfBxr.js","assets/db-work-order-api-KPFccs1w.js","assets/DatabaseWorkOrderUserPage-DFD-a3Te.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-CA9D5Osg.js","assets/antd-Afm2kNt7.js","assets/monaco-D4lxmsqF.css","assets/AuthorisedAssetPage-BX2rNWSk.js","assets/authorised-asset-api-DxGTPNvM.js","assets/QuerySelects-HiP3pg4d.js","assets/user-api-BJxKseSg.js","assets/department-api-fa0GHZbt.js","assets/asset-api-1abjsV5s.js","assets/website-api-CiGWjL7L.js","assets/database-asset-api-BQeUyDt2.js","assets/NButton-DoPcvKBF.js","assets/NLink-Dl2yFaN4.js","assets/charts-DWBuA5Za.js","assets/xterm-Buno8AXJ.js","assets/AuthorisedWebsitePage-C91itGU-.js","assets/authorised-website-api-DLMeAD6d.js","assets/AuthorisedAssetPost-vCyEAP3r.js","assets/command-filter-api-BxXGNaHY.js","assets/strategy-api-z9cMxeja.js","assets/AuthorisedWebsitePost-COc7i5eT.js","assets/LoginPage-aub4Iv9y.js","assets/wechat-work-api-DdwWCsjx.js","assets/oidc-api-DdlmoOii.js","assets/sun-7WZ3UW9g.js","assets/WechatWorkCallback-BTjIgIlC.js","assets/OidcCallback-qbNXTZur.js","assets/OidcServerConsent-zcgmhrgY.js","assets/MobileAccessTerminal-DNKK6b04.js","assets/UserPage-hpsga5IM.js","assets/sort-BOdE-yay.js","assets/role-api-RbYCFKw-.js","assets/UserDetailPage-CxWs4t4Q.js","assets/login-policy-api-BlI40YsB.js","assets/times-CQ9ir0Jv.js","assets/SettingPage-DxlkP9BT.js","assets/upload-D4kD-YfJ.js","assets/InfoPage--AJ8mxff.js","assets/DepartmentPage-CRl-pRy6.js","assets/DepartmentDetail-ByJ-vndZ.js","assets/RolePage-DqozdEe0.js","assets/RoleDetail-B5ZhMtSV.js","assets/LoginLockedPage-DZnpSndD.js","assets/LoginPolicyPage-D8II9jNz.js","assets/LoginPolicyPostPage--Tauq4PS.js","assets/LoginPolicyPostPage-BQyj14Fs.css","assets/LoginPolicyDetailPage-C0FoOMds.js","assets/OidcClientPage-DeSDpT3L.js","assets/AssetPage-BJD5muIt.js","assets/AssetGatewayChoose-4vUjpk3C.js","assets/agent-gateway-api-C9ZaxlKW.js","assets/ssh-gateway-api-D4569Eil.js","assets/gateway-group-api-nxpckHkj.js","assets/credential-api-DP_sN2cX.js","assets/storage-api-CDrFMJhC.js","assets/DatabaseAssetPage-C5z0KjFF.js","assets/CredentialPage-Die5iQYX.js","assets/CertificatePage-B2tj9A2w.js","assets/certificate-api-CCI2Z4Qf.js","assets/SnippetPage-Bp2O5-JS.js","assets/StrategyPage-58Xo8e61.js","assets/CommandFilterPage-DaXaMByx.js","assets/CommandFilterDetail-BeaIU-md.js","assets/AuthorisedDatabaseAssetPage-CQMQnnFB.js","assets/authorised-database-asset-api-u0MMVZQN.js","assets/AuthorisedDatabaseAssetPost-BrzKzr0W.js","assets/ScheduledTaskPage-CQSqn-EP.js","assets/server-DnjIV_zW.js","assets/ToolsPage-DPPxYsiI.js","assets/LoginLogPage-wdWF965f.js","assets/OperationLogPage-BlAhFenm.js","assets/OfflineSessionPage-D1UBBI15.js","assets/session-api-mmDQqQeA.js","assets/OnlineSessionPage-zbyIKEoo.js","assets/TerminalPlayback-CwU1DI7U.js","assets/TerminalPlayback-C0uHH8VC.css","assets/TerminalMonitor-BGHFY2w9.js","assets/GuacdPlayback-CFtamDo9.js","assets/GuacdPlayback-DQHtnea3.css","assets/GuacdMonitor-BuR0ODFT.js","assets/FileSystemLogPage-q2mkisVQ.js","assets/AccessLogPage-BMkEOqMJ.js","assets/access-log-api-C2jjjGpZ.js","assets/AccessLogStatsPage-CXrZAL2E.js","assets/users-Bfyvg_N3.js","assets/network-Bw9HyUcr.js","assets/DatabaseSQLLogPage-D3ObzhHj.js","assets/SshGatewayPage-C_iCWAPs.js","assets/AgentGatewayPage-DEPMQmCG.js","assets/GatewayGroupPage-Bz3t4FqF.js","assets/ErrorPage-BYi3namZ.js","assets/StoragePage-DS0_Tdim.js","assets/WebsitePage-BFwEoyOi.js","assets/BrowserPage-B9fb62o-.js","assets/BrowserPage-C3yUGLF0.css","assets/AssetFacadePage-CCyTP6F2.js","assets/FacadeCardSkeleton-N6rktkuw.js","assets/FacadeSearchBar-DPZw3dye.js","assets/WebsiteFacadePage-CqAliO-B.js","assets/RedirectPage-BghypuSI.js","assets/UserLayout-M9_Sh7Dn.js","assets/DashboardPage-Im-9FWfr.js","assets/UserInfoPage-DrNAhF9r.js","assets/SnippetUserPage-DbddvRmb.js","assets/DatabaseAssetFacadePage-a0QWLTVr.js","assets/SystemMonitorPage-Lnutq0Ew.js","assets/SetupPage-DriicTxX.js","assets/DatabaseWorkOrderPage-Caoq0Mdz.js","assets/db-work-order-api-Bt-h8Gzk.js","assets/DatabaseWorkOrderUserPage-B2ycCPZM.js"])))=>i.map(i=>d[i]); var wb=Object.defineProperty;var iu=t=>{throw TypeError(t)};var xb=(t,e,r)=>e in t?wb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ie=(t,e,r)=>xb(t,typeof e!="symbol"?e+"":e,r),ro=(t,e,r)=>e.has(t)||iu("Cannot "+r);var $=(t,e,r)=>(ro(t,e,"read from private field"),r?r.call(t):e.get(t)),Re=(t,e,r)=>e.has(t)?iu("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ue=(t,e,r,n)=>(ro(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Ne=(t,e,r)=>(ro(t,e,"access private method"),r);var Vs=(t,e,r,n)=>({set _(a){ue(t,e,a,r)},get _(){return $(t,e,n)}});import{N as kb,g as va,f as h,O as Wh,P as qh,Q as Sb,S as u,R as qt,T as Li,U as sr,V as Cb,W as ou,X as lu,Y as Eb,Z as cu,_ as Rb,$ as no,a0 as Fb,a1 as Pb,a2 as Ab,a3 as uu,a4 as du,a5 as Tb,a6 as Db,a7 as Ib,a8 as Lb,a9 as Ob,aa as Mb,ab as Nb,ac as jb,ad as Bb,ae as $b,af as Hh,ag as zb,ah as Ub,ai as Wb,aj as qb,ak as Hb,al as Gb,am as Vb,an as fu,ao as Kb,ap as Yb,aq as Qb,ar as Ls,as as Gh,at as Vh,au as bs,av as Ke,aw as Jb,ax as Xb,ay as Zb,az as ey,aA as ty,aB as ry,aC as Oi,aD as ny,aE as At,aF as Mi,aG as Kh,aH as dc,aI as ln,aJ as hu,aK as Os,aL as pu,aM as ay,aN as ao,aO as Nn,aP as Yh,aQ as sy,aR as gu,aS as iy,aT as ys,aU as oy,aV as ly,aW as cy,aX as uy,aY as dy,aZ as mu,a_ as bn,a$ as fc,b0 as so,b1 as fy,b2 as it,b3 as hy,b4 as Qh,b5 as py,b6 as gy,b7 as my,b8 as by,b9 as yy,ba as _y,bb as vy,bc as Jh,bd as _s,be as mr,bf as Xh,bg as Zh,bh as ep,bi as Un,bj as wy,bk as io,bl as xy,bm as ky,bn as Sy,bo as Cy,bp as bu,bq as mn,br as tp,bs as oo,bt as Ey,bu as Ry,bv as Fy,bw as Py,bx as Ay,by as Ty}from"./antd-Afm2kNt7.js";import{_ as pe}from"./monaco-CA9D5Osg.js";import{c as Wt,R as Dy,T as Iy,L as Ly,P as Oy,a as My}from"./charts-DWBuA5Za.js";import{r as Ny,a as jy,b as By,c as $y,d as zy}from"./xterm-Buno8AXJ.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(a){if(a.ep)return;a.ep=!0;const s=r(a);fetch(a.href,s)}})();var Ks={},yu;function Uy(){if(yu)return Ks;yu=1;var t=kb();return Ks.createRoot=t.createRoot,Ks.hydrateRoot=t.hydrateRoot,Ks}var Wy=Uy();const qy=va(Wy);var rp=t=>{throw TypeError(t)},Hy=(t,e,r)=>e.has(t)||rp("Cannot "+r),lo=(t,e,r)=>(Hy(t,e,"read from private field"),r?r.call(t):e.get(t)),Gy=(t,e,r)=>e.has(t)?rp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),_u="popstate";function vu(t){return typeof t=="object"&&t!=null&&"pathname"in t&&"search"in t&&"hash"in t&&"state"in t&&"key"in t}function Vy(t={}){function e(n,a){let s=a.state?.masked,{pathname:i,search:o,hash:l}=s||n.location;return vs("",{pathname:i,search:o,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default",s?{pathname:n.location.pathname,search:n.location.search,hash:n.location.hash}:void 0)}function r(n,a){return typeof a=="string"?a:kr(a)}return Yy(e,r,null,t)}function $e(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function ft(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function Ky(){return Math.random().toString(36).substring(2,10)}function wu(t,e){return{usr:t.state,key:t.key,idx:e,masked:t.unstable_mask?{pathname:t.pathname,search:t.search,hash:t.hash}:void 0}}function vs(t,e,r=null,n,a){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?Sr(e):e,state:r,key:e&&e.key||n||Ky(),unstable_mask:a}}function kr({pathname:t="/",search:e="",hash:r=""}){return e&&e!=="?"&&(t+=e.charAt(0)==="?"?e:"?"+e),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Sr(t){let e={};if(t){let r=t.indexOf("#");r>=0&&(e.hash=t.substring(r),t=t.substring(0,r));let n=t.indexOf("?");n>=0&&(e.search=t.substring(n),t=t.substring(0,n)),t&&(e.pathname=t)}return e}function Yy(t,e,r,n={}){let{window:a=document.defaultView,v5Compat:s=!1}=n,i=a.history,o="POP",l=null,c=f();c==null&&(c=0,i.replaceState({...i.state,idx:c},""));function f(){return(i.state||{idx:null}).idx}function d(){o="POP";let b=f(),w=b==null?null:b-c;c=b,l&&l({action:o,location:y.location,delta:w})}function p(b,w){o="PUSH";let _=vu(b)?b:vs(y.location,b,w);c=f()+1;let v=wu(_,c),F=y.createHref(_.unstable_mask||_);try{i.pushState(v,"",F)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;a.location.assign(F)}s&&l&&l({action:o,location:y.location,delta:1})}function g(b,w){o="REPLACE";let _=vu(b)?b:vs(y.location,b,w);c=f();let v=wu(_,c),F=y.createHref(_.unstable_mask||_);i.replaceState(v,"",F),s&&l&&l({action:o,location:y.location,delta:0})}function m(b){return np(b)}let y={get action(){return o},get location(){return t(a,i)},listen(b){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(_u,d),l=b,()=>{a.removeEventListener(_u,d),l=null}},createHref(b){return e(a,b)},createURL:m,encodeLocation(b){let w=m(b);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:p,replace:g,go(b){return i.go(b)}};return y}function np(t,e=!1){let r="http://localhost";typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),$e(r,"No window.location.(origin|href) available to create URL");let n=typeof t=="string"?t:kr(t);return n=n.replace(/ $/,"%20"),!e&&n.startsWith("//")&&(n=r+n),new URL(n,r)}var is,xu=class{constructor(t){if(Gy(this,is,new Map),t)for(let[e,r]of t)this.set(e,r)}get(t){if(lo(this,is).has(t))return lo(this,is).get(t);if(t.defaultValue!==void 0)return t.defaultValue;throw new Error("No value found for context")}set(t,e){lo(this,is).set(t,e)}};is=new WeakMap;var Qy=new Set(["lazy","caseSensitive","path","id","index","children"]);function Jy(t){return Qy.has(t)}var Xy=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function Zy(t){return Xy.has(t)}function e_(t){return t.index===!0}function ws(t,e,r=[],n={},a=!1){return t.map((s,i)=>{let o=[...r,String(i)],l=typeof s.id=="string"?s.id:o.join("-");if($e(s.index!==!0||!s.children,"Cannot specify children on an index route"),$e(a||!n[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),e_(s)){let c={...s,id:l};return n[l]=ku(c,e(c)),c}else{let c={...s,id:l,children:void 0};return n[l]=ku(c,e(c)),s.children&&(c.children=ws(s.children,e,o,n,a)),c}})}function ku(t,e){return Object.assign(t,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...t.lazy,...e.lazy}}:{}})}function Gr(t,e,r="/"){return os(t,e,r,!1)}function os(t,e,r,n){let a=typeof e=="string"?Sr(e):e,s=ir(a.pathname||"/",r);if(s==null)return null;let i=ap(t);r_(i);let o=null;for(let l=0;o==null&&l{let f={relativePath:c===void 0?i.path||"":c,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(n)&&l)return;$e(f.relativePath.startsWith(n),`Absolute route path "${f.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(n.length)}let d=ar([n,f.relativePath]),p=r.concat(f);i.children&&i.children.length>0&&($e(i.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),ap(i.children,e,p,d,l)),!(i.path==null&&!i.index)&&e.push({path:d,score:c_(d,i.index),routesMeta:p})};return t.forEach((i,o)=>{if(i.path===""||!i.path?.includes("?"))s(i,o);else for(let l of sp(i.path))s(i,o,!0,l)}),e}function sp(t){let e=t.split("/");if(e.length===0)return[];let[r,...n]=e,a=r.endsWith("?"),s=r.replace(/\?$/,"");if(n.length===0)return a?[s,""]:[s];let i=sp(n.join("/")),o=[];return o.push(...i.map(l=>l===""?s:[s,l].join("/"))),a&&o.push(...i),o.map(l=>t.startsWith("/")&&l===""?"/":l)}function r_(t){t.sort((e,r)=>e.score!==r.score?r.score-e.score:u_(e.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var n_=/^:[\w-]+$/,a_=3,s_=2,i_=1,o_=10,l_=-2,Su=t=>t==="*";function c_(t,e){let r=t.split("/"),n=r.length;return r.some(Su)&&(n+=l_),e&&(n+=s_),r.filter(a=>!Su(a)).reduce((a,s)=>a+(n_.test(s)?a_:s===""?i_:o_),n)}function u_(t,e){return t.length===e.length&&t.slice(0,-1).every((n,a)=>n===e[a])?t[t.length-1]-e[e.length-1]:0}function d_(t,e,r=!1){let{routesMeta:n}=t,a={},s="/",i=[];for(let o=0;o{if(f==="*"){let m=o[p]||"";i=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const g=o[p];return d&&!g?c[f]=void 0:c[f]=(g||"").replace(/%2F/g,"/"),c},{}),pathname:s,pathnameBase:i,pattern:t}}function f_(t,e=!1,r=!0){ft(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let n=[],a="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,o,l,c,f)=>{if(n.push({paramName:o,isOptional:l!=null}),l){let d=f.charAt(c+i.length);return d&&d!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(n.push({paramName:"*"}),a+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":t!==""&&t!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,e?void 0:"i"),n]}function h_(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return ft(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),t}}function ir(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let r=e.endsWith("/")?e.length-1:e.length,n=t.charAt(r);return n&&n!=="/"?null:t.slice(r)||"/"}function p_({basename:t,pathname:e}){return e==="/"?t:ar([t,e])}var ip=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hc=t=>ip.test(t);function g_(t,e="/"){let{pathname:r,search:n="",hash:a=""}=typeof t=="string"?Sr(t):t,s;return r?(r=gc(r),r.startsWith("/")?s=Cu(r.substring(1),"/"):s=Cu(r,e)):s=e,{pathname:s,search:b_(n),hash:y_(a)}}function Cu(t,e){let r=gi(e).split("/");return t.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function co(t,e,r,n){return`Cannot include a '${t}' character in a manually specified \`to.${e}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function op(t){return t.filter((e,r)=>r===0||e.route.path&&e.route.path.length>0)}function pc(t){let e=op(t);return e.map((r,n)=>n===e.length-1?r.pathname:r.pathnameBase)}function Ni(t,e,r,n=!1){let a;typeof t=="string"?a=Sr(t):(a={...t},$e(!a.pathname||!a.pathname.includes("?"),co("?","pathname","search",a)),$e(!a.pathname||!a.pathname.includes("#"),co("#","pathname","hash",a)),$e(!a.search||!a.search.includes("#"),co("#","search","hash",a)));let s=t===""||a.pathname==="",i=s?"/":a.pathname,o;if(i==null)o=r;else{let d=e.length-1;if(!n&&i.startsWith("..")){let p=i.split("/");for(;p[0]==="..";)p.shift(),d-=1;a.pathname=p.join("/")}o=d>=0?e[d]:"/"}let l=g_(a,o),c=i&&i!=="/"&&i.endsWith("/"),f=(s||i===".")&&r.endsWith("/");return!l.pathname.endsWith("/")&&(c||f)&&(l.pathname+="/"),l}var gc=t=>t.replace(/\/\/+/g,"/"),ar=t=>gc(t.join("/")),gi=t=>t.replace(/\/+$/,""),m_=t=>gi(t).replace(/^\/*/,"/"),b_=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,y_=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,Ms=class{constructor(t,e,r,n=!1){this.status=t,this.statusText=e||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function xs(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function Ns(t){let e=t.map(r=>r.route.path).filter(Boolean);return ar(e)||"/"}var lp=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function cp(t,e){let r=t;if(typeof r!="string"||!ip.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,a=!1;if(lp)try{let s=new URL(window.location.href),i=r.startsWith("//")?new URL(s.protocol+r):new URL(r),o=ir(i.pathname,e);i.origin===s.origin&&o!=null?r=o+i.search+i.hash:a=!0}catch{ft(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:a,to:r}}var sn=Symbol("Uninstrumented");function __(t,e){let r={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};t.forEach(a=>a({id:e.id,index:e.index,path:e.path,instrument(s){let i=Object.keys(r);for(let o of i)s[o]&&r[o].push(s[o])}}));let n={};if(typeof e.lazy=="function"&&r.lazy.length>0){let a=Qn(r.lazy,e.lazy,()=>{});a&&(n.lazy=a)}if(typeof e.lazy=="object"){let a=e.lazy;["middleware","loader","action"].forEach(s=>{let i=a[s],o=r[`lazy.${s}`];if(typeof i=="function"&&o.length>0){let l=Qn(o,i,()=>{});l&&(n.lazy=Object.assign(n.lazy||{},{[s]:l}))}})}return["loader","action"].forEach(a=>{let s=e[a];if(typeof s=="function"&&r[a].length>0){let i=s[sn]??s,o=Qn(r[a],i,(...l)=>Eu(l[0]));o&&(a==="loader"&&i.hydrate===!0&&(o.hydrate=!0),o[sn]=i,n[a]=o)}}),e.middleware&&e.middleware.length>0&&r.middleware.length>0&&(n.middleware=e.middleware.map(a=>{let s=a[sn]??a,i=Qn(r.middleware,s,(...o)=>Eu(o[0]));return i?(i[sn]=s,i):a})),n}function v_(t,e){let r={navigate:[],fetch:[]};if(e.forEach(n=>n({instrument(a){let s=Object.keys(a);for(let i of s)a[i]&&r[i].push(a[i])}})),r.navigate.length>0){let n=t.navigate[sn]??t.navigate,a=Qn(r.navigate,n,(...s)=>{let[i,o]=s;return{to:typeof i=="number"||typeof i=="string"?i:i?kr(i):".",...Ru(t,o??{})}});a&&(a[sn]=n,t.navigate=a)}if(r.fetch.length>0){let n=t.fetch[sn]??t.fetch,a=Qn(r.fetch,n,(...s)=>{let[i,,o,l]=s;return{href:o??".",fetcherKey:i,...Ru(t,l??{})}});a&&(a[sn]=n,t.fetch=a)}return t}function Qn(t,e,r){return t.length===0?null:async(...n)=>{let a=await up(t,r(...n),()=>e(...n),t.length-1);if(a.type==="error")throw a.value;return a.value}}async function up(t,e,r,n){let a=t[n],s;if(a){let i,o=async()=>(i?console.error("You cannot call instrumented handlers more than once"):i=up(t,e,r,n-1),s=await i,$e(s,"Expected a result"),s.type==="error"&&s.value instanceof Error?{status:"error",error:s.value}:{status:"success",error:void 0});try{await a(o,e)}catch(l){console.error("An instrumentation function threw an error:",l)}i||await o(),await i}else try{s={type:"success",value:await r()}}catch(i){s={type:"error",value:i}}return s||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Eu(t){let{request:e,context:r,params:n,unstable_pattern:a}=t;return{request:w_(e),params:{...n},unstable_pattern:a,context:x_(r)}}function Ru(t,e){return{currentUrl:kr(t.state.location),..."formMethod"in e?{formMethod:e.formMethod}:{},..."formEncType"in e?{formEncType:e.formEncType}:{},..."formData"in e?{formData:e.formData}:{},..."body"in e?{body:e.body}:{}}}function w_(t){return{method:t.method,url:t.url,headers:{get:(...e)=>t.headers.get(...e)}}}function x_(t){if(S_(t)){let e={...t};return Object.freeze(e),e}else return{get:e=>t.get(e)}}var k_=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function S_(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||e===null||Object.getOwnPropertyNames(e).sort().join("\0")===k_}var dp=["POST","PUT","PATCH","DELETE"],C_=new Set(dp),E_=["GET",...dp],R_=new Set(E_),fp=new Set([301,302,303,307,308]),F_=new Set([307,308]),uo={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},P_={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ra={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},A_=t=>({hasErrorBoundary:!!t.hasErrorBoundary}),hp="remix-router-transitions",pp=Symbol("ResetLoaderData");function T_(t){const e=t.window?t.window:typeof window<"u"?window:void 0,r=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u";$e(t.routes.length>0,"You must provide a non-empty routes array to createRouter");let n=t.hydrationRouteProperties||[],a=t.mapRouteProperties||A_,s=a;if(t.unstable_instrumentations){let N=t.unstable_instrumentations;s=q=>({...a(q),...__(N.map(K=>K.route).filter(Boolean),q)})}let i={},o=ws(t.routes,s,void 0,i),l,c=t.basename||"/";c.startsWith("/")||(c=`/${c}`);let f=t.dataStrategy||M_,d={unstable_passThroughRequests:!1,...t.future},p=null,g=new Set,m=null,y=null,b=null,w=t.hydrationData!=null,_=Gr(o,t.history.location,c),v=!1,F=null,P,R;if(_==null&&!t.patchRoutesOnNavigation){let N=rr(404,{pathname:t.history.location.pathname}),{matches:q,route:K}=Ys(o);P=!0,R=!P,_=q,F={[K.id]:N}}else if(_&&!t.hydrationData&&Ue(_,o,t.history.location.pathname).active&&(_=null),_)if(_.some(N=>N.route.lazy))P=!1,R=!P;else if(!_.some(N=>mc(N.route)))P=!0,R=!P;else{let N=t.hydrationData?t.hydrationData.loaderData:null,q=t.hydrationData?t.hydrationData.errors:null,K=_;if(q){let te=_.findIndex(se=>q[se.route.id]!==void 0);K=K.slice(0,te+1)}R=!1,P=!0,K.forEach(te=>{let se=gp(te.route,N,q);R=R||se.renderFallback,P=P&&!se.shouldLoad})}else{P=!1,R=!P,_=[];let N=Ue(null,o,t.history.location.pathname);N.active&&N.matches&&(v=!0,_=N.matches)}let E,x={historyAction:t.history.action,location:t.history.location,matches:_,initialized:P,renderFallback:R,navigation:uo,restoreScrollPosition:t.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:t.hydrationData&&t.hydrationData.loaderData||{},actionData:t.hydrationData&&t.hydrationData.actionData||null,errors:t.hydrationData&&t.hydrationData.errors||F,fetchers:new Map,blockers:new Map},A="POP",I=null,k=!1,S,T=!1,L=new Map,D=null,z=!1,Y=!1,j=new Set,O=new Map,B=0,Z=-1,oe=new Map,V=new Set,G=new Map,Q=new Map,H=new Set,J=new Map,ne,re=null;function ce(){if(p=t.history.listen(({action:N,location:q,delta:K})=>{if(ne){ne(),ne=void 0;return}ft(J.size===0||K!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let te=Me({currentLocation:x.location,nextLocation:q,historyAction:N});if(te&&K!=null){let se=new Promise(Se=>{ne=Se});t.history.go(K*-1),ge(te,{state:"blocked",location:q,proceed(){ge(te,{state:"proceeding",proceed:void 0,reset:void 0,location:q}),se.then(()=>t.history.go(K))},reset(){let Se=new Map(x.blockers);Se.set(te,Ra),ee({blockers:Se})}}),I?.resolve(),I=null;return}return Te(N,q)}),r){e0(e,L);let N=()=>t0(e,L);e.addEventListener("pagehide",N),D=()=>e.removeEventListener("pagehide",N)}return x.initialized||Te("POP",x.location,{initialHydration:!0}),E}function Ae(){p&&p(),D&&D(),g.clear(),S&&S.abort(),x.fetchers.forEach((N,q)=>W(q)),x.blockers.forEach((N,q)=>ke(q))}function Ce(N){return g.add(N),()=>g.delete(N)}function ee(N,q={}){N.matches&&(N.matches=N.matches.map(se=>{let Se=i[se.route.id],_e=se.route;return _e.element!==Se.element||_e.errorElement!==Se.errorElement||_e.hydrateFallbackElement!==Se.hydrateFallbackElement?{...se,route:Se}:se})),x={...x,...N};let K=[],te=[];x.fetchers.forEach((se,Se)=>{se.state==="idle"&&(H.has(Se)?K.push(Se):te.push(Se))}),H.forEach(se=>{!x.fetchers.has(se)&&!O.has(se)&&K.push(se)}),[...g].forEach(se=>se(x,{deletedFetchers:K,newErrors:N.errors??null,viewTransitionOpts:q.viewTransitionOpts,flushSync:q.flushSync===!0})),K.forEach(se=>W(se)),te.forEach(se=>x.fetchers.delete(se))}function le(N,q,{flushSync:K}={}){let te=x.actionData!=null&&x.navigation.formMethod!=null&&Ft(x.navigation.formMethod)&&x.navigation.state==="loading"&&N.state?._isRedirect!==!0,se;q.actionData?Object.keys(q.actionData).length>0?se=q.actionData:se=null:te?se=x.actionData:se=null;let Se=q.loaderData?ju(x.loaderData,q.loaderData,q.matches||[],q.errors):x.loaderData,_e=x.blockers;_e.size>0&&(_e=new Map(_e),_e.forEach((Fe,ve)=>_e.set(ve,Ra)));let be=z?!1:Xt(N,q.matches||x.matches),xe=k===!0||x.navigation.formMethod!=null&&Ft(x.navigation.formMethod)&&N.state?._isRedirect!==!0;l&&(o=l,l=void 0),z||A==="POP"||(A==="PUSH"?t.history.push(N,N.state):A==="REPLACE"&&t.history.replace(N,N.state));let fe;if(A==="POP"){let Fe=L.get(x.location.pathname);Fe&&Fe.has(N.pathname)?fe={currentLocation:x.location,nextLocation:N}:L.has(N.pathname)&&(fe={currentLocation:N,nextLocation:x.location})}else if(T){let Fe=L.get(x.location.pathname);Fe?Fe.add(N.pathname):(Fe=new Set([N.pathname]),L.set(x.location.pathname,Fe)),fe={currentLocation:x.location,nextLocation:N}}ee({...q,actionData:se,loaderData:Se,historyAction:A,location:N,initialized:!0,renderFallback:!1,navigation:uo,revalidation:"idle",restoreScrollPosition:be,preventScrollReset:xe,blockers:_e},{viewTransitionOpts:fe,flushSync:K===!0}),A="POP",k=!1,T=!1,z=!1,Y=!1,I?.resolve(),I=null,re?.resolve(),re=null}async function De(N,q){if(I?.resolve(),I=null,typeof N=="number"){I||(I=Uu());let at=I.promise;return t.history.go(N),at}let K=Cl(x.location,x.matches,c,N,q?.fromRouteId,q?.relative),{path:te,submission:se,error:Se}=Fu(!1,K,q),_e;q?.unstable_mask&&(_e={pathname:"",search:"",hash:"",...typeof q.unstable_mask=="string"?Sr(q.unstable_mask):{...x.location.unstable_mask,...q.unstable_mask}});let be=x.location,xe=vs(be,te,q&&q.state,void 0,_e);xe={...xe,...t.history.encodeLocation(xe)};let fe=q&&q.replace!=null?q.replace:void 0,Fe="PUSH";fe===!0?Fe="REPLACE":fe===!1||se!=null&&Ft(se.formMethod)&&se.formAction===x.location.pathname+x.location.search&&(Fe="REPLACE");let ve=q&&"preventScrollReset"in q?q.preventScrollReset===!0:void 0,We=(q&&q.flushSync)===!0,ze=Me({currentLocation:be,nextLocation:xe,historyAction:Fe});if(ze){ge(ze,{state:"blocked",location:xe,proceed(){ge(ze,{state:"proceeding",proceed:void 0,reset:void 0,location:xe}),De(N,q)},reset(){let at=new Map(x.blockers);at.set(ze,Ra),ee({blockers:at})}});return}await Te(Fe,xe,{submission:se,pendingError:Se,preventScrollReset:ve,replace:q&&q.replace,enableViewTransition:q&&q.viewTransition,flushSync:We,callSiteDefaultShouldRevalidate:q&&q.unstable_defaultShouldRevalidate})}function Ee(){re||(re=Uu()),Dt(),ee({revalidation:"loading"});let N=re.promise;return x.navigation.state==="submitting"?N:x.navigation.state==="idle"?(Te(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),N):(Te(A||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:T===!0}),N)}async function Te(N,q,K){S&&S.abort(),S=null,A=N,z=(K&&K.startUninterruptedRevalidation)===!0,Jt(x.location,x.matches),k=(K&&K.preventScrollReset)===!0,T=(K&&K.enableViewTransition)===!0;let te=l||o,se=K&&K.overrideNavigation,Se=K?.initialHydration&&x.matches&&x.matches.length>0&&!v?x.matches:Gr(te,q,c),_e=(K&&K.flushSync)===!0;if(Se&&x.initialized&&!Y&&q_(x.location,q)&&!(K&&K.submission&&Ft(K.submission.formMethod))){le(q,{matches:Se},{flushSync:_e});return}let be=Ue(Se,te,q.pathname);if(be.active&&be.matches&&(Se=be.matches),!Se){let{error:dt,notFoundMatches:Ot,route:Xe}=Oe(q.pathname);le(q,{matches:Ot,loaderData:{},errors:{[Xe.id]:dt}},{flushSync:_e});return}S=new AbortController;let xe=Kn(t.history,q,S.signal,K&&K.submission),fe=t.getContext?await t.getContext():new xu,Fe;if(K&&K.pendingError)Fe=[Vr(Se).route.id,{type:"error",error:K.pendingError}];else if(K&&K.submission&&Ft(K.submission.formMethod)){let dt=await Ie(xe,q,K.submission,Se,fe,be.active,K&&K.initialHydration===!0,{replace:K.replace,flushSync:_e});if(dt.shortCircuited)return;if(dt.pendingActionResult){let[Ot,Xe]=dt.pendingActionResult;if(Yt(Xe)&&xs(Xe.error)&&Xe.error.status===404){S=null,le(q,{matches:dt.matches,loaderData:{},errors:{[Ot]:Xe.error}});return}}Se=dt.matches||Se,Fe=dt.pendingActionResult,se=fo(q,K.submission),_e=!1,be.active=!1,xe=Kn(t.history,xe.url,xe.signal)}let{shortCircuited:ve,matches:We,loaderData:ze,errors:at}=await tt(xe,q,Se,fe,be.active,se,K&&K.submission,K&&K.fetcherSubmission,K&&K.replace,K&&K.initialHydration===!0,_e,Fe,K&&K.callSiteDefaultShouldRevalidate);ve||(S=null,le(q,{matches:We||Se,...Bu(Fe),loaderData:ze,errors:at}))}async function Ie(N,q,K,te,se,Se,_e,be={}){Dt();let xe=X_(q,K);if(ee({navigation:xe},{flushSync:be.flushSync===!0}),Se){let ve=await pt(te,q.pathname,N.signal);if(ve.type==="aborted")return{shortCircuited:!0};if(ve.type==="error"){if(ve.partialMatches.length===0){let{matches:ze,route:at}=Ys(o);return{matches:ze,pendingActionResult:[at.id,{type:"error",error:ve.error}]}}let We=Vr(ve.partialMatches).route.id;return{matches:ve.partialMatches,pendingActionResult:[We,{type:"error",error:ve.error}]}}else if(ve.matches)te=ve.matches;else{let{notFoundMatches:We,error:ze,route:at}=Oe(q.pathname);return{matches:We,pendingActionResult:[at.id,{type:"error",error:ze}]}}}let fe,Fe=oi(te,q);if(!Fe.route.action&&!Fe.route.lazy)fe={type:"error",error:rr(405,{method:N.method,pathname:q.pathname,routeId:Fe.route.id})};else{let ve=Zn(s,i,N,q,te,Fe,_e?[]:n,se),We=await xt(N,q,ve,se,null);if(fe=We[Fe.route.id],!fe){for(let ze of te)if(We[ze.route.id]){fe=We[ze.route.id];break}}if(N.signal.aborted)return{shortCircuited:!0}}if(vn(fe)){let ve;return be&&be.replace!=null?ve=be.replace:ve=Ou(fe.response.headers.get("Location"),new URL(N.url),c,t.history)===x.location.pathname+x.location.search,await wt(N,fe,!0,{submission:K,replace:ve}),{shortCircuited:!0}}if(Yt(fe)){let ve=Vr(te,Fe.route.id);return(be&&be.replace)!==!0&&(A="PUSH"),{matches:te,pendingActionResult:[ve.route.id,fe,Fe.route.id]}}return{matches:te,pendingActionResult:[Fe.route.id,fe]}}async function tt(N,q,K,te,se,Se,_e,be,xe,fe,Fe,ve,We){let ze=Se||fo(q,_e),at=_e||be||zu(ze),dt=!z&&!fe;if(se){if(dt){let Ct=rt(ve);ee({navigation:ze,...Ct!==void 0?{actionData:Ct}:{}},{flushSync:Fe})}let Ve=await pt(K,q.pathname,N.signal);if(Ve.type==="aborted")return{shortCircuited:!0};if(Ve.type==="error"){if(Ve.partialMatches.length===0){let{matches:zn,route:fn}=Ys(o);return{matches:zn,loaderData:{},errors:{[fn.id]:Ve.error}}}let Ct=Vr(Ve.partialMatches).route.id;return{matches:Ve.partialMatches,loaderData:{},errors:{[Ct]:Ve.error}}}else if(Ve.matches)K=Ve.matches;else{let{error:Ct,notFoundMatches:zn,route:fn}=Oe(q.pathname);return{matches:zn,loaderData:{},errors:{[fn.id]:Ct}}}}let Ot=l||o,{dsMatches:Xe,revalidatingFetchers:Ht}=Pu(N,te,s,i,t.history,x,K,at,q,fe?[]:n,fe===!0,Y,j,H,G,V,Ot,c,t.patchRoutesOnNavigation!=null,ve,We);if(Z=++B,!t.dataStrategy&&!Xe.some(Ve=>Ve.shouldLoad)&&!Xe.some(Ve=>Ve.route.middleware&&Ve.route.middleware.length>0)&&Ht.length===0){let Ve=U();return le(q,{matches:K,loaderData:{},errors:ve&&Yt(ve[1])?{[ve[0]]:ve[1].error}:null,...Bu(ve),...Ve?{fetchers:new Map(x.fetchers)}:{}},{flushSync:Fe}),{shortCircuited:!0}}if(dt){let Ve={};if(!se){Ve.navigation=ze;let Ct=rt(ve);Ct!==void 0&&(Ve.actionData=Ct)}Ht.length>0&&(Ve.fetchers=Ge(Ht)),ee(Ve,{flushSync:Fe})}Ht.forEach(Ve=>{X(Ve.key),Ve.controller&&O.set(Ve.key,Ve.controller)});let un=()=>Ht.forEach(Ve=>X(Ve.key));S&&S.signal.addEventListener("abort",un);let{loaderResults:Ca,fetcherResults:$r}=await Qt(Xe,Ht,N,q,te);if(N.signal.aborted)return{shortCircuited:!0};S&&S.signal.removeEventListener("abort",un),Ht.forEach(Ve=>O.delete(Ve.key));let gr=Qs(Ca);if(gr)return await wt(N,gr.result,!0,{replace:xe}),{shortCircuited:!0};if(gr=Qs($r),gr)return V.add(gr.key),await wt(N,gr.result,!0,{replace:xe}),{shortCircuited:!0};let{loaderData:to,errors:Ea}=Nu(x,K,Ca,ve,Ht,$r);fe&&x.errors&&(Ea={...x.errors,...Ea});let dn=U(),qs=he(Z),Hs=dn||qs||Ht.length>0;return{matches:K,loaderData:to,errors:Ea,...Hs?{fetchers:new Map(x.fetchers)}:{}}}function rt(N){if(N&&!Yt(N[1]))return{[N[0]]:N[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function Ge(N){return N.forEach(q=>{let K=x.fetchers.get(q.key),te=Fa(void 0,K?K.data:void 0);x.fetchers.set(q.key,te)}),new Map(x.fetchers)}async function ht(N,q,K,te){X(N);let se=(te&&te.flushSync)===!0,Se=l||o,_e=Cl(x.location,x.matches,c,K,q,te?.relative),be=Gr(Se,_e,c),xe=Ue(be,Se,_e);if(xe.active&&xe.matches&&(be=xe.matches),!be){nt(N,q,rr(404,{pathname:_e}),{flushSync:se});return}let{path:fe,submission:Fe,error:ve}=Fu(!0,_e,te);if(ve){nt(N,q,ve,{flushSync:se});return}let We=t.getContext?await t.getContext():new xu,ze=(te&&te.preventScrollReset)===!0;if(Fe&&Ft(Fe.formMethod)){await vt(N,q,fe,be,We,xe.active,se,ze,Fe,te&&te.unstable_defaultShouldRevalidate);return}G.set(N,{routeId:q,path:fe}),await Tt(N,q,fe,be,We,xe.active,se,ze,Fe)}async function vt(N,q,K,te,se,Se,_e,be,xe,fe){Dt(),G.delete(N);let Fe=x.fetchers.get(N);ot(N,Z_(xe,Fe),{flushSync:_e});let ve=new AbortController,We=Kn(t.history,K,ve.signal,xe);if(Se){let lt=await pt(te,new URL(We.url).pathname,We.signal,N);if(lt.type==="aborted")return;if(lt.type==="error"){nt(N,q,lt.error,{flushSync:_e});return}else if(lt.matches)te=lt.matches;else{nt(N,q,rr(404,{pathname:K}),{flushSync:_e});return}}let ze=oi(te,K);if(!ze.route.action&&!ze.route.lazy){let lt=rr(405,{method:xe.formMethod,pathname:K,routeId:q});nt(N,q,lt,{flushSync:_e});return}O.set(N,ve);let at=B,dt=Zn(s,i,We,K,te,ze,n,se),Ot=await xt(We,K,dt,se,N),Xe=Ot[ze.route.id];if(!Xe){for(let lt of dt)if(Ot[lt.route.id]){Xe=Ot[lt.route.id];break}}if(We.signal.aborted){O.get(N)===ve&&O.delete(N);return}if(H.has(N)){if(vn(Xe)||Yt(Xe)){ot(N,Pr(void 0));return}}else{if(vn(Xe))if(O.delete(N),Z>at){ot(N,Pr(void 0));return}else return V.add(N),ot(N,Fa(xe)),wt(We,Xe,!1,{fetcherSubmission:xe,preventScrollReset:be});if(Yt(Xe)){nt(N,q,Xe.error);return}}let Ht=x.navigation.location||x.location,un=Kn(t.history,Ht,ve.signal),Ca=l||o,$r=x.navigation.state!=="idle"?Gr(Ca,x.navigation.location,c):x.matches;$e($r,"Didn't find any matches after fetcher action");let gr=++B;oe.set(N,gr);let to=Fa(xe,Xe.data);x.fetchers.set(N,to);let{dsMatches:Ea,revalidatingFetchers:dn}=Pu(un,se,s,i,t.history,x,$r,xe,Ht,n,!1,Y,j,H,G,V,Ca,c,t.patchRoutesOnNavigation!=null,[ze.route.id,Xe],fe);dn.filter(lt=>lt.key!==N).forEach(lt=>{let Gs=lt.key,su=x.fetchers.get(Gs),vb=Fa(void 0,su?su.data:void 0);x.fetchers.set(Gs,vb),X(Gs),lt.controller&&O.set(Gs,lt.controller)}),ee({fetchers:new Map(x.fetchers)});let qs=()=>dn.forEach(lt=>X(lt.key));ve.signal.addEventListener("abort",qs);let{loaderResults:Hs,fetcherResults:Ve}=await Qt(Ea,dn,un,Ht,se);if(ve.signal.aborted)return;if(ve.signal.removeEventListener("abort",qs),oe.delete(N),O.delete(N),dn.forEach(lt=>O.delete(lt.key)),x.fetchers.has(N)){let lt=Pr(Xe.data);x.fetchers.set(N,lt)}let Ct=Qs(Hs);if(Ct)return wt(un,Ct.result,!1,{preventScrollReset:be});if(Ct=Qs(Ve),Ct)return V.add(Ct.key),wt(un,Ct.result,!1,{preventScrollReset:be});let{loaderData:zn,errors:fn}=Nu(x,$r,Hs,void 0,dn,Ve);he(gr),x.navigation.state==="loading"&&gr>Z?($e(A,"Expected pending action"),S&&S.abort(),le(x.navigation.location,{matches:$r,loaderData:zn,errors:fn,fetchers:new Map(x.fetchers)})):(ee({errors:fn,loaderData:ju(x.loaderData,zn,$r,fn),fetchers:new Map(x.fetchers)}),Y=!1)}async function Tt(N,q,K,te,se,Se,_e,be,xe){let fe=x.fetchers.get(N);ot(N,Fa(xe,fe?fe.data:void 0),{flushSync:_e});let Fe=new AbortController,ve=Kn(t.history,K,Fe.signal);if(Se){let Xe=await pt(te,new URL(ve.url).pathname,ve.signal,N);if(Xe.type==="aborted")return;if(Xe.type==="error"){nt(N,q,Xe.error,{flushSync:_e});return}else if(Xe.matches)te=Xe.matches;else{nt(N,q,rr(404,{pathname:K}),{flushSync:_e});return}}let We=oi(te,K);O.set(N,Fe);let ze=B,at=Zn(s,i,ve,K,te,We,n,se),Ot=(await xt(ve,K,at,se,N))[We.route.id];if(O.get(N)===Fe&&O.delete(N),!ve.signal.aborted){if(H.has(N)){ot(N,Pr(void 0));return}if(vn(Ot))if(Z>ze){ot(N,Pr(void 0));return}else{V.add(N),await wt(ve,Ot,!1,{preventScrollReset:be});return}if(Yt(Ot)){nt(N,q,Ot.error);return}ot(N,Pr(Ot.data))}}async function wt(N,q,K,{submission:te,fetcherSubmission:se,preventScrollReset:Se,replace:_e}={}){K||(I?.resolve(),I=null),q.response.headers.has("X-Remix-Revalidate")&&(Y=!0);let be=q.response.headers.get("Location");$e(be,"Expected a Location header on the redirect Response"),be=Ou(be,new URL(N.url),c,t.history);let xe=vs(x.location,be,{_isRedirect:!0});if(r){let at=!1;if(q.response.headers.has("X-Remix-Reload-Document"))at=!0;else if(hc(be)){const dt=np(be,!0);at=dt.origin!==e.location.origin||ir(dt.pathname,c)==null}if(at){_e?e.location.replace(be):e.location.assign(be);return}}S=null;let fe=_e===!0||q.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:Fe,formAction:ve,formEncType:We}=x.navigation;!te&&!se&&Fe&&ve&&We&&(te=zu(x.navigation));let ze=te||se;if(F_.has(q.response.status)&&ze&&Ft(ze.formMethod))await Te(fe,xe,{submission:{...ze,formAction:be},preventScrollReset:Se||k,enableViewTransition:K?T:void 0});else{let at=fo(xe,te);await Te(fe,xe,{overrideNavigation:at,fetcherSubmission:se,preventScrollReset:Se||k,enableViewTransition:K?T:void 0})}}async function xt(N,q,K,te,se){let Se,_e={};try{Se=await j_(f,N,q,K,se,te,!1)}catch(be){return K.filter(xe=>xe.shouldLoad).forEach(xe=>{_e[xe.route.id]={type:"error",error:be}}),_e}if(N.signal.aborted)return _e;if(!Ft(N.method))for(let be of K){if(Se[be.route.id]?.type==="error")break;!Se.hasOwnProperty(be.route.id)&&!x.loaderData.hasOwnProperty(be.route.id)&&(!x.errors||!x.errors.hasOwnProperty(be.route.id))&&be.shouldCallHandler()&&(Se[be.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${be.route.id}`)})}for(let[be,xe]of Object.entries(Se))if(K_(xe)){let fe=xe.result;_e[be]={type:"redirect",response:U_(fe,N,be,K,c)}}else _e[be]=await z_(xe);return _e}async function Qt(N,q,K,te,se){let Se=xt(K,te,N,se,null),_e=Promise.all(q.map(async fe=>{if(fe.matches&&fe.match&&fe.request&&fe.controller){let ve=(await xt(fe.request,fe.path,fe.matches,se,fe.key))[fe.match.route.id];return{[fe.key]:ve}}else return Promise.resolve({[fe.key]:{type:"error",error:rr(404,{pathname:fe.path})}})})),be=await Se,xe=(await _e).reduce((fe,Fe)=>Object.assign(fe,Fe),{});return{loaderResults:be,fetcherResults:xe}}function Dt(){Y=!0,G.forEach((N,q)=>{O.has(q)&&j.add(q),X(q)})}function ot(N,q,K={}){x.fetchers.set(N,q),ee({fetchers:new Map(x.fetchers)},{flushSync:(K&&K.flushSync)===!0})}function nt(N,q,K,te={}){let se=Vr(x.matches,q);W(N),ee({errors:{[se.route.id]:K},fetchers:new Map(x.fetchers)},{flushSync:(te&&te.flushSync)===!0})}function It(N){return Q.set(N,(Q.get(N)||0)+1),H.has(N)&&H.delete(N),x.fetchers.get(N)||P_}function dr(N,q){X(N,q?.reason),ot(N,Pr(null))}function W(N){let q=x.fetchers.get(N);O.has(N)&&!(q&&q.state==="loading"&&oe.has(N))&&X(N),G.delete(N),oe.delete(N),V.delete(N),H.delete(N),j.delete(N),x.fetchers.delete(N)}function ae(N){let q=(Q.get(N)||0)-1;q<=0?(Q.delete(N),H.add(N)):Q.set(N,q),ee({fetchers:new Map(x.fetchers)})}function X(N,q){let K=O.get(N);K&&(K.abort(q),O.delete(N))}function M(N){for(let q of N){let K=It(q),te=Pr(K.data);x.fetchers.set(q,te)}}function U(){let N=[],q=!1;for(let K of V){let te=x.fetchers.get(K);$e(te,`Expected fetcher: ${K}`),te.state==="loading"&&(V.delete(K),N.push(K),q=!0)}return M(N),q}function he(N){let q=[];for(let[K,te]of oe)if(te0}function we(N,q){let K=x.blockers.get(N)||Ra;return J.get(N)!==q&&J.set(N,q),K}function ke(N){x.blockers.delete(N),J.delete(N)}function ge(N,q){let K=x.blockers.get(N)||Ra;$e(K.state==="unblocked"&&q.state==="blocked"||K.state==="blocked"&&q.state==="blocked"||K.state==="blocked"&&q.state==="proceeding"||K.state==="blocked"&&q.state==="unblocked"||K.state==="proceeding"&&q.state==="unblocked",`Invalid blocker state transition: ${K.state} -> ${q.state}`);let te=new Map(x.blockers);te.set(N,q),ee({blockers:te})}function Me({currentLocation:N,nextLocation:q,historyAction:K}){if(J.size===0)return;J.size>1&&ft(!1,"A router only supports one blocker at a time");let te=Array.from(J.entries()),[se,Se]=te[te.length-1],_e=x.blockers.get(se);if(!(_e&&_e.state==="proceeding")&&Se({currentLocation:N,nextLocation:q,historyAction:K}))return se}function Oe(N){let q=rr(404,{pathname:N}),K=l||o,{matches:te,route:se}=Ys(K);return{notFoundMatches:te,route:se,error:q}}function Je(N,q,K){if(m=N,b=q,y=K||null,!w&&x.navigation===uo){w=!0;let te=Xt(x.location,x.matches);te!=null&&ee({restoreScrollPosition:te})}return()=>{m=null,b=null,y=null}}function kt(N,q){return y&&y(N,q.map(te=>t_(te,x.loaderData)))||N.key}function Jt(N,q){if(m&&b){let K=kt(N,q);m[K]=b()}}function Xt(N,q){if(m){let K=kt(N,q),te=m[K];if(typeof te=="number")return te}return null}function Ue(N,q,K){if(t.patchRoutesOnNavigation)if(N){if(Object.keys(N[0].params).length>0)return{active:!0,matches:os(q,K,c,!0)}}else return{active:!0,matches:os(q,K,c,!0)||[]};return{active:!1,matches:null}}async function pt(N,q,K,te){if(!t.patchRoutesOnNavigation)return{type:"success",matches:N};let se=N;for(;;){let Se=l==null,_e=l||o,be=i;try{await t.patchRoutesOnNavigation({signal:K,path:q,matches:se,fetcherKey:te,patch:(Fe,ve)=>{K.aborted||Au(Fe,ve,_e,be,s,!1)}})}catch(Fe){return{type:"error",error:Fe,partialMatches:se}}finally{Se&&!K.aborted&&(o=[...o])}if(K.aborted)return{type:"aborted"};let xe=Gr(_e,q,c),fe=null;if(xe){if(Object.keys(xe[0].params).length===0)return{type:"success",matches:xe};if(fe=os(_e,q,c,!0),!(fe&&se.lengthK.route.id===q[te].route.id)}function Bt(N){i={},l=ws(N,s,void 0,i)}function Rr(N,q,K=!1){let te=l==null;Au(N,q,l||o,i,s,K),te&&(o=[...o],ee({}))}return E={get basename(){return c},get future(){return d},get state(){return x},get routes(){return o},get window(){return e},initialize:ce,subscribe:Ce,enableScrollRestoration:Je,navigate:De,fetch:ht,revalidate:Ee,createHref:N=>t.history.createHref(N),encodeLocation:N=>t.history.encodeLocation(N),getFetcher:It,resetFetcher:dr,deleteFetcher:ae,dispose:Ae,getBlocker:we,deleteBlocker:ke,patchRoutes:Rr,_internalFetchControllers:O,_internalSetRoutes:Bt,_internalSetStateDoNotUseOrYouWillBreakYourApp(N){ee(N)}},t.unstable_instrumentations&&(E=v_(E,t.unstable_instrumentations.map(N=>N.router).filter(Boolean))),E}function D_(t){return t!=null&&("formData"in t&&t.formData!=null||"body"in t&&t.body!==void 0)}function Cl(t,e,r,n,a,s){let i,o;if(a){i=[];for(let c of e)if(i.push(c),c.route.id===a){o=c;break}}else i=e,o=e[e.length-1];let l=Ni(n||".",pc(i),ir(t.pathname,r)||t.pathname,s==="path");if(n==null&&(l.search=t.search,l.hash=t.hash),(n==null||n===""||n===".")&&o){let c=yc(l.search);if(o.route.index&&!c)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!o.route.index&&c){let f=new URLSearchParams(l.search),d=f.getAll("index");f.delete("index"),d.filter(g=>g).forEach(g=>f.append("index",g));let p=f.toString();l.search=p?`?${p}`:""}}return r!=="/"&&(l.pathname=p_({basename:r,pathname:l.pathname})),kr(l)}function Fu(t,e,r){if(!r||!D_(r))return{path:e};if(r.formMethod&&!J_(r.formMethod))return{path:e,error:rr(405,{method:r.formMethod})};let n=()=>({path:e,error:rr(400,{type:"invalid-body"})}),s=(r.formMethod||"get").toUpperCase(),i=xp(e);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Ft(s))return n();let d=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((p,[g,m])=>`${p}${g}=${m} `,""):String(r.body);return{path:e,submission:{formMethod:s,formAction:i,formEncType:r.formEncType,formData:void 0,json:void 0,text:d}}}else if(r.formEncType==="application/json"){if(!Ft(s))return n();try{let d=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:e,submission:{formMethod:s,formAction:i,formEncType:r.formEncType,formData:void 0,json:d,text:void 0}}}catch{return n()}}}$e(typeof FormData=="function","FormData is not available in this environment");let o,l;if(r.formData)o=Rl(r.formData),l=r.formData;else if(r.body instanceof FormData)o=Rl(r.body),l=r.body;else if(r.body instanceof URLSearchParams)o=r.body,l=Mu(o);else if(r.body==null)o=new URLSearchParams,l=new FormData;else try{o=new URLSearchParams(r.body),l=Mu(o)}catch{return n()}let c={formMethod:s,formAction:i,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(Ft(c.formMethod))return{path:e,submission:c};let f=Sr(e);return t&&f.search&&yc(f.search)&&o.append("index",""),f.search=`?${o}`,{path:kr(f),submission:c}}function Pu(t,e,r,n,a,s,i,o,l,c,f,d,p,g,m,y,b,w,_,v,F){let P=v?Yt(v[1])?v[1].error:v[1].data:void 0,R=a.createURL(s.location),E=a.createURL(l),x;if(f&&s.errors){let D=Object.keys(s.errors)[0];x=i.findIndex(z=>z.route.id===D)}else if(v&&Yt(v[1])){let D=v[0];x=i.findIndex(z=>z.route.id===D)-1}let A=v?v[1].statusCode:void 0,I=A&&A>=400,k={currentUrl:R,currentParams:s.matches[0]?.params||{},nextUrl:E,nextParams:i[0].params,...o,actionResult:P,actionStatus:A},S=Ns(i),T=i.map((D,z)=>{let{route:Y}=D,j=null;if(x!=null&&z>x)j=!1;else if(Y.lazy)j=!0;else if(!mc(Y))j=!1;else if(f){let{shouldLoad:oe}=gp(Y,s.loaderData,s.errors);j=oe}else I_(s.loaderData,s.matches[z],D)&&(j=!0);if(j!==null)return El(r,n,t,l,S,D,c,e,j);let O=!1;typeof F=="boolean"?O=F:I?O=!1:(d||R.pathname+R.search===E.pathname+E.search||R.search!==E.search||L_(s.matches[z],D))&&(O=!0);let B={...k,defaultShouldRevalidate:O},Z=hs(D,B);return El(r,n,t,l,S,D,c,e,Z,B,F)}),L=[];return m.forEach((D,z)=>{if(f||!i.some(G=>G.route.id===D.routeId)||g.has(z))return;let Y=s.fetchers.get(z),j=Y&&Y.state!=="idle"&&Y.data===void 0,O=Gr(b,D.path,w);if(!O){if(_&&j)return;L.push({key:z,routeId:D.routeId,path:D.path,matches:null,match:null,request:null,controller:null});return}if(y.has(z))return;let B=oi(O,D.path),Z=new AbortController,oe=Kn(a,D.path,Z.signal),V=null;if(p.has(z))p.delete(z),V=Zn(r,n,oe,D.path,O,B,c,e);else if(j)d&&(V=Zn(r,n,oe,D.path,O,B,c,e));else{let G;typeof F=="boolean"?G=F:I?G=!1:G=d;let Q={...k,defaultShouldRevalidate:G};hs(B,Q)&&(V=Zn(r,n,oe,D.path,O,B,c,e,Q))}V&&L.push({key:z,routeId:D.routeId,path:D.path,matches:V,match:B,request:oe,controller:Z})}),{dsMatches:T,revalidatingFetchers:L}}function mc(t){return t.loader!=null||t.middleware!=null&&t.middleware.length>0}function gp(t,e,r){if(t.lazy)return{shouldLoad:!0,renderFallback:!0};if(!mc(t))return{shouldLoad:!1,renderFallback:!1};let n=e!=null&&t.id in e,a=r!=null&&r[t.id]!==void 0;if(!n&&a)return{shouldLoad:!1,renderFallback:!1};if(typeof t.loader=="function"&&t.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!n};let s=!n&&!a;return{shouldLoad:s,renderFallback:s}}function I_(t,e,r){let n=!e||r.route.id!==e.route.id,a=!t.hasOwnProperty(r.route.id);return n||a}function L_(t,e){let r=t.route.path;return t.pathname!==e.pathname||r!=null&&r.endsWith("*")&&t.params["*"]!==e.params["*"]}function hs(t,e){if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate(e);if(typeof r=="boolean")return r}return e.defaultShouldRevalidate}function Au(t,e,r,n,a,s){let i;if(t){let c=n[t];$e(c,`No route found to patch children into: routeId = ${t}`),c.children||(c.children=[]),i=c.children}else i=r;let o=[],l=[];if(e.forEach(c=>{let f=i.find(d=>mp(c,d));f?l.push({existingRoute:f,newRoute:c}):o.push(c)}),o.length>0){let c=ws(o,a,[t||"_","patch",String(i?.length||"0")],n);i.push(...c)}if(s&&l.length>0)for(let c=0;ce.children?.some(a=>mp(r,a)))??!1:!1}var Tu=new WeakMap,bp=({key:t,route:e,manifest:r,mapRouteProperties:n})=>{let a=r[e.id];if($e(a,"No route found in manifest"),!a.lazy||typeof a.lazy!="object")return;let s=a.lazy[t];if(!s)return;let i=Tu.get(a);i||(i={},Tu.set(a,i));let o=i[t];if(o)return o;let l=(async()=>{let c=Jy(t),d=a[t]!==void 0&&t!=="hasErrorBoundary";if(c)ft(!c,"Route property "+t+" is not a supported lazy route property. This property will be ignored."),i[t]=Promise.resolve();else if(d)ft(!1,`Route "${a.id}" has a static property "${t}" defined. The lazy property will be ignored.`);else{let p=await s();p!=null&&(Object.assign(a,{[t]:p}),Object.assign(a,n(a)))}typeof a.lazy=="object"&&(a.lazy[t]=void 0,Object.values(a.lazy).every(p=>p===void 0)&&(a.lazy=void 0))})();return i[t]=l,l},Du=new WeakMap;function O_(t,e,r,n,a){let s=r[t.id];if($e(s,"No route found in manifest"),!t.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof t.lazy=="function"){let f=Du.get(s);if(f)return{lazyRoutePromise:f,lazyHandlerPromise:f};let d=(async()=>{$e(typeof t.lazy=="function","No lazy route function found");let p=await t.lazy(),g={};for(let m in p){let y=p[m];if(y===void 0)continue;let b=Zy(m),_=s[m]!==void 0&&m!=="hasErrorBoundary";b?ft(!b,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):_?ft(!_,`Route "${s.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`):g[m]=y}Object.assign(s,g),Object.assign(s,{...n(s),lazy:void 0})})();return Du.set(s,d),d.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:d}}let i=Object.keys(t.lazy),o=[],l;for(let f of i){if(a&&a.includes(f))continue;let d=bp({key:f,route:t,manifest:r,mapRouteProperties:n});d&&(o.push(d),f===e&&(l=d))}let c=o.length>0?Promise.all(o).then(()=>{}):void 0;return c?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:l}}async function Iu(t){let e=t.matches.filter(a=>a.shouldLoad),r={};return(await Promise.all(e.map(a=>a.resolve()))).forEach((a,s)=>{r[e[s].route.id]=a}),r}async function M_(t){return t.matches.some(e=>e.route.middleware)?yp(t,()=>Iu(t)):Iu(t)}function yp(t,e){return N_(t,e,n=>{if(Q_(n))throw n;return n},G_,r);function r(n,a,s){if(s)return Promise.resolve(Object.assign(s.value,{[a]:{type:"error",result:n}}));{let{matches:i}=t,o=Math.min(Math.max(i.findIndex(c=>c.route.id===a),0),Math.max(i.findIndex(c=>c.shouldCallHandler()),0)),l=Vr(i,i[o].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:n}})}}}async function N_(t,e,r,n,a){let{matches:s,...i}=t,o=s.flatMap(c=>c.route.middleware?c.route.middleware.map(f=>[c.route.id,f]):[]);return await _p(i,o,e,r,n,a)}async function _p(t,e,r,n,a,s,i=0){let{request:o}=t;if(o.signal.aborted)throw o.signal.reason??new Error(`Request aborted: ${o.method} ${o.url}`);let l=e[i];if(!l)return await r();let[c,f]=l,d,p=async()=>{if(d)throw new Error("You may only call `next()` once per middleware");try{return d={value:await _p(t,e,r,n,a,s,i+1)},d.value}catch(g){return d={value:await s(g,c,d)},d.value}};try{let g=await f(t,p),m=g!=null?n(g):void 0;return a(m)?m:d?m??d.value:(d={value:await p()},d.value)}catch(g){return await s(g,c,d)}}function vp(t,e,r,n,a){let s=bp({key:"middleware",route:n.route,manifest:e,mapRouteProperties:t}),i=O_(n.route,Ft(r.method)?"action":"loader",e,t,a);return{middleware:s,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function El(t,e,r,n,a,s,i,o,l,c=null,f){let d=!1,p=vp(t,e,r,s,i);return{...s,_lazyPromises:p,shouldLoad:l,shouldRevalidateArgs:c,shouldCallHandler(g){return d=!0,c?typeof f=="boolean"?hs(s,{...c,defaultShouldRevalidate:f}):typeof g=="boolean"?hs(s,{...c,defaultShouldRevalidate:g}):hs(s,c):l},resolve(g){let{lazy:m,loader:y,middleware:b}=s.route,w=d||l||g&&!Ft(r.method)&&(m||y),_=b&&b.length>0&&!y&&!m;return w&&(Ft(r.method)||!_)?B_({request:r,path:n,unstable_pattern:a,match:s,lazyHandlerPromise:p?.handler,lazyRoutePromise:p?.route,handlerOverride:g,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function Zn(t,e,r,n,a,s,i,o,l=null){return a.map(c=>c.route.id!==s.route.id?{...c,shouldLoad:!1,shouldRevalidateArgs:l,shouldCallHandler:()=>!1,_lazyPromises:vp(t,e,r,c,i),resolve:()=>Promise.resolve({type:"data",result:void 0})}:El(t,e,r,n,Ns(a),c,i,o,!0,l))}async function j_(t,e,r,n,a,s,i){n.some(f=>f._lazyPromises?.middleware)&&await Promise.all(n.map(f=>f._lazyPromises?.middleware));let o={request:e,unstable_url:wp(e,r),unstable_pattern:Ns(n),params:n[0].params,context:s,matches:n},c=await t({...o,fetcherKey:a,runClientMiddleware:f=>{let d=o;return yp(d,()=>f({...d,fetcherKey:a,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(n.flatMap(f=>[f._lazyPromises?.handler,f._lazyPromises?.route]))}catch{}return c}async function B_({request:t,path:e,unstable_pattern:r,match:n,lazyHandlerPromise:a,lazyRoutePromise:s,handlerOverride:i,scopedContext:o}){let l,c,f=Ft(t.method),d=f?"action":"loader",p=g=>{let m,y=new Promise((_,v)=>m=v);c=()=>m(),t.signal.addEventListener("abort",c);let b=_=>typeof g!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${n.route.id}]`)):g({request:t,unstable_url:wp(t,e),unstable_pattern:r,params:n.params,context:o},..._!==void 0?[_]:[]),w=(async()=>{try{return{type:"data",result:await(i?i(v=>b(v)):b())}}catch(_){return{type:"error",result:_}}})();return Promise.race([w,y])};try{let g=f?n.route.action:n.route.loader;if(a||s)if(g){let m,[y]=await Promise.all([p(g).catch(b=>{m=b}),a,s]);if(m!==void 0)throw m;l=y}else{await a;let m=f?n.route.action:n.route.loader;if(m)[l]=await Promise.all([p(m),s]);else if(d==="action"){let y=new URL(t.url),b=y.pathname+y.search;throw rr(405,{method:t.method,pathname:b,routeId:n.route.id})}else return{type:"data",result:void 0}}else if(g)l=await p(g);else{let m=new URL(t.url),y=m.pathname+m.search;throw rr(404,{pathname:y})}}catch(g){return{type:"error",result:g}}finally{c&&t.signal.removeEventListener("abort",c)}return l}async function $_(t){let e=t.headers.get("Content-Type");return e&&/\bapplication\/json\b/.test(e)?t.body==null?null:t.json():t.text()}async function z_(t){let{result:e,type:r}=t;if(bc(e)){let n;try{n=await $_(e)}catch(a){return{type:"error",error:a}}return r==="error"?{type:"error",error:new Ms(e.status,e.statusText,n),statusCode:e.status,headers:e.headers}:{type:"data",data:n,statusCode:e.status,headers:e.headers}}return r==="error"?$u(e)?e.data instanceof Error?{type:"error",error:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:H_(e),statusCode:xs(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:xs(e)?e.status:void 0}:$u(e)?{type:"data",data:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"data",data:e}}function U_(t,e,r,n,a){let s=t.headers.get("Location");if($e(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!hc(s)){let i=n.slice(0,n.findIndex(o=>o.route.id===r)+1);s=Cl(new URL(e.url),i,a,s),t.headers.set("Location",s)}return t}var Lu=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Ou(t,e,r,n){if(hc(t)){let a=t,s=a.startsWith("//")?new URL(e.protocol+a):new URL(a);if(Lu.includes(s.protocol))throw new Error("Invalid redirect location");let i=ir(s.pathname,r)!=null;if(s.origin===e.origin&&i)return gc(s.pathname)+s.search+s.hash}try{let a=n.createURL(t);if(Lu.includes(a.protocol))throw new Error("Invalid redirect location")}catch{}return t}function Kn(t,e,r,n){let a=t.createURL(xp(e)).toString(),s={signal:r};if(n&&Ft(n.formMethod)){let{formMethod:i,formEncType:o}=n;s.method=i.toUpperCase(),o==="application/json"?(s.headers=new Headers({"Content-Type":o}),s.body=JSON.stringify(n.json)):o==="text/plain"?s.body=n.text:o==="application/x-www-form-urlencoded"&&n.formData?s.body=Rl(n.formData):s.body=n.formData}return new Request(a,s)}function wp(t,e){let r=new URL(t.url),n=typeof e=="string"?Sr(e):e;if(r.pathname=n.pathname||"/",n.search){let a=new URLSearchParams(n.search),s=a.getAll("index");a.delete("index");for(let i of s.filter(Boolean))a.append("index",i);r.search=a.size?`?${a.toString()}`:""}else r.search="";return r.hash=n.hash||"",r}function Rl(t){let e=new URLSearchParams;for(let[r,n]of t.entries())e.append(r,typeof n=="string"?n:n.name);return e}function Mu(t){let e=new FormData;for(let[r,n]of t.entries())e.append(r,n);return e}function W_(t,e,r,n=!1,a=!1){let s={},i=null,o,l=!1,c={},f=r&&Yt(r[1])?r[1].error:void 0;return t.forEach(d=>{if(!(d.route.id in e))return;let p=d.route.id,g=e[p];if($e(!vn(g),"Cannot handle redirect results in processLoaderData"),Yt(g)){let m=g.error;if(f!==void 0&&(m=f,f=void 0),i=i||{},a)i[p]=m;else{let y=Vr(t,p);i[y.route.id]==null&&(i[y.route.id]=m)}n||(s[p]=pp),l||(l=!0,o=xs(g.error)?g.error.status:500),g.headers&&(c[p]=g.headers)}else s[p]=g.data,g.statusCode&&g.statusCode!==200&&!l&&(o=g.statusCode),g.headers&&(c[p]=g.headers)}),f!==void 0&&r&&(i={[r[0]]:f},r[2]&&(s[r[2]]=void 0)),{loaderData:s,errors:i,statusCode:o||200,loaderHeaders:c}}function Nu(t,e,r,n,a,s){let{loaderData:i,errors:o}=W_(e,r,n);return a.filter(l=>!l.matches||l.matches.some(c=>c.shouldLoad)).forEach(l=>{let{key:c,match:f,controller:d}=l;if(d&&d.signal.aborted)return;let p=s[c];if($e(p,"Did not find corresponding fetcher result"),Yt(p)){let g=Vr(t.matches,f?.route.id);o&&o[g.route.id]||(o={...o,[g.route.id]:p.error}),t.fetchers.delete(c)}else if(vn(p))$e(!1,"Unhandled fetcher revalidation redirect");else{let g=Pr(p.data);t.fetchers.set(c,g)}}),{loaderData:i,errors:o}}function ju(t,e,r,n){let a=Object.entries(e).filter(([,s])=>s!==pp).reduce((s,[i,o])=>(s[i]=o,s),{});for(let s of r){let i=s.route.id;if(!e.hasOwnProperty(i)&&t.hasOwnProperty(i)&&s.route.loader&&(a[i]=t[i]),n&&n.hasOwnProperty(i))break}return a}function Bu(t){return t?Yt(t[1])?{actionData:{}}:{actionData:{[t[0]]:t[1].data}}:{}}function Vr(t,e){return(e?t.slice(0,t.findIndex(n=>n.route.id===e)+1):[...t]).reverse().find(n=>n.route.hasErrorBoundary===!0)||t[0]}function Ys(t){let e=t.length===1?t[0]:t.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function rr(t,{pathname:e,routeId:r,method:n,type:a,message:s}={}){let i="Unknown Server Error",o="Unknown @remix-run/router error";return t===400?(i="Bad Request",n&&e&&r?o=`You made a ${n} request to "${e}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:a==="invalid-body"&&(o="Unable to encode submission body")):t===403?(i="Forbidden",o=`Route "${r}" does not match URL "${e}"`):t===404?(i="Not Found",o=`No route matches URL "${e}"`):t===405&&(i="Method Not Allowed",n&&e&&r?o=`You made a ${n.toUpperCase()} request to "${e}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:n&&(o=`Invalid request method "${n.toUpperCase()}"`)),new Ms(t||500,i,new Error(o),!0)}function Qs(t){let e=Object.entries(t);for(let r=e.length-1;r>=0;r--){let[n,a]=e[r];if(vn(a))return{key:n,result:a}}}function xp(t){let e=typeof t=="string"?Sr(t):t;return kr({...e,hash:""})}function q_(t,e){return t.pathname!==e.pathname||t.search!==e.search?!1:t.hash===""?e.hash!=="":t.hash===e.hash?!0:e.hash!==""}function H_(t){return new Ms(t.init?.status??500,t.init?.statusText??"Internal Server Error",t.data)}function G_(t){return t!=null&&typeof t=="object"&&Object.entries(t).every(([e,r])=>typeof e=="string"&&V_(r))}function V_(t){return t!=null&&typeof t=="object"&&"type"in t&&"result"in t&&(t.type==="data"||t.type==="error")}function K_(t){return bc(t.result)&&fp.has(t.result.status)}function Yt(t){return t.type==="error"}function vn(t){return(t&&t.type)==="redirect"}function $u(t){return typeof t=="object"&&t!=null&&"type"in t&&"data"in t&&"init"in t&&t.type==="DataWithResponseInit"}function bc(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.headers=="object"&&typeof t.body<"u"}function Y_(t){return fp.has(t)}function Q_(t){return bc(t)&&Y_(t.status)&&t.headers.has("Location")}function J_(t){return R_.has(t.toUpperCase())}function Ft(t){return C_.has(t.toUpperCase())}function yc(t){return new URLSearchParams(t).getAll("index").some(e=>e==="")}function oi(t,e){let r=typeof e=="string"?Sr(e).search:e.search;if(t[t.length-1].route.index&&yc(r||""))return t[t.length-1];let n=op(t);return n[n.length-1]}function zu(t){let{formMethod:e,formAction:r,formEncType:n,text:a,formData:s,json:i}=t;if(!(!e||!r||!n)){if(a!=null)return{formMethod:e,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(s!=null)return{formMethod:e,formAction:r,formEncType:n,formData:s,json:void 0,text:void 0};if(i!==void 0)return{formMethod:e,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function fo(t,e){return e?{state:"loading",location:t,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function X_(t,e){return{state:"submitting",location:t,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function Fa(t,e){return t?{state:"loading",formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Z_(t,e){return{state:"submitting",formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text,data:e?e.data:void 0}}function Pr(t){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function e0(t,e){try{let r=t.sessionStorage.getItem(hp);if(r){let n=JSON.parse(r);for(let[a,s]of Object.entries(n||{}))s&&Array.isArray(s)&&e.set(a,new Set(s||[]))}}catch{}}function t0(t,e){if(e.size>0){let r={};for(let[n,a]of e)r[n]=[...a];try{t.sessionStorage.setItem(hp,JSON.stringify(r))}catch(n){ft(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}function Uu(){let t,e,r=new Promise((n,a)=>{t=async s=>{n(s);try{await r}catch{}},e=async s=>{a(s);try{await r}catch{}}});return{promise:r,resolve:t,reject:e}}var jn=h.createContext(null);jn.displayName="DataRouter";var js=h.createContext(null);js.displayName="DataRouterState";var kp=h.createContext(!1);function Sp(){return h.useContext(kp)}var _c=h.createContext({isTransitioning:!1});_c.displayName="ViewTransition";var Cp=h.createContext(new Map);Cp.displayName="Fetchers";var r0=h.createContext(null);r0.displayName="Await";var or=h.createContext(null);or.displayName="Navigation";var ji=h.createContext(null);ji.displayName="Location";var pr=h.createContext({outlet:null,matches:[],isDataRoute:!1});pr.displayName="Route";var vc=h.createContext(null);vc.displayName="RouteError";var Ep="REACT_ROUTER_ERROR",n0="REDIRECT",a0="ROUTE_ERROR_RESPONSE";function s0(t){if(t.startsWith(`${Ep}:${n0}:{`))try{let e=JSON.parse(t.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function i0(t){if(t.startsWith(`${Ep}:${a0}:{`))try{let e=JSON.parse(t.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Ms(e.status,e.statusText,e.data)}catch{}}function o0(t,{relative:e}={}){$e(Bs(),"useHref() may be used only in the context of a component.");let{basename:r,navigator:n}=h.useContext(or),{hash:a,pathname:s,search:i}=$s(t,{relative:e}),o=s;return r!=="/"&&(o=s==="/"?r:ar([r,s])),n.createHref({pathname:o,search:i,hash:a})}function Bs(){return h.useContext(ji)!=null}function lr(){return $e(Bs(),"useLocation() may be used only in the context of a component."),h.useContext(ji).location}var Rp="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Fp(t){h.useContext(or).static||h.useLayoutEffect(t)}function wc(){let{isDataRoute:t}=h.useContext(pr);return t?x0():l0()}function l0(){$e(Bs(),"useNavigate() may be used only in the context of a component.");let t=h.useContext(jn),{basename:e,navigator:r}=h.useContext(or),{matches:n}=h.useContext(pr),{pathname:a}=lr(),s=JSON.stringify(pc(n)),i=h.useRef(!1);return Fp(()=>{i.current=!0}),h.useCallback((l,c={})=>{if(ft(i.current,Rp),!i.current)return;if(typeof l=="number"){r.go(l);return}let f=Ni(l,JSON.parse(s),a,c.relative==="path");t==null&&e!=="/"&&(f.pathname=f.pathname==="/"?e:ar([e,f.pathname])),(c.replace?r.replace:r.push)(f,c.state,c)},[e,r,s,a,t])}var c0=h.createContext(null);function u0(t){let e=h.useContext(pr).outlet;return h.useMemo(()=>e&&h.createElement(c0.Provider,{value:t},e),[e,t])}function J5(){let{matches:t}=h.useContext(pr),e=t[t.length-1];return e?e.params:{}}function $s(t,{relative:e}={}){let{matches:r}=h.useContext(pr),{pathname:n}=lr(),a=JSON.stringify(pc(r));return h.useMemo(()=>Ni(t,JSON.parse(a),n,e==="path"),[t,a,n,e])}function d0(t,e,r){$e(Bs(),"useRoutes() may be used only in the context of a component.");let{navigator:n}=h.useContext(or),{matches:a}=h.useContext(pr),s=a[a.length-1],i=s?s.params:{},o=s?s.pathname:"/",l=s?s.pathnameBase:"/",c=s&&s.route;{let b=c&&c.path||"";Ap(o,!c||b.endsWith("*")||b.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${o}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. @@ -340,4 +340,4 @@ ${rt}`:M=rt;const U=l.current;U&&U.readyState===WebSocket.OPEN?U.send(new Ze(AR, 100% {box-shadow: `).concat(w,"px ").concat(-_,"px ").concat(v,", ").concat(-w,"px ").concat(_,"px ").concat(v,"}"),"before"),P=Ah("HashLoader","0% {height: ".concat(b,"px; box-shadow: ").concat(_,"px ").concat(w,"px ").concat(a,", ").concat(-_,"px ").concat(-w,"px ").concat(a,`} 35% {height: `).concat(ii(f),"; box-shadow: ").concat(_,"px 0 ").concat(a,", ").concat(-_,"px 0 ").concat(a,`} 70% {height: `).concat(b,"px; box-shadow: ").concat(_,"px ").concat(-w,"px ").concat(a,", ").concat(-_,"px ").concat(w,"px ").concat(a,`} - 100% {box-shadow: `).concat(_,"px ").concat(w,"px ").concat(a,", ").concat(-_,"px ").concat(-w,"px ").concat(a,"}"),"after"),R=function(E){return{position:"absolute",top:"50%",left:"50%",display:"block",width:"".concat(g/5).concat(m),height:"".concat(g/5).concat(m),borderRadius:"".concat(g/10).concat(m),transform:"translate(-50%, -50%)",animationFillMode:"none",animation:"".concat(E===1?F:P," ").concat(2/i,"s infinite")}};return r?h.createElement("span",Di({style:y},d),h.createElement("span",{style:R(1)}),h.createElement("span",{style:R(2)})):null}const wP=({label:t,value:e})=>u.jsxs("div",{className:"text-sm text-gray-300",children:[u.jsxs("span",{className:"font-semibold",children:[t,":"]}),u.jsx("span",{className:"ml-1",children:e})]}),xP=({status:t,onReconnect:e})=>{const{t:r}=Qe(),n=t?.code!==void 0&&t.code!==null,a=t?.message&&t.message.trim()!=="";return u.jsxs("div",{className:"max-w-md w-[400px] bg-[#1E1E1E] border border-red-600 rounded-2xl p-6 shadow-2xl flex flex-col gap-3",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx(bg,{className:"text-red-500 w-7 h-7 animate-pulse"}),u.jsx("h2",{className:"text-red-400 text-2xl font-bold leading-snug",children:r("access.guacamole.error_title","Connection Error")})]}),n&&u.jsx(wP,{label:r("access.guacamole.code","Code"),value:t.code}),a&&u.jsxs("div",{className:"text-sm text-gray-300 break-words",children:[u.jsxs("span",{className:"font-semibold",children:[r("access.guacamole.message","Message"),":"]}),u.jsx("span",{className:"ml-1",children:t.message})]}),e&&u.jsx("button",{onClick:e,className:"mt-4 self-end bg-gradient-to-tr from-blue-500 to-indigo-600 hover:from-blue-600 hover:to-indigo-700 text-white font-medium px-6 py-2 rounded-xl shadow-lg transform hover:-translate-y-0.5 transition-all duration-200",children:r("assets.resize_methods.reconnect","Reconnect")})]})};var mb=(t=>(t[t.IDLE=0]="IDLE",t[t.CONNECTING=1]="CONNECTING",t[t.WAITING=2]="WAITING",t[t.CONNECTED=3]="CONNECTED",t[t.DISCONNECTING=4]="DISCONNECTING",t[t.DISCONNECTED=5]="DISCONNECTED",t))(mb||{});const kP=({stateText:t,tunnelText:e})=>u.jsxs("div",{className:"flex flex-col gap-4 p-4 text-center items-center",children:[u.jsx(vP,{color:"#1568DB",size:50}),u.jsx("div",{className:"text-white text-lg font-medium",children:t}),u.jsx("div",{className:"text-sm text-gray-400",children:e})]}),bb=({state:t,status:e,tunnelState:r,onReconnect:n,className:a="",overlay:s=!0})=>{const{t:i}=Qe(),o=h.useMemo(()=>({0:i("guacamole.state.idle"),1:i("guacamole.state.connecting"),2:i("guacamole.state.waiting"),3:i("guacamole.state.connected"),4:i("guacamole.state.disconnecting"),5:i("guacamole.state.disconnected")}),[i]),l=h.useMemo(()=>({[st.Tunnel.State.CONNECTING]:i("guacamole.tunnel.connecting"),[st.Tunnel.State.OPEN]:i("guacamole.tunnel.open"),[st.Tunnel.State.CLOSED]:i("guacamole.tunnel.closed"),[st.Tunnel.State.UNSTABLE]:i("guacamole.tunnel.unstable")}),[i]),c=h.useMemo(()=>t===3&&(r===st.Tunnel.State.OPEN||r===st.Tunnel.State.UNSTABLE),[t,r]),f=h.useMemo(()=>t===5||r===st.Tunnel.State.CLOSED,[t,r]),d=h.useMemo(()=>e?.code&&e.code>0||f,[e,f]);if(c)return null;const p=()=>{if(d){const b=e||{code:-1,message:i("guacamole.state.disconnected")};return u.jsx(xP,{status:b,onReconnect:n})}const m=t!==void 0?o[t]:i("guacamole.state.unknown"),y=l[r]||i("guacamole.tunnel.unknown");return u.jsx(kP,{stateText:m,tunnelText:y})},g=s?"flex items-center justify-center h-full w-full absolute z-50":"flex items-center justify-center";return u.jsx("div",{className:`${g} ${a}`,children:p()})},SP=[{key:"65507+65513+65535",label:"Ctrl+Alt+Delete"},{key:"65507+65513+65228",label:"Ctrl+Alt+Backspace"},{key:"65515+100",label:"Window+D"},{key:"65515+101",label:"Window+E"},{key:"65515+114",label:"Window+R"},{key:"65515+120",label:"Window+X"},{key:"65515",label:"Window"}],CP=({hasFileSystem:t,onOpenFS:e,onShare:r,onClipboard:n,onFull:a,onSendKeys:s})=>{const{t:i}=Qe(),[o,l]=qt.useState(!1),c=f=>{const d=f.key.split("+");s(d)};return u.jsxs(mn.Group,{shape:"circle",open:o,trigger:"click",icon:u.jsx(Hh,{}),onClick:()=>l(!o),children:[t&&u.jsx(mn,{icon:u.jsx(Ey,{}),tooltip:i("assets.filesystem"),onClick:e}),u.jsx(mn,{icon:u.jsx(Ry,{}),tooltip:i("access.session.share.action"),onClick:r}),u.jsx(mn,{icon:u.jsx(Fy,{}),tooltip:i("access.clipboard"),onClick:n}),u.jsx(Oi,{menu:{items:SP,onClick:c},trigger:["click"],placement:"bottomLeft",children:u.jsx(mn,{icon:u.jsx(Py,{}),tooltip:i("access.combination_key")})}),u.jsx(mn,{icon:u.jsx(Ay,{}),tooltip:i("access.toggle_full_screen"),onClick:a})]})},yb=new Map([[48,65456],[49,65457],[50,65458],[51,65459],[52,65460],[53,65461],[54,65462],[55,65463],[56,65464],[57,65465],[42,65450],[43,65451],[45,65453],[47,65455],[46,65454],[44,65452],[65456,48],[65457,49],[65458,50],[65459,51],[65460,52],[65461,53],[65462,54],[65463,55],[65464,56],[65465,57],[65450,42],[65451,43],[65453,45],[65455,47],[65454,46],[65452,44]]),Th=({assetId:t})=>{let[e,r]=h.useState(!1),[n,a]=h.useState(),{t:s}=Qe(),{message:i}=ln.useApp(),[o,l]=h.useState(0);const c=h.useRef(null),f=h.useRef(null);let d=h.useRef(null),p=h.useRef(null),g=h.useRef(null),[m,y]=h.useState(),[b,w]=h.useState(),[_,v]=h.useState(),[F,P]=h.useState();const[R,E]=h.useState({sharer:!1,fs:!1,clipboard:!1,mfa:!1});let[x,A]=h.useState(""),{width:I,height:k}=Br(),[S]=Xi(),[T]=Vc(),[L,D]=h.useState(!0),[z,Y]=h.useState(!1),[j,O]=h.useState(!1),B=pb();h.useEffect(()=>{const ee=T.split("_")[1];D(ee===t)},[T,t]),h.useEffect(()=>{if(B&&L)return J(),G(),p.current?.focus(),window.addEventListener("keydown",Rd),()=>{window.removeEventListener("keydown",Rd)};(!B||!L)&&(g.current?.reset(),console.log("keyboard reset "))},[B,L]);let Z=Lc({mutationFn:ee=>new Promise(le=>{for(const[De,Ee]of Object.entries(ee)){const Te=Ee??"",Ie=d.current?.createArgumentValueStream("text/plain",De);if(Ie){const tt=new st.StringWriter(Ie);tt.sendText(Te),tt.sendEnd()}}le()}),onSuccess:()=>r(!1)});const oe=()=>{const ee=Q();if(!L||ee.width===0||ee.height===0)return;const le=d.current?.getDisplay(),De=le?.getWidth(),Ee=le?.getHeight(),Te=V();if((De!==ee.width*Te||Ee!==ee.height*Te)&&(j||d.current?.sendSize(ee.width*Te,ee.height*Te)),De&&Ee){const Ie=Math.min(ee.width/De,ee.height/Ee);le.scale(Ie)}},V=()=>1,G=ma(oe,250);h.useEffect(()=>{G()},[I,k,S]);const Q=()=>Vl()?{width:window.innerWidth,height:window.innerHeight}:{width:f.current?.offsetWidth??0,height:f.current?.offsetHeight??0},H=(ee,le)=>{if(/^text\//.test(le)){const De=new st.StringReader(ee);let Ee="";De.ontext=Te=>Ee+=Te,De.onend=()=>{A(Ee),_s(Ee),i.success(s("general.copy_success"))}}else{const De=new st.BlobReader(ee,le);De.onend=()=>De.getBlob().text().then(Ee=>{A(Ee),_s(Ee),i.success(s("general.copy_success"))})}},J=()=>{navigator.clipboard&&navigator.clipboard.readText().then(ee=>{ce({data:ee,type:"text/plain"})}).catch(console.error)},ne=async ee=>{let le;try{le=await Pt.createSessionByAssetsId(t,ee),P(le)}catch(W){console.error("create session err",W);return}let De=new st.WebSocketTunnel(`${zs()}/access/graphics`),Ee=new st.Client(De);De.onstatechange=v,Ee.onstatechange=y,Ee.onerror=w,Ee.onrequired=function(W){a([...W]),r(!0)},Ee.onclipboard=(W,ae)=>{le?.strategy?.copy?H(W,ae):i.info(s("general.clipboard_disabled"))};const Te=c.current;if(Te)for(;Te.firstChild;)Te.removeChild(Te.firstChild);const Ie=Ee.getDisplay().getElement();Te?.appendChild(Ie);let tt=Ee.getDisplay();tt.onresize=function(W,ae){G()};const rt=new st.InputSink;let Ge=rt.getElement();Ge.addEventListener("paste",function(W){W.preventDefault()}),Ie.appendChild(Ge),p.current=rt;const ht=new st.Keyboard(Ge);function vt(W){const ae=yb.get(W);return ae!==void 0&&ht.pressed[ae]}function Tt(W,ae){return!(vt(ae)||(Ee.sendKeyEvent(W?1:0,ae),W&&ae===65288))}ht.onkeydown=W=>Tt(!0,W),ht.onkeyup=W=>Tt(!1,W),g.current=ht;const wt=new st.Mouse(Ie);wt.onmousedown=wt.onmouseup=function(W){Ee.sendMouseState(W),rt.focus()},wt.onmousemove=function(W){W.x=W.x/tt.getScale(),W.y=W.y/tt.getScale(),Ee.sendMouseState(W)};const xt=new st.Mouse.Touchpad(Ie);xt.onmousedown=xt.onmousemove=xt.onmouseup=function(W){Ee.sendMouseState(W)};let Qt=jt();const Dt=V();let{width:ot,height:nt}=Q(),It={width:ot*Dt,height:nt*Dt,dpi:Dt*96,sessionId:le.id,"X-Auth-Token":Qt};le.width>0&&le.height>0&&(It.width=le.width,It.height=le.height,O(!0));let dr=ka.stringify(It);Ee.connect(dr),d.current=Ee},re=async()=>{await Pt.getAccessRequireMFA()?Y(!0):ne()};h.useEffect(()=>{if(c.current)return re(),()=>{d.current?.disconnect()}},[o]);const ce=ee=>{if(!d.current)return;const le=d.current?.createClipboardStream(ee.type);if(typeof ee.data=="string"){let De=new st.StringWriter(le);De.sendText(ee.data),De.sendEnd()}else{let De=new st.BlobWriter(le);De.oncomplete=function(){De.sendEnd()},De.sendBlob(ee.data)}},Ae=ee=>{for(let le=0;le{Wk(c.current),p.current?.focus()};return u.jsxs("div",{className:"w-full",style:{height:k-77.5},ref:f,children:[u.jsx(bb,{state:m,status:b,tunnelState:_,onReconnect:()=>{w({}),y(mb.IDLE),v(st.Tunnel.State.CONNECTING),l(ee=>ee+1)},overlay:!0}),u.jsx("div",{className:"flex items-center justify-center h-full w-full",children:u.jsx(tp,{content:F?.watermark?.content,font:{color:F?.watermark?.color,fontSize:F?.watermark?.size},className:"w-full",children:u.jsx("div",{className:"w-full flex items-center justify-center",ref:c})})}),u.jsx(CP,{sessionId:F?.id,hasFileSystem:F?.fileSystem,onOpenFS:()=>{E({...R,fs:!0})},onShare:()=>{E({...R,sharer:!0})},onClipboard:()=>{E({...R,clipboard:!0})},onFull:()=>{Ce()},onSendKeys:ee=>{Ae(ee)}}),u.jsx(hb,{fsId:F?.id,strategy:F?.strategy,open:R.fs,mask:!1,maskClosable:!1,onClose:()=>{E({...R,fs:!1})}}),u.jsx(cb,{sessionId:F?.id,open:R.sharer,onClose:()=>E({...R,sharer:!1})}),u.jsx(pP,{clipboardText:x,open:R.clipboard,handleOk:ee=>{ce({data:ee,type:"text/plain"}),A(ee),p.current?.focus(),E({...R,clipboard:!1})},handleCancel:()=>{p.current?.focus(),E({...R,clipboard:!1})}}),u.jsx(gP,{open:e,parameters:n,confirmLoading:Z.isPending,handleOk:Z.mutate,handleCancel:()=>{r(!1),d.current?.disconnect()}}),u.jsx(tu,{open:z,handleOk:async ee=>{Y(!1),ne(ee)},handleCancel:()=>Y(!1)})]})},EP=()=>{const{t}=Qe(),{height:e}=Br(),[r,n]=Vc(),[a,s]=Xi(),[i,o]=Fc(),l=h.useRef(null),{items:c,addTab:f,removeTab:d,handleCloseLeft:p,handleCloseRight:g,handleCloseAll:m,handleCloseOthers:y,handleReconnect:b,onDragEnd:w}=NF(r,n),_=h.useCallback(Q=>{const J=ms()+"_"+Q.id;switch(Q.protocol){case"ssh":case"telnet":f(J,Q.name,u.jsx(hP,{assetId:Q.id}));break;case"rdp":f(J,Q.name,u.jsx(Th,{assetId:Q.id}));break;default:f(J,Q.name,u.jsx(Th,{assetId:Q.id}));break}},[f]),[v,F]=h.useState(()=>xn.get(Xn.COLLAPSED_STATE,!1)),[P,R]=h.useState(()=>xn.get(Xn.PANEL_SIZES,{left:15,right:85}).left),E=h.useCallback(Q=>{R(Q);const H={left:Q,right:100-Q};xn.set(Xn.PANEL_SIZES,H);const J=Q===2;J!==v&&(F(J),xn.set(Xn.COLLAPSED_STATE,J)),s(100-Q)},[v,s]),[x,A]=h.useState(!1),[I,k]=h.useState(!1),[S,T]=h.useState([]),[L,D]=h.useState(!1),[z,Y]=h.useState(null);h.useEffect(()=>(document.body.style.overflow="hidden",window.addEventListener("beforeunload",wi,!0),document.addEventListener("keydown",Ed),()=>{window.removeEventListener("beforeunload",wi,!0),document.removeEventListener("keydown",Ed)}),[]),h.useEffect(()=>{ec("#313131")},[]),h.useEffect(()=>{const Q=i.get("asset");if(Q){try{const J=MF(Q);J&&(J.status==="inactive"&&J.wolEnabled?(Y({id:J.id,name:J.name,protocol:J.protocol}),D(!0)):_(J))}catch(J){console.warn("Invalid access asset param:",J)}const H=new URLSearchParams(i);H.delete("asset"),o(H,{replace:!0})}},[_,i,o]);const j=h.useCallback(Q=>{let H=Q.key;if(typeof H=="string"&&H.startsWith("asset_")&&(H=H.substring(6)),Q.extra?.status==="inactive"&&Q.extra?.wolEnabled){Y({id:H,name:Q.title,protocol:Q.extra?.protocol}),D(!0);return}_({id:H,name:Q.title,protocol:Q.extra?.protocol})},[_]),O=h.useCallback(()=>{f("theme",t("access.settings.theme"),u.jsx(bR,{}))},[f,t]),B=h.useCallback(()=>{f("setting",t("menus.setting.label"),u.jsx(vR,{}))},[f,t]),Z=h.useCallback(()=>{A(!0)},[]),oe=h.useCallback(async Q=>{if(await Pt.getAccessRequireMFA())k(!0),T(Q);else{A(!1);const J=ms();f(J,t("access.batch.exec"),u.jsx(wh,{assetIds:Q}))}},[f,t]),V=h.useCallback(async Q=>{k(!1),A(!1);const H=ms();f(H,t("access.batch.exec"),u.jsx(wh,{assetIds:S,securityToken:Q}))},[S,f,t]),G=h.useCallback(()=>{D(!1),z&&_({id:z.id,name:z.name,protocol:z.protocol}),Y(null)},[z,_]);return u.jsx(dc,{theme:{components:{Tabs:{titleFontSizeSM:13}},algorithm:Li.darkAlgorithm},locale:im(et.language),children:u.jsx(ln,{children:u.jsx(Kh,{hashPriority:"high",children:u.jsxs("div",{className:"h-screen w-screen overflow-hidden",children:[u.jsx(sb,{onThemeClick:O,onSettingClick:B,onBatchSSHClick:Z}),u.jsxs(aR,{defaultTheme:"dark",storageKey:"nt-ui-theme",children:[u.jsxs(Fm,{direction:"horizontal",children:[u.jsx(ob,{isCollapsed:v,leftPanelSize:P,height:e,onResize:E,leftRef:l,onNodeDoubleClick:j}),u.jsx(Pm,{withHandle:!0}),u.jsx(lb,{items:c,activeKey:r,leftPanelSize:P,onChange:n,onRemove:d,onDragEnd:w,onContentResize:s,tabOperations:{handleCloseLeft:p,handleCloseRight:g,handleCloseAll:m,handleCloseOthers:y,handleReconnect:b}})]}),u.jsx(SR,{open:x,handleCancel:()=>A(!1),handleOk:oe}),u.jsx(tu,{open:I,handleOk:V,handleCancel:()=>k(!1)}),u.jsx(CF,{open:L,assetId:z?.id||"",assetName:z?.name||"",onSuccess:G,onCancel:()=>{D(!1),Y(null)}})]})]})})})})};function Ii(t,e){return t||e}const RP=({})=>{const t=qt.useRef();let e=h.useRef();const[r]=Fc();let n=Ii(r.get("token"),""),a=Ii(r.get("sharer"),!1),s=r.get("sessionId"),[i,o]=h.useState("");Gc(()=>{e.current?.send(new Ze(Jc,"").toString())},5e3),h.useEffect(()=>{document.title=i},[i]);const l=(d,p)=>{d.writeln(`\x1B[1;3;31m${p}\x1B[0m `)},c=(d,{id:p,idle:g,assetName:m})=>{let y=t.current;if(!y)return;o(m),d.open(y);let b=new Yc.FitAddon;d.loadAddon(b),b.fit(),d.focus(),d.attachCustomKeyEventHandler(R=>R.ctrlKey&&R.key==="c"&&d.hasSelection()?!1:!(R.ctrlKey&&R.key==="v")),d.writeln("trying to connect to the server ...");let w=d.cols,_=d.rows,v=jt();Nr.hasText(n)&&(v=n);let F={cols:w,rows:_,"X-Auth-Token":v,sharer:a,sessionId:p},P=ka.stringify(F);return e.current=new WebSocket(`${zs()}/access/terminal?${P}`),e.current.onopen=(R=>{d.clear(),a||d.onResize(function(E){e.current.send(new Ze(Qc,`${E.cols},${E.rows}`).toString())}),window.addEventListener("resize",()=>{b&&b.fit()})}),e.current.onerror=R=>{l(d,"websocket error")},e.current.onclose=R=>{l(d,"connection is closed.")},d.onData(R=>{e.current.send(new Ze(Rt,R).toString())}),e.current.onmessage=R=>{let E=Ze.parse(R.data);E.type===Rt&&d.write(E.content)},e},f=d=>{const p="Leave?";return d.returnValue=p,p};return h.useEffect(()=>{if(e.current)return;let d=new Kc.Terminal({fontFamily:'monaco, Consolas, "Lucida Console", monospace',fontSize:15,theme:{background:"#141414"}});return Pt.getSessionById(s).then(p=>{c(d,p)}).catch(p=>{l(d,`get session err,${p?.message}`)}),window.addEventListener("beforeunload",f),()=>{window.removeEventListener("beforeunload",f)}},[]),u.jsx("div",{className:"overflow-hidden",children:u.jsx("div",{ref:t,className:"h-screen w-screen p-2 bg-[#141414]"})})},FP=()=>{const[t]=Fc();let e=Ii(t.get("token"),""),r=Ii(t.get("sharer"),!1),n=t.get("sessionId");const a=h.useRef(null),s=h.useRef(null);let i=h.useRef(null),o=h.useRef(null),l=h.useRef(null),{width:c,height:f}=Br(),[d,p]=h.useState([0,0]),[g,m]=h.useState(),[y,b]=h.useState(),[w,_]=h.useState(),v=pb();h.useEffect(()=>{v||l.current?.reset()},[v]);const P=ma(()=>{const x=Vl()?{width:window.innerWidth,height:window.innerHeight}:{width:s.current?.offsetWidth??0,height:s.current?.offsetHeight??0};if(x.width===0||x.height===0)return;const A=i.current?.getDisplay(),I=A?.getWidth(),k=A?.getHeight();if((I!==x.width||k!==x.height)&&A?.onresize(x.width,x.height),I&&k){const S=Math.min(x.width/I,x.height/k);A.scale(S)}},500);h.useEffect(()=>{P()},[c,f,d]);const R=()=>Vl()?{width:window.innerWidth,height:window.innerHeight}:{width:s.current?.offsetWidth??0,height:s.current?.offsetHeight??0},E=x=>{let A=new st.WebSocketTunnel(`${zs()}/access/graphics`),I=new st.Client(A);A.onstatechange=_,I.onstatechange=m,I.onerror=b;const k=a.current;if(k)for(;k.firstChild;)k.removeChild(k.firstChild);const S=I.getDisplay().getElement();k?.appendChild(S);let T=I.getDisplay();T.onresize=function(H,J){p([H,J])};const L=new st.InputSink;let D=L.getElement();D.addEventListener("paste",function(H){H.preventDefault()}),S.appendChild(D);const z=new st.Keyboard(document);function Y(H){const J=yb.get(H);return J!==void 0&&z.pressed[J]}function j(H,J){return!(Y(J)||(I.sendKeyEvent(H?1:0,J),J===65288))}z.onkeydown=H=>j(!0,H),z.onkeyup=H=>j(!1,H),l.current=z;const O=new st.Mouse(S);O.onmousedown=O.onmouseup=function(H){I.sendMouseState(H),L.focus()},O.onmousemove=function(H){H.x=H.x/T.getScale(),H.y=H.y/T.getScale(),I.sendMouseState(H)};const B=new st.Mouse.Touchpad(S);B.onmousedown=B.onmousemove=B.onmouseup=function(H){I.sendMouseState(H)};let Z=192,{width:oe,height:V}=R(),G={width:oe,height:V,dpi:Z,sessionId:x.id,"X-Auth-Token":e,sharer:r},Q=ka.stringify(G);I.connect(Q),i.current=I,o.current=L};return h.useEffect(()=>{Pt.getSessionById(n).then(x=>{E(x)}).catch(x=>{b({code:x.code,message:x.message})})},[]),u.jsxs("div",{className:"bg-[#1b1b1b] overflow-hidden",style:{width:c,height:f},ref:s,children:[u.jsx(bb,{state:g,status:y,tunnelState:w}),u.jsx("div",{className:"flex items-center justify-center",children:u.jsx("div",{className:"",ref:a})})]})},PP=h.lazy(()=>pe(()=>import("./AuthorisedAssetPage-Bnh0QZ4Y.js"),__vite__mapDeps([3,1,4,5,6,7,8,9,10,11,12,0,2,13,14]))),AP=h.lazy(()=>pe(()=>import("./AuthorisedWebsitePage-O4HuiOP6.js"),__vite__mapDeps([15,1,16,5,6,7,8,9,10,11,12,0,2,13,14]))),TP=h.lazy(()=>pe(()=>import("./AuthorisedAssetPost-BFbI-Qae.js"),__vite__mapDeps([17,1,18,19,6,7,8,4,0,2,13,14]))),DP=h.lazy(()=>pe(()=>import("./AuthorisedWebsitePost-CkpOhlat.js"),__vite__mapDeps([20,1,6,7,9,16,0,2,13,14]))),IP=h.lazy(()=>pe(()=>import("./LoginPage-EZSuVsun.js"),__vite__mapDeps([21,1,22,23,24,0,2,13,14]))),LP=h.lazy(()=>pe(()=>import("./WechatWorkCallback-uR2Gy8LY.js"),__vite__mapDeps([25,1,22,0,2,13,14]))),OP=h.lazy(()=>pe(()=>import("./OidcCallback-Ceurjycx.js"),__vite__mapDeps([26,1,23,0,2,13,14]))),MP=h.lazy(()=>pe(()=>import("./OidcServerConsent-Cp7AAUPq.js"),__vite__mapDeps([27,1,0,2,13,14]))),NP=h.lazy(()=>pe(()=>import("./MobileAccessTerminal-DTIA7YRO.js"),__vite__mapDeps([28,1,0,2,13,14]))),jP=h.lazy(()=>pe(()=>import("./UserPage-_qXT4zeH.js"),__vite__mapDeps([29,1,6,30,31,7,11,0,2,13,14]))),BP=h.lazy(()=>pe(()=>import("./UserDetailPage-COUllrPm.js"),__vite__mapDeps([32,1,6,12,33,34,0,2,13,14]))),$P=h.lazy(()=>pe(()=>import("./SettingPage-naIEfwq6.js"),__vite__mapDeps([35,1,12,36,6,7,0,2,13,14]))),zP=h.lazy(()=>pe(()=>import("./InfoPage-C1KU0N5z.js"),__vite__mapDeps([37,1,34,0,2,13,14]))),UP=h.lazy(()=>pe(()=>import("./DepartmentPage-SejOk8c8.js"),__vite__mapDeps([38,1,7,6,30,11,0,2,13,14]))),WP=h.lazy(()=>pe(()=>import("./DepartmentDetail-Be35ReAG.js"),__vite__mapDeps([39,1,7,12,0,2,13,14]))),qP=h.lazy(()=>pe(()=>import("./RolePage-C6MaXYBm.js"),__vite__mapDeps([40,1,31,30,11,0,2,13,14]))),HP=h.lazy(()=>pe(()=>import("./RoleDetail-BVoN2R-V.js"),__vite__mapDeps([41,1,31,0,2,13,14]))),GP=h.lazy(()=>pe(()=>import("./LoginLockedPage-BfP3eKHk.js"),__vite__mapDeps([42,1,11,30,0,2,13,14]))),VP=h.lazy(()=>pe(()=>import("./LoginPolicyPage-CQKYlGgn.js"),__vite__mapDeps([43,1,33,30,11,12,0,2,13,14]))),KP=h.lazy(()=>pe(()=>import("./LoginPolicyPostPage-Ds4eWRMf.js"),__vite__mapDeps([44,1,33,0,2,13,14,45]))),YP=h.lazy(()=>pe(()=>import("./LoginPolicyDetailPage-C-1zj9bm.js"),__vite__mapDeps([46,1,33,6,0,2,13,14]))),QP=h.lazy(()=>pe(()=>import("./OidcClientPage-DILLx2b5.js"),__vite__mapDeps([47,1,30,11,6,7,0,2,13,14]))),JP=h.lazy(()=>pe(()=>import("./AssetPage-CInWNumO.js"),__vite__mapDeps([48,1,8,11,49,9,50,51,52,13,36,53,54,30,0,2,14]))),XP=h.lazy(()=>pe(()=>import("./DatabaseAssetPage-BerFFisj.js"),__vite__mapDeps([55,1,10,51,50,52,11,30,0,2,13,14]))),ZP=h.lazy(()=>pe(()=>import("./CredentialPage-C35A_WzA.js"),__vite__mapDeps([56,1,53,30,11,0,2,13,14]))),e5=h.lazy(()=>pe(()=>import("./CertificatePage-S9M5FoJH.js"),__vite__mapDeps([57,1,30,11,58,0,2,13,14]))),t5=h.lazy(()=>pe(()=>import("./SnippetPage-DmR5nBrh.js"),__vite__mapDeps([59,1,30,11,0,2,13,14]))),r5=h.lazy(()=>pe(()=>import("./StrategyPage-DFdP-6KB.js"),__vite__mapDeps([60,1,19,30,11,0,2,13,14]))),n5=h.lazy(()=>pe(()=>import("./CommandFilterPage-b_7r890m.js"),__vite__mapDeps([61,1,18,30,11,0,2,13,14]))),a5=h.lazy(()=>pe(()=>import("./CommandFilterDetail-DF5yiZYa.js"),__vite__mapDeps([62,1,18,30,11,0,2,13,14]))),s5=h.lazy(()=>pe(()=>import("./AuthorisedDatabaseAssetPage-D8lUCC84.js"),__vite__mapDeps([63,1,64,5,6,7,8,9,10,11,12,0,2,13,14]))),i5=h.lazy(()=>pe(()=>import("./AuthorisedDatabaseAssetPost-DCLaLxbv.js"),__vite__mapDeps([65,1,6,7,10,64,0,2,13,14]))),o5=h.lazy(()=>pe(()=>import("./ScheduledTaskPage-CpGHrjAP.js"),__vite__mapDeps([66,1,30,8,11,67,0,2,13,14]))),l5=h.lazy(()=>pe(()=>import("./ToolsPage-l87ZTNOl.js"),__vite__mapDeps([68,1,0,2,13,14]))),c5=h.lazy(()=>pe(()=>import("./LoginLogPage-BLK1mfnq.js"),__vite__mapDeps([69,1,30,0,2,13,14]))),u5=h.lazy(()=>pe(()=>import("./OperationLogPage-7stIEQaB.js"),__vite__mapDeps([70,1,30,0,2,13,14]))),d5=h.lazy(()=>pe(()=>import("./OfflineSessionPage-BQbWlNuQ.js"),__vite__mapDeps([71,1,30,72,11,13,0,2,14]))),f5=h.lazy(()=>pe(()=>import("./OnlineSessionPage-C4HtKXE7.js"),__vite__mapDeps([73,1,30,72,11,13,0,2,14]))),h5=h.lazy(()=>pe(()=>import("./TerminalPlayback-CslH5VTi.js"),__vite__mapDeps([74,1,72,34,0,2,13,14,75]))),p5=h.lazy(()=>pe(()=>import("./TerminalMonitor-BuiLfLXh.js"),__vite__mapDeps([76,1,0,2,13,14]))),g5=h.lazy(()=>pe(()=>import("./GuacdPlayback-CXTxl9WE.js"),__vite__mapDeps([77,1,34,0,2,13,14,78]))),m5=h.lazy(()=>pe(()=>import("./GuacdMonitor-BFjzb-EC.js"),__vite__mapDeps([79,1,0,2,13,14]))),b5=h.lazy(()=>pe(()=>import("./FileSystemLogPage-By5AW-Bn.js"),__vite__mapDeps([80,1,30,0,2,13,14]))),y5=h.lazy(()=>pe(()=>import("./AccessLogPage-rqId-oaG.js"),__vite__mapDeps([81,1,30,82,0,2,13,14]))),_5=h.lazy(()=>pe(()=>import("./AccessLogStatsPage-BdoEC7iY.js"),__vite__mapDeps([83,1,82,9,84,85,13,0,2,14]))),v5=h.lazy(()=>pe(()=>import("./DatabaseSQLLogPage-C0VvLLEG.js"),__vite__mapDeps([86,1,30,5,6,7,8,9,10,0,2,13,14]))),w5=h.lazy(()=>pe(()=>import("./SshGatewayPage-hPMUXSQN.js"),__vite__mapDeps([87,1,30,51,53,11,0,2,13,14]))),x5=h.lazy(()=>pe(()=>import("./AgentGatewayPage-CkGwNps2.js"),__vite__mapDeps([88,1,50,13,11,67,85,30,0,2,14]))),k5=h.lazy(()=>pe(()=>import("./GatewayGroupPage-lhyUsn9i.js"),__vite__mapDeps([89,1,52,51,50,0,2,13,14]))),S5=h.lazy(()=>pe(()=>import("./ErrorPage-WplkeDbT.js"),__vite__mapDeps([90,1,0,2,13,14]))),C5=h.lazy(()=>pe(()=>import("./StoragePage-JPUhNoV1.js"),__vite__mapDeps([91,1,54,11,30,0,2,13,14]))),E5=h.lazy(()=>pe(()=>import("./WebsitePage-BQsgC7sM.js"),__vite__mapDeps([92,1,9,11,13,8,50,51,52,36,67,58,49,30,0,2,14]))),R5=h.lazy(()=>pe(()=>import("./BrowserPage-xofuPwAx.js"),__vite__mapDeps([93,1,0,2,13,14,94]))),F5=h.lazy(()=>pe(()=>import("./AssetFacadePage-Cidq4AsP.js"),__vite__mapDeps([95,1,96,13,97,0,2,14]))),P5=h.lazy(()=>pe(()=>import("./WebsiteFacadePage-Bpy51VlF.js"),__vite__mapDeps([98,1,96,13,97,0,2,14]))),A5=h.lazy(()=>pe(()=>import("./RedirectPage-xjIE-7In.js"),__vite__mapDeps([99,1,0,2,13,14]))),T5=h.lazy(()=>pe(()=>import("./UserLayout-C7K-gfNi.js"),__vite__mapDeps([100,1,13,24,0,2,14]))),D5=h.lazy(()=>pe(()=>import("./DashboardPage-CPKeLQvq.js"),__vite__mapDeps([101,1,72,84,67,13,0,2,14]))),I5=h.lazy(()=>pe(()=>import("./UserInfoPage-C5YwCFfO.js"),__vite__mapDeps([102,1,37,34,0,2,13,14]))),L5=h.lazy(()=>pe(()=>import("./SnippetUserPage-DYKwTzpZ.js"),__vite__mapDeps([103,1,11,97,0,2,13,14]))),O5=h.lazy(()=>pe(()=>import("./DatabaseAssetFacadePage-Dn2DFVr8.js"),__vite__mapDeps([104,1,0,2,13,14]))),M5=h.lazy(()=>pe(()=>import("./SystemMonitorPage-DWtzWPw3.js"),__vite__mapDeps([105,1,0,2,13,14]))),N5=h.lazy(()=>pe(()=>import("./SetupPage-CTGu1LkD.js"),__vite__mapDeps([106,1,6,0,2,13,14]))),j5=h.lazy(()=>pe(()=>import("./DatabaseWorkOrderPage-B_VFfBxr.js"),__vite__mapDeps([107,1,108,11,30,5,6,7,8,9,10,0,2,13,14]))),B5=h.lazy(()=>pe(()=>import("./DatabaseWorkOrderUserPage-DFD-a3Te.js"),__vite__mapDeps([109,1,108,30,97,0,2,13,14]))),$5=av([{path:"/setup",element:u.jsx(N5,{})},{path:"/access",element:u.jsx(EP,{})},{path:"/login",element:u.jsx(IP,{})},{path:"/wechat-work/callback",element:u.jsx(LP,{})},{path:"/oidc/callback",element:u.jsx(OP,{})},{path:"/oidc/server/consent",element:u.jsx(MP,{})},{path:"/terminal-playback",element:u.jsx(h5,{})},{path:"/terminal-monitor",element:u.jsx(p5,{})},{path:"/graphics-playback",element:u.jsx(g5,{})},{path:"/graphics-monitor",element:u.jsx(m5,{})},{path:"/terminal",element:u.jsx(RP,{})},{path:"/mobile-terminal",element:u.jsx(NP,{})},{path:"/graphics",element:u.jsx(FP,{})},{path:"/browser",element:u.jsx(R5,{})},{path:"/",element:u.jsx(A5,{}),errorElement:u.jsx(S5,{})},{element:u.jsx(T5,{}),children:[{path:"/x-asset",element:u.jsx(F5,{})},{path:"/x-database-asset",element:u.jsx(O5,{})},{path:"/x-website",element:u.jsx(P5,{})},{path:"/x-snippet",element:u.jsx(L5,{})},{path:"/x-info",element:u.jsx(I5,{})},{path:"/x-db-work-order",element:u.jsx(B5,{})}]},{element:u.jsx(RE,{}),children:[{path:"/dashboard",element:u.jsx(D5,{})},{path:"/user",element:u.jsx(jP,{})},{path:"/user/:userId",element:u.jsx(BP,{})},{path:"/department",element:u.jsx(UP,{})},{path:"/department/:departmentId",element:u.jsx(WP,{})},{path:"/login-locked",element:u.jsx(GP,{})},{path:"/login-policy",element:u.jsx(VP,{})},{path:"/login-policy/new",element:u.jsx(KP,{})},{path:"/login-policy/:loginPolicyId",element:u.jsx(YP,{})},{path:"/role",element:u.jsx(qP,{})},{path:"/role/:roleId",element:u.jsx(HP,{})},{path:"/oidc-client",element:u.jsx(QP,{})},{path:"/login-log",element:u.jsx(c5,{})},{path:"/operation-log",element:u.jsx(u5,{})},{path:"/asset",element:u.jsx(JP,{})},{path:"/database-asset",element:u.jsx(XP,{})},{path:"/credential",element:u.jsx(ZP,{})},{path:"/snippet",element:u.jsx(t5,{})},{path:"/storage",element:u.jsx(C5,{})},{path:"/website",element:u.jsx(E5,{})},{path:"/certificate",element:u.jsx(e5,{})},{path:"/db-work-order",element:u.jsx(j5,{})},{path:"/strategy",element:u.jsx(r5,{})},{path:"/command-filter",element:u.jsx(n5,{})},{path:"/command-filter/:commandFilterId",element:u.jsx(a5,{})},{path:"/authorised-asset",element:u.jsx(PP,{})},{path:"/authorised-asset/post",element:u.jsx(TP,{})},{path:"/authorised-website",element:u.jsx(AP,{})},{path:"/authorised-website/post",element:u.jsx(DP,{})},{path:"/authorised-database-asset",element:u.jsx(s5,{})},{path:"/authorised-database-asset/post",element:u.jsx(i5,{})},{path:"/scheduled-task",element:u.jsx(o5,{})},{path:"/tools",element:u.jsx(l5,{})},{path:"/monitoring",element:u.jsx(M5,{})},{path:"/offline-session",element:u.jsx(d5,{})},{path:"/online-session",element:u.jsx(f5,{})},{path:"/filesystem-log",element:u.jsx(b5,{})},{path:"/access-log",element:u.jsx(y5,{})},{path:"/access-log-stats",element:u.jsx(_5,{})},{path:"/database-sql-log",element:u.jsx(v5,{})},{path:"/ssh-gateway",element:u.jsx(w5,{})},{path:"/agent-gateway",element:u.jsx(x5,{})},{path:"/gateway-group",element:u.jsx(k5,{})},{path:"/setting",element:u.jsx($P,{})},{path:"/info",element:u.jsx(zP,{})}]}]);function z5(){let{t}=Qe();h.useEffect(()=>{let i=document.querySelector("link[rel~='icon']");i||(i=document.createElement("link"),i.rel="icon",document.getElementsByTagName("head")[0].appendChild(i)),i.href=`${Ut()}/logo`},[]);const e=()=>{window.location.href="/login"},r=i=>{window.location.href=i};let n="",a=0;const s=(i,o)=>{let l=t(`errors.${i}`);(!l||l===`errors.${i}`)&&(l=o);const c=Date.now();n===l&&c-a<2e3||(n=l,a=c,Zh.error(l))};return h.useEffect(()=>(gt.on("API:UN_AUTH",e),gt.on("API:REDIRECT",r),gt.on("API:VALIDATE_ERROR",s),()=>{gt.off("API:UN_AUTH",e),gt.off("API:REDIRECT",r),gt.off("API:VALIDATE_ERROR",s)}),[]),u.jsx(mv,{router:$5})}const U5=console.warn,W5=console.error,q5=["findDOMNode is deprecated","is deprecated","Static function can not consume context","i18next::translator: missingKey","[i18n missing]","errors.404","errors.-1","Not Found","record not found","defaultRender","React does not recognize","Form.Item.useStatus should be used under Form.Item"],_b=t=>{const e=t.map(r=>typeof r=="string"?r:"").join(" ");return q5.some(r=>e.includes(r))};console.warn=(...t)=>{_b(t)||U5.apply(console,t)};console.error=(...t)=>{_b(t)||W5.apply(console,t)};ep.extend(Ty);const H5=new Ak({defaultOptions:{queries:{retry:(t,e)=>e?.status===401||e?.status===418?!1:t<3,refetchOnWindowFocus:!1}}});qy.createRoot(document.getElementById("root")).render(u.jsx(Tk,{client:H5,children:u.jsx(fR,{children:u.jsx(z5,{})})}));export{zs as $,dF as A,ms as B,Dm as C,hR as D,aA as E,sA as F,Yl as G,Ut as H,jt as I,bF as J,Hm as K,PC as L,tu as M,mF as N,qm as O,_F as P,as as Q,wF as R,z1 as S,xC as T,vC as U,Kl as V,ss as W,bC as X,er as Y,Kc as Z,Yc as _,wc as a,Ze as a0,Rt as a1,st as a2,bb as a3,ma as a4,bS as a5,Y1 as a6,fb as a7,iA as a8,QF as a9,Hr as aA,cc as aB,Tr as aC,fi as aD,pF as aE,oA as aa,JF as ab,eA as ac,dS as ad,tA as ae,w0 as af,xs as ag,hb as ah,sC as ai,Pt as aj,Wr as ak,vo as al,Ui as am,Z2 as an,lr as ao,EC as ap,YS as aq,vg as ar,pg as as,gt as at,D0 as au,X2 as av,wg as aw,oc as ax,lc as ay,fs as az,Fc as b,O1 as c,dg as d,cr as e,ba as f,yn as g,Lc as h,et as i,qS as j,nA as k,rA as l,Nr as m,hP as n,Ii as o,J5 as p,ka as q,de as r,SF as s,im as t,Qe as u,Pe as v,rg as w,He as x,ga as y,Tm as z}; + 100% {box-shadow: `).concat(_,"px ").concat(w,"px ").concat(a,", ").concat(-_,"px ").concat(-w,"px ").concat(a,"}"),"after"),R=function(E){return{position:"absolute",top:"50%",left:"50%",display:"block",width:"".concat(g/5).concat(m),height:"".concat(g/5).concat(m),borderRadius:"".concat(g/10).concat(m),transform:"translate(-50%, -50%)",animationFillMode:"none",animation:"".concat(E===1?F:P," ").concat(2/i,"s infinite")}};return r?h.createElement("span",Di({style:y},d),h.createElement("span",{style:R(1)}),h.createElement("span",{style:R(2)})):null}const wP=({label:t,value:e})=>u.jsxs("div",{className:"text-sm text-gray-300",children:[u.jsxs("span",{className:"font-semibold",children:[t,":"]}),u.jsx("span",{className:"ml-1",children:e})]}),xP=({status:t,onReconnect:e})=>{const{t:r}=Qe(),n=t?.code!==void 0&&t.code!==null,a=t?.message&&t.message.trim()!=="";return u.jsxs("div",{className:"max-w-md w-[400px] bg-[#1E1E1E] border border-red-600 rounded-2xl p-6 shadow-2xl flex flex-col gap-3",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx(bg,{className:"text-red-500 w-7 h-7 animate-pulse"}),u.jsx("h2",{className:"text-red-400 text-2xl font-bold leading-snug",children:r("access.guacamole.error_title","Connection Error")})]}),n&&u.jsx(wP,{label:r("access.guacamole.code","Code"),value:t.code}),a&&u.jsxs("div",{className:"text-sm text-gray-300 break-words",children:[u.jsxs("span",{className:"font-semibold",children:[r("access.guacamole.message","Message"),":"]}),u.jsx("span",{className:"ml-1",children:t.message})]}),e&&u.jsx("button",{onClick:e,className:"mt-4 self-end bg-gradient-to-tr from-blue-500 to-indigo-600 hover:from-blue-600 hover:to-indigo-700 text-white font-medium px-6 py-2 rounded-xl shadow-lg transform hover:-translate-y-0.5 transition-all duration-200",children:r("assets.resize_methods.reconnect","Reconnect")})]})};var mb=(t=>(t[t.IDLE=0]="IDLE",t[t.CONNECTING=1]="CONNECTING",t[t.WAITING=2]="WAITING",t[t.CONNECTED=3]="CONNECTED",t[t.DISCONNECTING=4]="DISCONNECTING",t[t.DISCONNECTED=5]="DISCONNECTED",t))(mb||{});const kP=({stateText:t,tunnelText:e})=>u.jsxs("div",{className:"flex flex-col gap-4 p-4 text-center items-center",children:[u.jsx(vP,{color:"#1568DB",size:50}),u.jsx("div",{className:"text-white text-lg font-medium",children:t}),u.jsx("div",{className:"text-sm text-gray-400",children:e})]}),bb=({state:t,status:e,tunnelState:r,onReconnect:n,className:a="",overlay:s=!0})=>{const{t:i}=Qe(),o=h.useMemo(()=>({0:i("guacamole.state.idle"),1:i("guacamole.state.connecting"),2:i("guacamole.state.waiting"),3:i("guacamole.state.connected"),4:i("guacamole.state.disconnecting"),5:i("guacamole.state.disconnected")}),[i]),l=h.useMemo(()=>({[st.Tunnel.State.CONNECTING]:i("guacamole.tunnel.connecting"),[st.Tunnel.State.OPEN]:i("guacamole.tunnel.open"),[st.Tunnel.State.CLOSED]:i("guacamole.tunnel.closed"),[st.Tunnel.State.UNSTABLE]:i("guacamole.tunnel.unstable")}),[i]),c=h.useMemo(()=>t===3&&(r===st.Tunnel.State.OPEN||r===st.Tunnel.State.UNSTABLE),[t,r]),f=h.useMemo(()=>t===5||r===st.Tunnel.State.CLOSED,[t,r]),d=h.useMemo(()=>e?.code&&e.code>0||f,[e,f]);if(c)return null;const p=()=>{if(d){const b=e||{code:-1,message:i("guacamole.state.disconnected")};return u.jsx(xP,{status:b,onReconnect:n})}const m=t!==void 0?o[t]:i("guacamole.state.unknown"),y=l[r]||i("guacamole.tunnel.unknown");return u.jsx(kP,{stateText:m,tunnelText:y})},g=s?"flex items-center justify-center h-full w-full absolute z-50":"flex items-center justify-center";return u.jsx("div",{className:`${g} ${a}`,children:p()})},SP=[{key:"65507+65513+65535",label:"Ctrl+Alt+Delete"},{key:"65507+65513+65228",label:"Ctrl+Alt+Backspace"},{key:"65515+100",label:"Window+D"},{key:"65515+101",label:"Window+E"},{key:"65515+114",label:"Window+R"},{key:"65515+120",label:"Window+X"},{key:"65515",label:"Window"}],CP=({hasFileSystem:t,onOpenFS:e,onShare:r,onClipboard:n,onFull:a,onSendKeys:s})=>{const{t:i}=Qe(),[o,l]=qt.useState(!1),c=f=>{const d=f.key.split("+");s(d)};return u.jsxs(mn.Group,{shape:"circle",open:o,trigger:"click",icon:u.jsx(Hh,{}),onClick:()=>l(!o),children:[t&&u.jsx(mn,{icon:u.jsx(Ey,{}),tooltip:i("assets.filesystem"),onClick:e}),u.jsx(mn,{icon:u.jsx(Ry,{}),tooltip:i("access.session.share.action"),onClick:r}),u.jsx(mn,{icon:u.jsx(Fy,{}),tooltip:i("access.clipboard"),onClick:n}),u.jsx(Oi,{menu:{items:SP,onClick:c},trigger:["click"],placement:"bottomLeft",children:u.jsx(mn,{icon:u.jsx(Py,{}),tooltip:i("access.combination_key")})}),u.jsx(mn,{icon:u.jsx(Ay,{}),tooltip:i("access.toggle_full_screen"),onClick:a})]})},yb=new Map([[48,65456],[49,65457],[50,65458],[51,65459],[52,65460],[53,65461],[54,65462],[55,65463],[56,65464],[57,65465],[42,65450],[43,65451],[45,65453],[47,65455],[46,65454],[44,65452],[65456,48],[65457,49],[65458,50],[65459,51],[65460,52],[65461,53],[65462,54],[65463,55],[65464,56],[65465,57],[65450,42],[65451,43],[65453,45],[65455,47],[65454,46],[65452,44]]),Th=({assetId:t})=>{let[e,r]=h.useState(!1),[n,a]=h.useState(),{t:s}=Qe(),{message:i}=ln.useApp(),[o,l]=h.useState(0);const c=h.useRef(null),f=h.useRef(null);let d=h.useRef(null),p=h.useRef(null),g=h.useRef(null),[m,y]=h.useState(),[b,w]=h.useState(),[_,v]=h.useState(),[F,P]=h.useState();const[R,E]=h.useState({sharer:!1,fs:!1,clipboard:!1,mfa:!1});let[x,A]=h.useState(""),{width:I,height:k}=Br(),[S]=Xi(),[T]=Vc(),[L,D]=h.useState(!0),[z,Y]=h.useState(!1),[j,O]=h.useState(!1),B=pb();h.useEffect(()=>{const ee=T.split("_")[1];D(ee===t)},[T,t]),h.useEffect(()=>{if(B&&L)return J(),G(),p.current?.focus(),window.addEventListener("keydown",Rd),()=>{window.removeEventListener("keydown",Rd)};(!B||!L)&&(g.current?.reset(),console.log("keyboard reset "))},[B,L]);let Z=Lc({mutationFn:ee=>new Promise(le=>{for(const[De,Ee]of Object.entries(ee)){const Te=Ee??"",Ie=d.current?.createArgumentValueStream("text/plain",De);if(Ie){const tt=new st.StringWriter(Ie);tt.sendText(Te),tt.sendEnd()}}le()}),onSuccess:()=>r(!1)});const oe=()=>{const ee=Q();if(!L||ee.width===0||ee.height===0)return;const le=d.current?.getDisplay(),De=le?.getWidth(),Ee=le?.getHeight(),Te=V();if((De!==ee.width*Te||Ee!==ee.height*Te)&&(j||d.current?.sendSize(ee.width*Te,ee.height*Te)),De&&Ee){const Ie=Math.min(ee.width/De,ee.height/Ee);le.scale(Ie)}},V=()=>1,G=ma(oe,250);h.useEffect(()=>{G()},[I,k,S]);const Q=()=>Vl()?{width:window.innerWidth,height:window.innerHeight}:{width:f.current?.offsetWidth??0,height:f.current?.offsetHeight??0},H=(ee,le)=>{if(/^text\//.test(le)){const De=new st.StringReader(ee);let Ee="";De.ontext=Te=>Ee+=Te,De.onend=()=>{A(Ee),_s(Ee),i.success(s("general.copy_success"))}}else{const De=new st.BlobReader(ee,le);De.onend=()=>De.getBlob().text().then(Ee=>{A(Ee),_s(Ee),i.success(s("general.copy_success"))})}},J=()=>{navigator.clipboard&&navigator.clipboard.readText().then(ee=>{ce({data:ee,type:"text/plain"})}).catch(console.error)},ne=async ee=>{let le;try{le=await Pt.createSessionByAssetsId(t,ee),P(le)}catch(W){console.error("create session err",W);return}let De=new st.WebSocketTunnel(`${zs()}/access/graphics`),Ee=new st.Client(De);De.onstatechange=v,Ee.onstatechange=y,Ee.onerror=w,Ee.onrequired=function(W){a([...W]),r(!0)},Ee.onclipboard=(W,ae)=>{le?.strategy?.copy?H(W,ae):i.info(s("general.clipboard_disabled"))};const Te=c.current;if(Te)for(;Te.firstChild;)Te.removeChild(Te.firstChild);const Ie=Ee.getDisplay().getElement();Te?.appendChild(Ie);let tt=Ee.getDisplay();tt.onresize=function(W,ae){G()};const rt=new st.InputSink;let Ge=rt.getElement();Ge.addEventListener("paste",function(W){W.preventDefault()}),Ie.appendChild(Ge),p.current=rt;const ht=new st.Keyboard(Ge);function vt(W){const ae=yb.get(W);return ae!==void 0&&ht.pressed[ae]}function Tt(W,ae){return!(vt(ae)||(Ee.sendKeyEvent(W?1:0,ae),W&&ae===65288))}ht.onkeydown=W=>Tt(!0,W),ht.onkeyup=W=>Tt(!1,W),g.current=ht;const wt=new st.Mouse(Ie);wt.onmousedown=wt.onmouseup=function(W){Ee.sendMouseState(W),rt.focus()},wt.onmousemove=function(W){W.x=W.x/tt.getScale(),W.y=W.y/tt.getScale(),Ee.sendMouseState(W)};const xt=new st.Mouse.Touchpad(Ie);xt.onmousedown=xt.onmousemove=xt.onmouseup=function(W){Ee.sendMouseState(W)};let Qt=jt();const Dt=V();let{width:ot,height:nt}=Q(),It={width:ot*Dt,height:nt*Dt,dpi:Dt*96,sessionId:le.id,"X-Auth-Token":Qt};le.width>0&&le.height>0&&(It.width=le.width,It.height=le.height,O(!0));let dr=ka.stringify(It);Ee.connect(dr),d.current=Ee},re=async()=>{await Pt.getAccessRequireMFA()?Y(!0):ne()};h.useEffect(()=>{if(c.current)return re(),()=>{d.current?.disconnect()}},[o]);const ce=ee=>{if(!d.current)return;const le=d.current?.createClipboardStream(ee.type);if(typeof ee.data=="string"){let De=new st.StringWriter(le);De.sendText(ee.data),De.sendEnd()}else{let De=new st.BlobWriter(le);De.oncomplete=function(){De.sendEnd()},De.sendBlob(ee.data)}},Ae=ee=>{for(let le=0;le{Wk(c.current),p.current?.focus()};return u.jsxs("div",{className:"w-full",style:{height:k-77.5},ref:f,children:[u.jsx(bb,{state:m,status:b,tunnelState:_,onReconnect:()=>{w({}),y(mb.IDLE),v(st.Tunnel.State.CONNECTING),l(ee=>ee+1)},overlay:!0}),u.jsx("div",{className:"flex items-center justify-center h-full w-full",children:u.jsx(tp,{content:F?.watermark?.content,font:{color:F?.watermark?.color,fontSize:F?.watermark?.size},className:"w-full",children:u.jsx("div",{className:"w-full flex items-center justify-center",ref:c})})}),u.jsx(CP,{sessionId:F?.id,hasFileSystem:F?.fileSystem,onOpenFS:()=>{E({...R,fs:!0})},onShare:()=>{E({...R,sharer:!0})},onClipboard:()=>{E({...R,clipboard:!0})},onFull:()=>{Ce()},onSendKeys:ee=>{Ae(ee)}}),u.jsx(hb,{fsId:F?.id,strategy:F?.strategy,open:R.fs,mask:!1,maskClosable:!1,onClose:()=>{E({...R,fs:!1})}}),u.jsx(cb,{sessionId:F?.id,open:R.sharer,onClose:()=>E({...R,sharer:!1})}),u.jsx(pP,{clipboardText:x,open:R.clipboard,handleOk:ee=>{ce({data:ee,type:"text/plain"}),A(ee),p.current?.focus(),E({...R,clipboard:!1})},handleCancel:()=>{p.current?.focus(),E({...R,clipboard:!1})}}),u.jsx(gP,{open:e,parameters:n,confirmLoading:Z.isPending,handleOk:Z.mutate,handleCancel:()=>{r(!1),d.current?.disconnect()}}),u.jsx(tu,{open:z,handleOk:async ee=>{Y(!1),ne(ee)},handleCancel:()=>Y(!1)})]})},EP=()=>{const{t}=Qe(),{height:e}=Br(),[r,n]=Vc(),[a,s]=Xi(),[i,o]=Fc(),l=h.useRef(null),{items:c,addTab:f,removeTab:d,handleCloseLeft:p,handleCloseRight:g,handleCloseAll:m,handleCloseOthers:y,handleReconnect:b,onDragEnd:w}=NF(r,n),_=h.useCallback(Q=>{const J=ms()+"_"+Q.id;switch(Q.protocol){case"ssh":case"telnet":f(J,Q.name,u.jsx(hP,{assetId:Q.id}));break;case"rdp":f(J,Q.name,u.jsx(Th,{assetId:Q.id}));break;default:f(J,Q.name,u.jsx(Th,{assetId:Q.id}));break}},[f]),[v,F]=h.useState(()=>xn.get(Xn.COLLAPSED_STATE,!1)),[P,R]=h.useState(()=>xn.get(Xn.PANEL_SIZES,{left:15,right:85}).left),E=h.useCallback(Q=>{R(Q);const H={left:Q,right:100-Q};xn.set(Xn.PANEL_SIZES,H);const J=Q===2;J!==v&&(F(J),xn.set(Xn.COLLAPSED_STATE,J)),s(100-Q)},[v,s]),[x,A]=h.useState(!1),[I,k]=h.useState(!1),[S,T]=h.useState([]),[L,D]=h.useState(!1),[z,Y]=h.useState(null);h.useEffect(()=>(document.body.style.overflow="hidden",window.addEventListener("beforeunload",wi,!0),document.addEventListener("keydown",Ed),()=>{window.removeEventListener("beforeunload",wi,!0),document.removeEventListener("keydown",Ed)}),[]),h.useEffect(()=>{ec("#313131")},[]),h.useEffect(()=>{const Q=i.get("asset");if(Q){try{const J=MF(Q);J&&(J.status==="inactive"&&J.wolEnabled?(Y({id:J.id,name:J.name,protocol:J.protocol}),D(!0)):_(J))}catch(J){console.warn("Invalid access asset param:",J)}const H=new URLSearchParams(i);H.delete("asset"),o(H,{replace:!0})}},[_,i,o]);const j=h.useCallback(Q=>{let H=Q.key;if(typeof H=="string"&&H.startsWith("asset_")&&(H=H.substring(6)),Q.extra?.status==="inactive"&&Q.extra?.wolEnabled){Y({id:H,name:Q.title,protocol:Q.extra?.protocol}),D(!0);return}_({id:H,name:Q.title,protocol:Q.extra?.protocol})},[_]),O=h.useCallback(()=>{f("theme",t("access.settings.theme"),u.jsx(bR,{}))},[f,t]),B=h.useCallback(()=>{f("setting",t("menus.setting.label"),u.jsx(vR,{}))},[f,t]),Z=h.useCallback(()=>{A(!0)},[]),oe=h.useCallback(async Q=>{if(await Pt.getAccessRequireMFA())k(!0),T(Q);else{A(!1);const J=ms();f(J,t("access.batch.exec"),u.jsx(wh,{assetIds:Q}))}},[f,t]),V=h.useCallback(async Q=>{k(!1),A(!1);const H=ms();f(H,t("access.batch.exec"),u.jsx(wh,{assetIds:S,securityToken:Q}))},[S,f,t]),G=h.useCallback(()=>{D(!1),z&&_({id:z.id,name:z.name,protocol:z.protocol}),Y(null)},[z,_]);return u.jsx(dc,{theme:{components:{Tabs:{titleFontSizeSM:13}},algorithm:Li.darkAlgorithm},locale:im(et.language),children:u.jsx(ln,{children:u.jsx(Kh,{hashPriority:"high",children:u.jsxs("div",{className:"h-screen w-screen overflow-hidden",children:[u.jsx(sb,{onThemeClick:O,onSettingClick:B,onBatchSSHClick:Z}),u.jsxs(aR,{defaultTheme:"dark",storageKey:"nt-ui-theme",children:[u.jsxs(Fm,{direction:"horizontal",children:[u.jsx(ob,{isCollapsed:v,leftPanelSize:P,height:e,onResize:E,leftRef:l,onNodeDoubleClick:j}),u.jsx(Pm,{withHandle:!0}),u.jsx(lb,{items:c,activeKey:r,leftPanelSize:P,onChange:n,onRemove:d,onDragEnd:w,onContentResize:s,tabOperations:{handleCloseLeft:p,handleCloseRight:g,handleCloseAll:m,handleCloseOthers:y,handleReconnect:b}})]}),u.jsx(SR,{open:x,handleCancel:()=>A(!1),handleOk:oe}),u.jsx(tu,{open:I,handleOk:V,handleCancel:()=>k(!1)}),u.jsx(CF,{open:L,assetId:z?.id||"",assetName:z?.name||"",onSuccess:G,onCancel:()=>{D(!1),Y(null)}})]})]})})})})};function Ii(t,e){return t||e}const RP=({})=>{const t=qt.useRef();let e=h.useRef();const[r]=Fc();let n=Ii(r.get("token"),""),a=Ii(r.get("sharer"),!1),s=r.get("sessionId"),[i,o]=h.useState("");Gc(()=>{e.current?.send(new Ze(Jc,"").toString())},5e3),h.useEffect(()=>{document.title=i},[i]);const l=(d,p)=>{d.writeln(`\x1B[1;3;31m${p}\x1B[0m `)},c=(d,{id:p,idle:g,assetName:m})=>{let y=t.current;if(!y)return;o(m),d.open(y);let b=new Yc.FitAddon;d.loadAddon(b),b.fit(),d.focus(),d.attachCustomKeyEventHandler(R=>R.ctrlKey&&R.key==="c"&&d.hasSelection()?!1:!(R.ctrlKey&&R.key==="v")),d.writeln("trying to connect to the server ...");let w=d.cols,_=d.rows,v=jt();Nr.hasText(n)&&(v=n);let F={cols:w,rows:_,"X-Auth-Token":v,sharer:a,sessionId:p},P=ka.stringify(F);return e.current=new WebSocket(`${zs()}/access/terminal?${P}`),e.current.onopen=(R=>{d.clear(),a||d.onResize(function(E){e.current.send(new Ze(Qc,`${E.cols},${E.rows}`).toString())}),window.addEventListener("resize",()=>{b&&b.fit()})}),e.current.onerror=R=>{l(d,"websocket error")},e.current.onclose=R=>{l(d,"connection is closed.")},d.onData(R=>{e.current.send(new Ze(Rt,R).toString())}),e.current.onmessage=R=>{let E=Ze.parse(R.data);E.type===Rt&&d.write(E.content)},e},f=d=>{const p="Leave?";return d.returnValue=p,p};return h.useEffect(()=>{if(e.current)return;let d=new Kc.Terminal({fontFamily:'monaco, Consolas, "Lucida Console", monospace',fontSize:15,theme:{background:"#141414"}});return Pt.getSessionById(s).then(p=>{c(d,p)}).catch(p=>{l(d,`get session err,${p?.message}`)}),window.addEventListener("beforeunload",f),()=>{window.removeEventListener("beforeunload",f)}},[]),u.jsx("div",{className:"overflow-hidden",children:u.jsx("div",{ref:t,className:"h-screen w-screen p-2 bg-[#141414]"})})},FP=()=>{const[t]=Fc();let e=Ii(t.get("token"),""),r=Ii(t.get("sharer"),!1),n=t.get("sessionId");const a=h.useRef(null),s=h.useRef(null);let i=h.useRef(null),o=h.useRef(null),l=h.useRef(null),{width:c,height:f}=Br(),[d,p]=h.useState([0,0]),[g,m]=h.useState(),[y,b]=h.useState(),[w,_]=h.useState(),v=pb();h.useEffect(()=>{v||l.current?.reset()},[v]);const P=ma(()=>{const x=Vl()?{width:window.innerWidth,height:window.innerHeight}:{width:s.current?.offsetWidth??0,height:s.current?.offsetHeight??0};if(x.width===0||x.height===0)return;const A=i.current?.getDisplay(),I=A?.getWidth(),k=A?.getHeight();if((I!==x.width||k!==x.height)&&A?.onresize(x.width,x.height),I&&k){const S=Math.min(x.width/I,x.height/k);A.scale(S)}},500);h.useEffect(()=>{P()},[c,f,d]);const R=()=>Vl()?{width:window.innerWidth,height:window.innerHeight}:{width:s.current?.offsetWidth??0,height:s.current?.offsetHeight??0},E=x=>{let A=new st.WebSocketTunnel(`${zs()}/access/graphics`),I=new st.Client(A);A.onstatechange=_,I.onstatechange=m,I.onerror=b;const k=a.current;if(k)for(;k.firstChild;)k.removeChild(k.firstChild);const S=I.getDisplay().getElement();k?.appendChild(S);let T=I.getDisplay();T.onresize=function(H,J){p([H,J])};const L=new st.InputSink;let D=L.getElement();D.addEventListener("paste",function(H){H.preventDefault()}),S.appendChild(D);const z=new st.Keyboard(document);function Y(H){const J=yb.get(H);return J!==void 0&&z.pressed[J]}function j(H,J){return!(Y(J)||(I.sendKeyEvent(H?1:0,J),J===65288))}z.onkeydown=H=>j(!0,H),z.onkeyup=H=>j(!1,H),l.current=z;const O=new st.Mouse(S);O.onmousedown=O.onmouseup=function(H){I.sendMouseState(H),L.focus()},O.onmousemove=function(H){H.x=H.x/T.getScale(),H.y=H.y/T.getScale(),I.sendMouseState(H)};const B=new st.Mouse.Touchpad(S);B.onmousedown=B.onmousemove=B.onmouseup=function(H){I.sendMouseState(H)};let Z=192,{width:oe,height:V}=R(),G={width:oe,height:V,dpi:Z,sessionId:x.id,"X-Auth-Token":e,sharer:r},Q=ka.stringify(G);I.connect(Q),i.current=I,o.current=L};return h.useEffect(()=>{Pt.getSessionById(n).then(x=>{E(x)}).catch(x=>{b({code:x.code,message:x.message})})},[]),u.jsxs("div",{className:"bg-[#1b1b1b] overflow-hidden",style:{width:c,height:f},ref:s,children:[u.jsx(bb,{state:g,status:y,tunnelState:w}),u.jsx("div",{className:"flex items-center justify-center",children:u.jsx("div",{className:"",ref:a})})]})},PP=h.lazy(()=>pe(()=>import("./AuthorisedAssetPage-BX2rNWSk.js"),__vite__mapDeps([3,1,4,5,6,7,8,9,10,11,12,0,2,13,14]))),AP=h.lazy(()=>pe(()=>import("./AuthorisedWebsitePage-C91itGU-.js"),__vite__mapDeps([15,1,16,5,6,7,8,9,10,11,12,0,2,13,14]))),TP=h.lazy(()=>pe(()=>import("./AuthorisedAssetPost-vCyEAP3r.js"),__vite__mapDeps([17,1,18,19,6,7,8,4,0,2,13,14]))),DP=h.lazy(()=>pe(()=>import("./AuthorisedWebsitePost-COc7i5eT.js"),__vite__mapDeps([20,1,6,7,9,16,0,2,13,14]))),IP=h.lazy(()=>pe(()=>import("./LoginPage-aub4Iv9y.js"),__vite__mapDeps([21,1,22,23,24,0,2,13,14]))),LP=h.lazy(()=>pe(()=>import("./WechatWorkCallback-BTjIgIlC.js"),__vite__mapDeps([25,1,22,0,2,13,14]))),OP=h.lazy(()=>pe(()=>import("./OidcCallback-qbNXTZur.js"),__vite__mapDeps([26,1,23,0,2,13,14]))),MP=h.lazy(()=>pe(()=>import("./OidcServerConsent-zcgmhrgY.js"),__vite__mapDeps([27,1,0,2,13,14]))),NP=h.lazy(()=>pe(()=>import("./MobileAccessTerminal-DNKK6b04.js"),__vite__mapDeps([28,1,0,2,13,14]))),jP=h.lazy(()=>pe(()=>import("./UserPage-hpsga5IM.js"),__vite__mapDeps([29,1,6,30,31,7,11,0,2,13,14]))),BP=h.lazy(()=>pe(()=>import("./UserDetailPage-CxWs4t4Q.js"),__vite__mapDeps([32,1,6,12,33,34,0,2,13,14]))),$P=h.lazy(()=>pe(()=>import("./SettingPage-DxlkP9BT.js"),__vite__mapDeps([35,1,12,36,6,7,0,2,13,14]))),zP=h.lazy(()=>pe(()=>import("./InfoPage--AJ8mxff.js"),__vite__mapDeps([37,1,34,0,2,13,14]))),UP=h.lazy(()=>pe(()=>import("./DepartmentPage-CRl-pRy6.js"),__vite__mapDeps([38,1,7,6,30,11,0,2,13,14]))),WP=h.lazy(()=>pe(()=>import("./DepartmentDetail-ByJ-vndZ.js"),__vite__mapDeps([39,1,7,12,0,2,13,14]))),qP=h.lazy(()=>pe(()=>import("./RolePage-DqozdEe0.js"),__vite__mapDeps([40,1,31,30,11,0,2,13,14]))),HP=h.lazy(()=>pe(()=>import("./RoleDetail-B5ZhMtSV.js"),__vite__mapDeps([41,1,31,0,2,13,14]))),GP=h.lazy(()=>pe(()=>import("./LoginLockedPage-DZnpSndD.js"),__vite__mapDeps([42,1,11,30,0,2,13,14]))),VP=h.lazy(()=>pe(()=>import("./LoginPolicyPage-D8II9jNz.js"),__vite__mapDeps([43,1,33,30,11,12,0,2,13,14]))),KP=h.lazy(()=>pe(()=>import("./LoginPolicyPostPage--Tauq4PS.js"),__vite__mapDeps([44,1,33,0,2,13,14,45]))),YP=h.lazy(()=>pe(()=>import("./LoginPolicyDetailPage-C0FoOMds.js"),__vite__mapDeps([46,1,33,6,0,2,13,14]))),QP=h.lazy(()=>pe(()=>import("./OidcClientPage-DeSDpT3L.js"),__vite__mapDeps([47,1,30,11,6,7,0,2,13,14]))),JP=h.lazy(()=>pe(()=>import("./AssetPage-BJD5muIt.js"),__vite__mapDeps([48,1,8,11,49,9,50,51,52,13,36,53,54,30,0,2,14]))),XP=h.lazy(()=>pe(()=>import("./DatabaseAssetPage-C5z0KjFF.js"),__vite__mapDeps([55,1,10,51,50,52,11,30,0,2,13,14]))),ZP=h.lazy(()=>pe(()=>import("./CredentialPage-Die5iQYX.js"),__vite__mapDeps([56,1,53,30,11,0,2,13,14]))),e5=h.lazy(()=>pe(()=>import("./CertificatePage-B2tj9A2w.js"),__vite__mapDeps([57,1,30,11,58,0,2,13,14]))),t5=h.lazy(()=>pe(()=>import("./SnippetPage-Bp2O5-JS.js"),__vite__mapDeps([59,1,30,11,0,2,13,14]))),r5=h.lazy(()=>pe(()=>import("./StrategyPage-58Xo8e61.js"),__vite__mapDeps([60,1,19,30,11,0,2,13,14]))),n5=h.lazy(()=>pe(()=>import("./CommandFilterPage-DaXaMByx.js"),__vite__mapDeps([61,1,18,30,11,0,2,13,14]))),a5=h.lazy(()=>pe(()=>import("./CommandFilterDetail-BeaIU-md.js"),__vite__mapDeps([62,1,18,30,11,0,2,13,14]))),s5=h.lazy(()=>pe(()=>import("./AuthorisedDatabaseAssetPage-CQMQnnFB.js"),__vite__mapDeps([63,1,64,5,6,7,8,9,10,11,12,0,2,13,14]))),i5=h.lazy(()=>pe(()=>import("./AuthorisedDatabaseAssetPost-BrzKzr0W.js"),__vite__mapDeps([65,1,6,7,10,64,0,2,13,14]))),o5=h.lazy(()=>pe(()=>import("./ScheduledTaskPage-CQSqn-EP.js"),__vite__mapDeps([66,1,30,8,11,67,0,2,13,14]))),l5=h.lazy(()=>pe(()=>import("./ToolsPage-DPPxYsiI.js"),__vite__mapDeps([68,1,0,2,13,14]))),c5=h.lazy(()=>pe(()=>import("./LoginLogPage-wdWF965f.js"),__vite__mapDeps([69,1,30,0,2,13,14]))),u5=h.lazy(()=>pe(()=>import("./OperationLogPage-BlAhFenm.js"),__vite__mapDeps([70,1,30,0,2,13,14]))),d5=h.lazy(()=>pe(()=>import("./OfflineSessionPage-D1UBBI15.js"),__vite__mapDeps([71,1,30,72,11,13,0,2,14]))),f5=h.lazy(()=>pe(()=>import("./OnlineSessionPage-zbyIKEoo.js"),__vite__mapDeps([73,1,30,72,11,13,0,2,14]))),h5=h.lazy(()=>pe(()=>import("./TerminalPlayback-CwU1DI7U.js"),__vite__mapDeps([74,1,72,34,0,2,13,14,75]))),p5=h.lazy(()=>pe(()=>import("./TerminalMonitor-BGHFY2w9.js"),__vite__mapDeps([76,1,0,2,13,14]))),g5=h.lazy(()=>pe(()=>import("./GuacdPlayback-CFtamDo9.js"),__vite__mapDeps([77,1,34,0,2,13,14,78]))),m5=h.lazy(()=>pe(()=>import("./GuacdMonitor-BuR0ODFT.js"),__vite__mapDeps([79,1,0,2,13,14]))),b5=h.lazy(()=>pe(()=>import("./FileSystemLogPage-q2mkisVQ.js"),__vite__mapDeps([80,1,30,0,2,13,14]))),y5=h.lazy(()=>pe(()=>import("./AccessLogPage-BMkEOqMJ.js"),__vite__mapDeps([81,1,30,82,0,2,13,14]))),_5=h.lazy(()=>pe(()=>import("./AccessLogStatsPage-CXrZAL2E.js"),__vite__mapDeps([83,1,82,9,84,85,13,0,2,14]))),v5=h.lazy(()=>pe(()=>import("./DatabaseSQLLogPage-D3ObzhHj.js"),__vite__mapDeps([86,1,30,5,6,7,8,9,10,0,2,13,14]))),w5=h.lazy(()=>pe(()=>import("./SshGatewayPage-C_iCWAPs.js"),__vite__mapDeps([87,1,30,51,53,11,0,2,13,14]))),x5=h.lazy(()=>pe(()=>import("./AgentGatewayPage-DEPMQmCG.js"),__vite__mapDeps([88,1,50,13,11,67,85,30,0,2,14]))),k5=h.lazy(()=>pe(()=>import("./GatewayGroupPage-Bz3t4FqF.js"),__vite__mapDeps([89,1,52,51,50,0,2,13,14]))),S5=h.lazy(()=>pe(()=>import("./ErrorPage-BYi3namZ.js"),__vite__mapDeps([90,1,0,2,13,14]))),C5=h.lazy(()=>pe(()=>import("./StoragePage-DS0_Tdim.js"),__vite__mapDeps([91,1,54,11,30,0,2,13,14]))),E5=h.lazy(()=>pe(()=>import("./WebsitePage-BFwEoyOi.js"),__vite__mapDeps([92,1,9,11,13,8,50,51,52,36,67,58,49,30,0,2,14]))),R5=h.lazy(()=>pe(()=>import("./BrowserPage-B9fb62o-.js"),__vite__mapDeps([93,1,0,2,13,14,94]))),F5=h.lazy(()=>pe(()=>import("./AssetFacadePage-CCyTP6F2.js"),__vite__mapDeps([95,1,96,13,97,0,2,14]))),P5=h.lazy(()=>pe(()=>import("./WebsiteFacadePage-CqAliO-B.js"),__vite__mapDeps([98,1,96,13,97,0,2,14]))),A5=h.lazy(()=>pe(()=>import("./RedirectPage-BghypuSI.js"),__vite__mapDeps([99,1,0,2,13,14]))),T5=h.lazy(()=>pe(()=>import("./UserLayout-M9_Sh7Dn.js"),__vite__mapDeps([100,1,13,24,0,2,14]))),D5=h.lazy(()=>pe(()=>import("./DashboardPage-Im-9FWfr.js"),__vite__mapDeps([101,1,72,84,67,13,0,2,14]))),I5=h.lazy(()=>pe(()=>import("./UserInfoPage-DrNAhF9r.js"),__vite__mapDeps([102,1,37,34,0,2,13,14]))),L5=h.lazy(()=>pe(()=>import("./SnippetUserPage-DbddvRmb.js"),__vite__mapDeps([103,1,11,97,0,2,13,14]))),O5=h.lazy(()=>pe(()=>import("./DatabaseAssetFacadePage-a0QWLTVr.js"),__vite__mapDeps([104,1,0,2,13,14]))),M5=h.lazy(()=>pe(()=>import("./SystemMonitorPage-Lnutq0Ew.js"),__vite__mapDeps([105,1,0,2,13,14]))),N5=h.lazy(()=>pe(()=>import("./SetupPage-DriicTxX.js"),__vite__mapDeps([106,1,6,0,2,13,14]))),j5=h.lazy(()=>pe(()=>import("./DatabaseWorkOrderPage-Caoq0Mdz.js"),__vite__mapDeps([107,1,108,11,30,5,6,7,8,9,10,0,2,13,14]))),B5=h.lazy(()=>pe(()=>import("./DatabaseWorkOrderUserPage-B2ycCPZM.js"),__vite__mapDeps([109,1,108,30,97,0,2,13,14]))),$5=av([{path:"/setup",element:u.jsx(N5,{})},{path:"/access",element:u.jsx(EP,{})},{path:"/login",element:u.jsx(IP,{})},{path:"/wechat-work/callback",element:u.jsx(LP,{})},{path:"/oidc/callback",element:u.jsx(OP,{})},{path:"/oidc/server/consent",element:u.jsx(MP,{})},{path:"/terminal-playback",element:u.jsx(h5,{})},{path:"/terminal-monitor",element:u.jsx(p5,{})},{path:"/graphics-playback",element:u.jsx(g5,{})},{path:"/graphics-monitor",element:u.jsx(m5,{})},{path:"/terminal",element:u.jsx(RP,{})},{path:"/mobile-terminal",element:u.jsx(NP,{})},{path:"/graphics",element:u.jsx(FP,{})},{path:"/browser",element:u.jsx(R5,{})},{path:"/",element:u.jsx(A5,{}),errorElement:u.jsx(S5,{})},{element:u.jsx(T5,{}),children:[{path:"/x-asset",element:u.jsx(F5,{})},{path:"/x-database-asset",element:u.jsx(O5,{})},{path:"/x-website",element:u.jsx(P5,{})},{path:"/x-snippet",element:u.jsx(L5,{})},{path:"/x-info",element:u.jsx(I5,{})},{path:"/x-db-work-order",element:u.jsx(B5,{})}]},{element:u.jsx(RE,{}),children:[{path:"/dashboard",element:u.jsx(D5,{})},{path:"/user",element:u.jsx(jP,{})},{path:"/user/:userId",element:u.jsx(BP,{})},{path:"/department",element:u.jsx(UP,{})},{path:"/department/:departmentId",element:u.jsx(WP,{})},{path:"/login-locked",element:u.jsx(GP,{})},{path:"/login-policy",element:u.jsx(VP,{})},{path:"/login-policy/new",element:u.jsx(KP,{})},{path:"/login-policy/:loginPolicyId",element:u.jsx(YP,{})},{path:"/role",element:u.jsx(qP,{})},{path:"/role/:roleId",element:u.jsx(HP,{})},{path:"/oidc-client",element:u.jsx(QP,{})},{path:"/login-log",element:u.jsx(c5,{})},{path:"/operation-log",element:u.jsx(u5,{})},{path:"/asset",element:u.jsx(JP,{})},{path:"/database-asset",element:u.jsx(XP,{})},{path:"/credential",element:u.jsx(ZP,{})},{path:"/snippet",element:u.jsx(t5,{})},{path:"/storage",element:u.jsx(C5,{})},{path:"/website",element:u.jsx(E5,{})},{path:"/certificate",element:u.jsx(e5,{})},{path:"/db-work-order",element:u.jsx(j5,{})},{path:"/strategy",element:u.jsx(r5,{})},{path:"/command-filter",element:u.jsx(n5,{})},{path:"/command-filter/:commandFilterId",element:u.jsx(a5,{})},{path:"/authorised-asset",element:u.jsx(PP,{})},{path:"/authorised-asset/post",element:u.jsx(TP,{})},{path:"/authorised-website",element:u.jsx(AP,{})},{path:"/authorised-website/post",element:u.jsx(DP,{})},{path:"/authorised-database-asset",element:u.jsx(s5,{})},{path:"/authorised-database-asset/post",element:u.jsx(i5,{})},{path:"/scheduled-task",element:u.jsx(o5,{})},{path:"/tools",element:u.jsx(l5,{})},{path:"/monitoring",element:u.jsx(M5,{})},{path:"/offline-session",element:u.jsx(d5,{})},{path:"/online-session",element:u.jsx(f5,{})},{path:"/filesystem-log",element:u.jsx(b5,{})},{path:"/access-log",element:u.jsx(y5,{})},{path:"/access-log-stats",element:u.jsx(_5,{})},{path:"/database-sql-log",element:u.jsx(v5,{})},{path:"/ssh-gateway",element:u.jsx(w5,{})},{path:"/agent-gateway",element:u.jsx(x5,{})},{path:"/gateway-group",element:u.jsx(k5,{})},{path:"/setting",element:u.jsx($P,{})},{path:"/info",element:u.jsx(zP,{})}]}]);function z5(){let{t}=Qe();h.useEffect(()=>{let i=document.querySelector("link[rel~='icon']");i||(i=document.createElement("link"),i.rel="icon",document.getElementsByTagName("head")[0].appendChild(i)),i.href=`${Ut()}/logo`},[]);const e=()=>{window.location.href="/login"},r=i=>{window.location.href=i};let n="",a=0;const s=(i,o)=>{let l=t(`errors.${i}`);(!l||l===`errors.${i}`)&&(l=o);const c=Date.now();n===l&&c-a<2e3||(n=l,a=c,Zh.error(l))};return h.useEffect(()=>(gt.on("API:UN_AUTH",e),gt.on("API:REDIRECT",r),gt.on("API:VALIDATE_ERROR",s),()=>{gt.off("API:UN_AUTH",e),gt.off("API:REDIRECT",r),gt.off("API:VALIDATE_ERROR",s)}),[]),u.jsx(mv,{router:$5})}const U5=console.warn,W5=console.error,q5=["findDOMNode is deprecated","is deprecated","Static function can not consume context","i18next::translator: missingKey","[i18n missing]","errors.404","errors.-1","Not Found","record not found","defaultRender","React does not recognize","Form.Item.useStatus should be used under Form.Item"],_b=t=>{const e=t.map(r=>typeof r=="string"?r:"").join(" ");return q5.some(r=>e.includes(r))};console.warn=(...t)=>{_b(t)||U5.apply(console,t)};console.error=(...t)=>{_b(t)||W5.apply(console,t)};ep.extend(Ty);const H5=new Ak({defaultOptions:{queries:{retry:(t,e)=>e?.status===401||e?.status===418?!1:t<3,refetchOnWindowFocus:!1}}});qy.createRoot(document.getElementById("root")).render(u.jsx(Tk,{client:H5,children:u.jsx(fR,{children:u.jsx(z5,{})})}));export{zs as $,dF as A,ms as B,Dm as C,hR as D,aA as E,sA as F,Yl as G,Ut as H,jt as I,bF as J,Hm as K,PC as L,tu as M,mF as N,qm as O,_F as P,as as Q,wF as R,z1 as S,xC as T,vC as U,Kl as V,ss as W,bC as X,er as Y,Kc as Z,Yc as _,wc as a,Ze as a0,Rt as a1,st as a2,bb as a3,ma as a4,bS as a5,Y1 as a6,fb as a7,iA as a8,QF as a9,Hr as aA,cc as aB,Tr as aC,fi as aD,pF as aE,oA as aa,JF as ab,eA as ac,dS as ad,tA as ae,w0 as af,xs as ag,hb as ah,sC as ai,Pt as aj,Wr as ak,vo as al,Ui as am,Z2 as an,lr as ao,EC as ap,YS as aq,vg as ar,pg as as,gt as at,D0 as au,X2 as av,wg as aw,oc as ax,lc as ay,fs as az,Fc as b,O1 as c,dg as d,cr as e,ba as f,yn as g,Lc as h,et as i,qS as j,nA as k,rA as l,Nr as m,hP as n,Ii as o,J5 as p,ka as q,de as r,SF as s,im as t,Qe as u,Pe as v,rg as w,He as x,ga as y,Tm as z}; diff --git a/server/resource/build/assets/login-policy-api-FsKg9lSA.js b/server/resource/build/assets/login-policy-api-BlI40YsB.js similarity index 92% rename from server/resource/build/assets/login-policy-api-FsKg9lSA.js rename to server/resource/build/assets/login-policy-api-BlI40YsB.js index a15b19415..fe3072bc9 100644 --- a/server/resource/build/assets/login-policy-api-FsKg9lSA.js +++ b/server/resource/build/assets/login-policy-api-BlI40YsB.js @@ -1 +1 @@ -var d=Object.defineProperty;var e=(t,o,i)=>o in t?d(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i;var n=(t,o,i)=>e(t,typeof o!="symbol"?o+"":o,i);import{A as a,r}from"./index-BdfI9ZEv.js";class c extends a{constructor(){super("admin/login-policies");n(this,"bindUser",async(i,s)=>{await r.post(`/${this.group}/bind-user-id?loginPolicyId=${i}`,s)});n(this,"unbindUser",async(i,s)=>{await r.post(`/${this.group}/unbind-user-id?loginPolicyId=${i}`,s)});n(this,"bindLoginPolicy",async(i,s)=>{await r.post(`/${this.group}/bind-login-policy-id?userId=${i}`,s)});n(this,"unbindLoginPolicy",async(i,s)=>{await r.post(`/${this.group}/unbind-login-policy-id?userId=${i}`,s)});n(this,"getUserId",async i=>await r.get(`/${this.group}/user-id?loginPolicyId=${i}`));n(this,"getLoginPolicyIdByUserId",async i=>await r.get(`/${this.group}/login-policy-id?userId=${i}`))}}const u=new c;export{u as l}; +var d=Object.defineProperty;var e=(t,o,i)=>o in t?d(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i;var n=(t,o,i)=>e(t,typeof o!="symbol"?o+"":o,i);import{A as a,r}from"./index-DQXwuKC5.js";class c extends a{constructor(){super("admin/login-policies");n(this,"bindUser",async(i,s)=>{await r.post(`/${this.group}/bind-user-id?loginPolicyId=${i}`,s)});n(this,"unbindUser",async(i,s)=>{await r.post(`/${this.group}/unbind-user-id?loginPolicyId=${i}`,s)});n(this,"bindLoginPolicy",async(i,s)=>{await r.post(`/${this.group}/bind-login-policy-id?userId=${i}`,s)});n(this,"unbindLoginPolicy",async(i,s)=>{await r.post(`/${this.group}/unbind-login-policy-id?userId=${i}`,s)});n(this,"getUserId",async i=>await r.get(`/${this.group}/user-id?loginPolicyId=${i}`));n(this,"getLoginPolicyIdByUserId",async i=>await r.get(`/${this.group}/login-policy-id?userId=${i}`))}}const u=new c;export{u as l}; diff --git a/server/resource/build/assets/network-B7NfTit9.js b/server/resource/build/assets/network-Bw9HyUcr.js similarity index 83% rename from server/resource/build/assets/network-B7NfTit9.js rename to server/resource/build/assets/network-Bw9HyUcr.js index 5518cca08..994494758 100644 --- a/server/resource/build/assets/network-B7NfTit9.js +++ b/server/resource/build/assets/network-Bw9HyUcr.js @@ -1 +1 @@ -import{v as e}from"./index-BdfI9ZEv.js";const t=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],r=e("network",t);export{r as N}; +import{v as e}from"./index-DQXwuKC5.js";const t=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],r=e("network",t);export{r as N}; diff --git a/server/resource/build/assets/oidc-api-BsaBtN-M.js b/server/resource/build/assets/oidc-api-DdlmoOii.js similarity index 88% rename from server/resource/build/assets/oidc-api-BsaBtN-M.js rename to server/resource/build/assets/oidc-api-DdlmoOii.js index 8d81319b6..c5d4b1ceb 100644 --- a/server/resource/build/assets/oidc-api-BsaBtN-M.js +++ b/server/resource/build/assets/oidc-api-DdlmoOii.js @@ -1 +1 @@ -var c=Object.defineProperty;var i=(a,t,o)=>t in a?c(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o;var r=(a,t,o)=>i(a,typeof t!="symbol"?t+"":t,o);import{A as p,r as s}from"./index-BdfI9ZEv.js";class d extends p{constructor(){super("account");r(this,"getAuthorizeUrl",async o=>{const e=o?`?state=${encodeURIComponent(o)}`:"";return await s.get(`/oidc/authorize${e}`)});r(this,"login",async(o,e)=>{const n=new URLSearchParams;return n.append("code",o),e&&n.append("state",e),await s.post(`/oidc/login?${n.toString()}`)})}}const g=new d;export{g as o}; +var c=Object.defineProperty;var i=(a,t,o)=>t in a?c(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o;var r=(a,t,o)=>i(a,typeof t!="symbol"?t+"":t,o);import{A as p,r as s}from"./index-DQXwuKC5.js";class d extends p{constructor(){super("account");r(this,"getAuthorizeUrl",async o=>{const e=o?`?state=${encodeURIComponent(o)}`:"";return await s.get(`/oidc/authorize${e}`)});r(this,"login",async(o,e)=>{const n=new URLSearchParams;return n.append("code",o),e&&n.append("state",e),await s.post(`/oidc/login?${n.toString()}`)})}}const g=new d;export{g as o}; diff --git a/server/resource/build/assets/role-api-BtBYGwtw.js b/server/resource/build/assets/role-api-RbYCFKw-.js similarity index 81% rename from server/resource/build/assets/role-api-BtBYGwtw.js rename to server/resource/build/assets/role-api-RbYCFKw-.js index f580bd938..bd5a824df 100644 --- a/server/resource/build/assets/role-api-BtBYGwtw.js +++ b/server/resource/build/assets/role-api-RbYCFKw-.js @@ -1 +1 @@ -var a=Object.defineProperty;var n=(s,e,r)=>e in s?a(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var t=(s,e,r)=>n(s,typeof e!="symbol"?e+"":e,r);import{A as o,r as i}from"./index-BdfI9ZEv.js";class p extends o{constructor(){super("admin/roles");t(this,"getMenus",async()=>await i.get("/admin/menus"))}}let m=new p;export{m as r}; +var a=Object.defineProperty;var n=(s,e,r)=>e in s?a(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var t=(s,e,r)=>n(s,typeof e!="symbol"?e+"":e,r);import{A as o,r as i}from"./index-DQXwuKC5.js";class p extends o{constructor(){super("admin/roles");t(this,"getMenus",async()=>await i.get("/admin/menus"))}}let m=new p;export{m as r}; diff --git a/server/resource/build/assets/server-BXUeOkFL.js b/server/resource/build/assets/server-DnjIV_zW.js similarity index 81% rename from server/resource/build/assets/server-BXUeOkFL.js rename to server/resource/build/assets/server-DnjIV_zW.js index 87b06715c..755e5003d 100644 --- a/server/resource/build/assets/server-BXUeOkFL.js +++ b/server/resource/build/assets/server-DnjIV_zW.js @@ -1 +1 @@ -import{v as e}from"./index-BdfI9ZEv.js";const r=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],i=e("server",r);export{i as S}; +import{v as e}from"./index-DQXwuKC5.js";const r=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],i=e("server",r);export{i as S}; diff --git a/server/resource/build/assets/session-api-CdVNYxgO.js b/server/resource/build/assets/session-api-mmDQqQeA.js similarity index 90% rename from server/resource/build/assets/session-api-CdVNYxgO.js rename to server/resource/build/assets/session-api-mmDQqQeA.js index 2af14f3d6..9ad969ccc 100644 --- a/server/resource/build/assets/session-api-CdVNYxgO.js +++ b/server/resource/build/assets/session-api-mmDQqQeA.js @@ -1 +1 @@ -var r=Object.defineProperty;var n=(a,t,s)=>t in a?r(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s;var i=(a,t,s)=>n(a,typeof t!="symbol"?t+"":t,s);import{A as o,r as e}from"./index-BdfI9ZEv.js";class u extends o{constructor(){super("admin/sessions");i(this,"disconnect",async s=>{await e.post(`/${this.group}/${s}/disconnect`)});i(this,"clear",async()=>{await e.post(`/${this.group}/clear`)});i(this,"auditEnabled",async()=>await e.get(`/${this.group}/audit-enabled`));i(this,"triggerAudit",async s=>await e.post(`/${this.group}/${s}/audit`));i(this,"getAudit",async s=>await e.get(`/${this.group}/${s}/audit`))}}const d=new u;export{d as s}; +var r=Object.defineProperty;var n=(a,t,s)=>t in a?r(a,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[t]=s;var i=(a,t,s)=>n(a,typeof t!="symbol"?t+"":t,s);import{A as o,r as e}from"./index-DQXwuKC5.js";class u extends o{constructor(){super("admin/sessions");i(this,"disconnect",async s=>{await e.post(`/${this.group}/${s}/disconnect`)});i(this,"clear",async()=>{await e.post(`/${this.group}/clear`)});i(this,"auditEnabled",async()=>await e.get(`/${this.group}/audit-enabled`));i(this,"triggerAudit",async s=>await e.post(`/${this.group}/${s}/audit`));i(this,"getAudit",async s=>await e.get(`/${this.group}/${s}/audit`))}}const d=new u;export{d as s}; diff --git a/server/resource/build/assets/ssh-gateway-api-CfWrAhC0.js b/server/resource/build/assets/ssh-gateway-api-D4569Eil.js similarity index 86% rename from server/resource/build/assets/ssh-gateway-api-CfWrAhC0.js rename to server/resource/build/assets/ssh-gateway-api-D4569Eil.js index 8c45fca9b..a616806c7 100644 --- a/server/resource/build/assets/ssh-gateway-api-CfWrAhC0.js +++ b/server/resource/build/assets/ssh-gateway-api-D4569Eil.js @@ -1 +1 @@ -var n=Object.defineProperty;var p=(a,s,e)=>s in a?n(a,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[s]=e;var t=(a,s,e)=>p(a,typeof s!="symbol"?s+"":s,e);import{A as y,r}from"./index-BdfI9ZEv.js";class c extends y{constructor(){super("admin/ssh-gateways");t(this,"decrypt",async(e,i)=>await r.get(`/${this.group}/${e}/decrypted?securityToken=${i}`));t(this,"getAvailableAssets",async()=>await r.get("/admin/assets/ssh/available-for-gateway"))}}let w=new c;export{w as s}; +var n=Object.defineProperty;var p=(a,s,e)=>s in a?n(a,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[s]=e;var t=(a,s,e)=>p(a,typeof s!="symbol"?s+"":s,e);import{A as y,r}from"./index-DQXwuKC5.js";class c extends y{constructor(){super("admin/ssh-gateways");t(this,"decrypt",async(e,i)=>await r.get(`/${this.group}/${e}/decrypted?securityToken=${i}`));t(this,"getAvailableAssets",async()=>await r.get("/admin/assets/ssh/available-for-gateway"))}}let w=new c;export{w as s}; diff --git a/server/resource/build/assets/storage-api-BOyaRg9s.js b/server/resource/build/assets/storage-api-CDrFMJhC.js similarity index 82% rename from server/resource/build/assets/storage-api-BOyaRg9s.js rename to server/resource/build/assets/storage-api-CDrFMJhC.js index d01f54788..16643d5d2 100644 --- a/server/resource/build/assets/storage-api-BOyaRg9s.js +++ b/server/resource/build/assets/storage-api-CDrFMJhC.js @@ -1 +1 @@ -var a=Object.defineProperty;var o=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r;var t=(e,s,r)=>o(e,typeof s!="symbol"?s+"":s,r);import{A as i,r as p}from"./index-BdfI9ZEv.js";class g extends i{constructor(){super("admin/storages");t(this,"getShares",async()=>await p.get(`/${this.group}/shares`))}}let c=new g;export{c as s}; +var a=Object.defineProperty;var o=(e,s,r)=>s in e?a(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r;var t=(e,s,r)=>o(e,typeof s!="symbol"?s+"":s,r);import{A as i,r as p}from"./index-DQXwuKC5.js";class g extends i{constructor(){super("admin/storages");t(this,"getShares",async()=>await p.get(`/${this.group}/shares`))}}let c=new g;export{c as s}; diff --git a/server/resource/build/assets/strategy-api-D3jzAEr4.js b/server/resource/build/assets/strategy-api-z9cMxeja.js similarity index 50% rename from server/resource/build/assets/strategy-api-D3jzAEr4.js rename to server/resource/build/assets/strategy-api-z9cMxeja.js index 1a8bb3bea..a59c5c601 100644 --- a/server/resource/build/assets/strategy-api-D3jzAEr4.js +++ b/server/resource/build/assets/strategy-api-z9cMxeja.js @@ -1 +1 @@ -import{A as s}from"./index-BdfI9ZEv.js";class t extends s{constructor(){super("admin/strategies")}}const a=new t;export{a as s}; +import{A as s}from"./index-DQXwuKC5.js";class t extends s{constructor(){super("admin/strategies")}}const a=new t;export{a as s}; diff --git a/server/resource/build/assets/sun-B74I0IGS.js b/server/resource/build/assets/sun-7WZ3UW9g.js similarity index 90% rename from server/resource/build/assets/sun-B74I0IGS.js rename to server/resource/build/assets/sun-7WZ3UW9g.js index d6e0deea5..267a82547 100644 --- a/server/resource/build/assets/sun-B74I0IGS.js +++ b/server/resource/build/assets/sun-7WZ3UW9g.js @@ -1 +1 @@ -import{v as t}from"./index-BdfI9ZEv.js";const e=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],a=t("moon",e);const c=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],h=t("sun",c);export{a as M,h as S}; +import{v as t}from"./index-DQXwuKC5.js";const e=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],a=t("moon",e);const c=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],h=t("sun",c);export{a as M,h as S}; diff --git a/server/resource/build/assets/times-BW3mBaPj.js b/server/resource/build/assets/times-CQ9ir0Jv.js similarity index 87% rename from server/resource/build/assets/times-BW3mBaPj.js rename to server/resource/build/assets/times-CQ9ir0Jv.js index 6abe73127..d013e6d50 100644 --- a/server/resource/build/assets/times-BW3mBaPj.js +++ b/server/resource/build/assets/times-CQ9ir0Jv.js @@ -1 +1 @@ -var i=Object.defineProperty;var f=(s,t,o)=>t in s?i(s,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[t]=o;var m=(s,t,o)=>f(s,typeof t!="symbol"?t+"":t,o);import{bh as c}from"./antd-Afm2kNt7.js";import{m as a}from"./index-BdfI9ZEv.js";const d="YYYY-MM-DD HH:mm:ss";class l{constructor(){m(this,"format",(t,o,r,e)=>c(t,o,r,e).format(d));m(this,"formatTime",function(o){const r=Math.floor(o/1e3),e=r%60,n=Math.floor(r/60);return a.zeroPad(n,2)+":"+a.zeroPad(e,2)})}}let Y=new l;export{Y as t}; +var i=Object.defineProperty;var f=(s,t,o)=>t in s?i(s,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[t]=o;var m=(s,t,o)=>f(s,typeof t!="symbol"?t+"":t,o);import{bh as c}from"./antd-Afm2kNt7.js";import{m as a}from"./index-DQXwuKC5.js";const d="YYYY-MM-DD HH:mm:ss";class l{constructor(){m(this,"format",(t,o,r,e)=>c(t,o,r,e).format(d));m(this,"formatTime",function(o){const r=Math.floor(o/1e3),e=r%60,n=Math.floor(r/60);return a.zeroPad(n,2)+":"+a.zeroPad(e,2)})}}let Y=new l;export{Y as t}; diff --git a/server/resource/build/assets/upload-D2Oc5RCX.js b/server/resource/build/assets/upload-D4kD-YfJ.js similarity index 72% rename from server/resource/build/assets/upload-D2Oc5RCX.js rename to server/resource/build/assets/upload-D4kD-YfJ.js index 62dc13db7..050f05829 100644 --- a/server/resource/build/assets/upload-D2Oc5RCX.js +++ b/server/resource/build/assets/upload-D4kD-YfJ.js @@ -1 +1 @@ -import{v as a}from"./index-BdfI9ZEv.js";const o=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],t=a("upload",o);export{t as U}; +import{v as a}from"./index-DQXwuKC5.js";const o=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],t=a("upload",o);export{t as U}; diff --git a/server/resource/build/assets/user-api-LAxz6xgj.js b/server/resource/build/assets/user-api-BJxKseSg.js similarity index 95% rename from server/resource/build/assets/user-api-LAxz6xgj.js rename to server/resource/build/assets/user-api-BJxKseSg.js index 38800433a..a95c19888 100644 --- a/server/resource/build/assets/user-api-LAxz6xgj.js +++ b/server/resource/build/assets/user-api-BJxKseSg.js @@ -1 +1 @@ -var n=Object.defineProperty;var o=(p,r,t)=>r in p?n(p,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):p[r]=t;var s=(p,r,t)=>o(p,typeof r!="symbol"?r+"":r,t);import{A as i,r as e}from"./index-BdfI9ZEv.js";class u extends i{constructor(){super("admin/users");s(this,"resetTOTP",async t=>{await e.post(`/${this.group}/reset-totp`,t)});s(this,"resetPassword",async(t,a)=>(await e.post(`/${this.group}/reset-password`,{keys:t,password:a})).password);s(this,"changeStatus",async(t,a)=>{await e.patch(`/${this.group}/${t}/status?status=${a}`)});s(this,"setupUser",async t=>{await e.post("/setup-user",t)});s(this,"getSetupStatus",async()=>await e.get("/setup-status"));s(this,"syncLdapUser",async()=>{await e.post(`/${this.group}/sync-from-ldap`)});s(this,"import",async t=>{let a=new FormData;a.append("file",t),await e.postForm(`/${this.group}/import`,a)});s(this,"getUserDepartments",async t=>await e.get(`/${this.group}/${t}/departments`));s(this,"setUserDepartments",async(t,a)=>{await e.post(`/${this.group}/${t}/departments`,{departmentIds:a})});s(this,"batchSetUserDepartments",async(t,a)=>{await e.post(`/${this.group}/batch-departments`,{userIds:t,departmentIds:a})});s(this,"getUserClientCert",async t=>await e.get(`/${this.group}/${t}/client-cert`));s(this,"revokeUserClientCert",async t=>await e.delete(`/${this.group}/${t}/client-cert`))}}const $=new u;export{$ as u}; +var n=Object.defineProperty;var o=(p,r,t)=>r in p?n(p,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):p[r]=t;var s=(p,r,t)=>o(p,typeof r!="symbol"?r+"":r,t);import{A as i,r as e}from"./index-DQXwuKC5.js";class u extends i{constructor(){super("admin/users");s(this,"resetTOTP",async t=>{await e.post(`/${this.group}/reset-totp`,t)});s(this,"resetPassword",async(t,a)=>(await e.post(`/${this.group}/reset-password`,{keys:t,password:a})).password);s(this,"changeStatus",async(t,a)=>{await e.patch(`/${this.group}/${t}/status?status=${a}`)});s(this,"setupUser",async t=>{await e.post("/setup-user",t)});s(this,"getSetupStatus",async()=>await e.get("/setup-status"));s(this,"syncLdapUser",async()=>{await e.post(`/${this.group}/sync-from-ldap`)});s(this,"import",async t=>{let a=new FormData;a.append("file",t),await e.postForm(`/${this.group}/import`,a)});s(this,"getUserDepartments",async t=>await e.get(`/${this.group}/${t}/departments`));s(this,"setUserDepartments",async(t,a)=>{await e.post(`/${this.group}/${t}/departments`,{departmentIds:a})});s(this,"batchSetUserDepartments",async(t,a)=>{await e.post(`/${this.group}/batch-departments`,{userIds:t,departmentIds:a})});s(this,"getUserClientCert",async t=>await e.get(`/${this.group}/${t}/client-cert`));s(this,"revokeUserClientCert",async t=>await e.delete(`/${this.group}/${t}/client-cert`))}}const $=new u;export{$ as u}; diff --git a/server/resource/build/assets/users-C-UbsH1o.js b/server/resource/build/assets/users-Bfyvg_N3.js similarity index 87% rename from server/resource/build/assets/users-C-UbsH1o.js rename to server/resource/build/assets/users-Bfyvg_N3.js index c0192f607..b662541fe 100644 --- a/server/resource/build/assets/users-C-UbsH1o.js +++ b/server/resource/build/assets/users-Bfyvg_N3.js @@ -1 +1 @@ -import{v as e}from"./index-BdfI9ZEv.js";const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],t=e("globe",c);const a=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],s=e("users",a);export{t as G,s as U}; +import{v as e}from"./index-DQXwuKC5.js";const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],t=e("globe",c);const a=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],s=e("users",a);export{t as G,s as U}; diff --git a/server/resource/build/assets/website-api-rU4LiJu6.js b/server/resource/build/assets/website-api-CiGWjL7L.js similarity index 92% rename from server/resource/build/assets/website-api-rU4LiJu6.js rename to server/resource/build/assets/website-api-CiGWjL7L.js index 9608a4998..68485b1c6 100644 --- a/server/resource/build/assets/website-api-rU4LiJu6.js +++ b/server/resource/build/assets/website-api-CiGWjL7L.js @@ -1 +1 @@ -var o=Object.defineProperty;var n=(a,e,t)=>e in a?o(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var r=(a,e,t)=>n(a,typeof e!="symbol"?e+"":e,t);import{A as u,r as s}from"./index-BdfI9ZEv.js";class p extends u{constructor(){super("admin/websites");r(this,"getGroups",async()=>await s.get(`/${this.group}/groups`));r(this,"setGroups",async t=>await s.put(`/${this.group}/groups`,t));r(this,"deleteGroup",async t=>await s.delete(`/${this.group}/groups/${t}`));r(this,"changeGroup",async t=>await s.post(`/${this.group}/change-group`,t));r(this,"changeGateway",async t=>await s.post(`/${this.group}/change-gateway`,t));r(this,"updateSortPosition",async t=>await s.post(`/${this.group}/sort`,t));r(this,"getFavicon",async t=>await s.get(`/${this.group}/favicon?url=${encodeURIComponent(t)}`))}}const c=new p;export{c as w}; +var o=Object.defineProperty;var n=(a,e,t)=>e in a?o(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var r=(a,e,t)=>n(a,typeof e!="symbol"?e+"":e,t);import{A as u,r as s}from"./index-DQXwuKC5.js";class p extends u{constructor(){super("admin/websites");r(this,"getGroups",async()=>await s.get(`/${this.group}/groups`));r(this,"setGroups",async t=>await s.put(`/${this.group}/groups`,t));r(this,"deleteGroup",async t=>await s.delete(`/${this.group}/groups/${t}`));r(this,"changeGroup",async t=>await s.post(`/${this.group}/change-group`,t));r(this,"changeGateway",async t=>await s.post(`/${this.group}/change-gateway`,t));r(this,"updateSortPosition",async t=>await s.post(`/${this.group}/sort`,t));r(this,"getFavicon",async t=>await s.get(`/${this.group}/favicon?url=${encodeURIComponent(t)}`))}}const c=new p;export{c as w}; diff --git a/server/resource/build/assets/wechat-work-api-D6pynTWy.js b/server/resource/build/assets/wechat-work-api-DdwWCsjx.js similarity index 87% rename from server/resource/build/assets/wechat-work-api-D6pynTWy.js rename to server/resource/build/assets/wechat-work-api-DdwWCsjx.js index deabfd86a..223c545db 100644 --- a/server/resource/build/assets/wechat-work-api-D6pynTWy.js +++ b/server/resource/build/assets/wechat-work-api-DdwWCsjx.js @@ -1 +1 @@ -var c=Object.defineProperty;var s=(t,o,e)=>o in t?c(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e;var r=(t,o,e)=>s(t,typeof o!="symbol"?o+"":o,e);import{A as i,r as a}from"./index-BdfI9ZEv.js";class p extends i{constructor(){super("account");r(this,"getAuthorizeUrl",async e=>{const n=e?`?state=${encodeURIComponent(e)}`:"";return await a.get(`/wechat-work/authorize${n}`)});r(this,"login",async e=>await a.post(`/wechat-work/login?code=${encodeURIComponent(e)}`))}}const h=new p;export{h as w}; +var c=Object.defineProperty;var s=(t,o,e)=>o in t?c(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e;var r=(t,o,e)=>s(t,typeof o!="symbol"?o+"":o,e);import{A as i,r as a}from"./index-DQXwuKC5.js";class p extends i{constructor(){super("account");r(this,"getAuthorizeUrl",async e=>{const n=e?`?state=${encodeURIComponent(e)}`:"";return await a.get(`/wechat-work/authorize${n}`)});r(this,"login",async e=>await a.post(`/wechat-work/login?code=${encodeURIComponent(e)}`))}}const h=new p;export{h as w}; diff --git a/server/resource/build/index.html b/server/resource/build/index.html index 349faf130..b794c13f7 100644 --- a/server/resource/build/index.html +++ b/server/resource/build/index.html @@ -9,7 +9,7 @@ - + diff --git a/server/resource/build/sw.js b/server/resource/build/sw.js index 4408e4ab0..f9d4193ee 100644 --- a/server/resource/build/sw.js +++ b/server/resource/build/sw.js @@ -1 +1 @@ -if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s}));self.define=(i,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const u=s=>l(s,a),t={module:{uri:a},exports:n,require:u};e[a]=Promise.all(i.map(s=>t[s]||u(s))).then(s=>(r(...s),n))}}define(["./workbox-8c29f6e4"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"index.html",revision:"118596e60915b2e0030662de3c28516a"},{url:"assets/xterm-Buno8AXJ.js",revision:null},{url:"assets/WechatWorkCallback-uR2Gy8LY.js",revision:null},{url:"assets/wechat-work-api-D6pynTWy.js",revision:null},{url:"assets/WebsitePage-BQsgC7sM.js",revision:null},{url:"assets/WebsiteFacadePage-Bpy51VlF.js",revision:null},{url:"assets/website-api-rU4LiJu6.js",revision:null},{url:"assets/users-C-UbsH1o.js",revision:null},{url:"assets/UserPage-_qXT4zeH.js",revision:null},{url:"assets/UserLayout-C7K-gfNi.js",revision:null},{url:"assets/UserInfoPage-C5YwCFfO.js",revision:null},{url:"assets/UserDetailPage-COUllrPm.js",revision:null},{url:"assets/user-api-LAxz6xgj.js",revision:null},{url:"assets/upload-D2Oc5RCX.js",revision:null},{url:"assets/ts.worker-CC31TMTe.js",revision:null},{url:"assets/ToolsPage-l87ZTNOl.js",revision:null},{url:"assets/times-BW3mBaPj.js",revision:null},{url:"assets/TerminalPlayback-CslH5VTi.js",revision:null},{url:"assets/TerminalPlayback-C0uHH8VC.css",revision:null},{url:"assets/TerminalMonitor-BuiLfLXh.js",revision:null},{url:"assets/SystemMonitorPage-DWtzWPw3.js",revision:null},{url:"assets/sun-B74I0IGS.js",revision:null},{url:"assets/StrategyPage-DFdP-6KB.js",revision:null},{url:"assets/strategy-api-D3jzAEr4.js",revision:null},{url:"assets/StoragePage-JPUhNoV1.js",revision:null},{url:"assets/storage-api-BOyaRg9s.js",revision:null},{url:"assets/SshGatewayPage-hPMUXSQN.js",revision:null},{url:"assets/ssh-gateway-api-CfWrAhC0.js",revision:null},{url:"assets/sort-BOdE-yay.js",revision:null},{url:"assets/SnippetUserPage-DYKwTzpZ.js",revision:null},{url:"assets/SnippetPage-DmR5nBrh.js",revision:null},{url:"assets/SetupPage-CTGu1LkD.js",revision:null},{url:"assets/SettingPage-naIEfwq6.js",revision:null},{url:"assets/session-api-CdVNYxgO.js",revision:null},{url:"assets/server-BXUeOkFL.js",revision:null},{url:"assets/ScheduledTaskPage-CpGHrjAP.js",revision:null},{url:"assets/RolePage-C6MaXYBm.js",revision:null},{url:"assets/RoleDetail-BVoN2R-V.js",revision:null},{url:"assets/role-api-BtBYGwtw.js",revision:null},{url:"assets/RedirectPage-xjIE-7In.js",revision:null},{url:"assets/react-l0sNRNKZ.js",revision:null},{url:"assets/QuerySelects-DHrAMegb.js",revision:null},{url:"assets/OperationLogPage-7stIEQaB.js",revision:null},{url:"assets/OnlineSessionPage-C4HtKXE7.js",revision:null},{url:"assets/OidcServerConsent-Cp7AAUPq.js",revision:null},{url:"assets/OidcClientPage-DILLx2b5.js",revision:null},{url:"assets/OidcCallback-Ceurjycx.js",revision:null},{url:"assets/oidc-api-BsaBtN-M.js",revision:null},{url:"assets/OfflineSessionPage-BQbWlNuQ.js",revision:null},{url:"assets/NLink-BW2w3qR4.js",revision:null},{url:"assets/network-B7NfTit9.js",revision:null},{url:"assets/NButton-DoPcvKBF.js",revision:null},{url:"assets/monaco-D4lxmsqF.css",revision:null},{url:"assets/monaco-CA9D5Osg.js",revision:null},{url:"assets/MobileAccessTerminal-DTIA7YRO.js",revision:null},{url:"assets/LoginPolicyPostPage-Ds4eWRMf.js",revision:null},{url:"assets/LoginPolicyPostPage-BQyj14Fs.css",revision:null},{url:"assets/LoginPolicyPage-CQKYlGgn.js",revision:null},{url:"assets/LoginPolicyDetailPage-C-1zj9bm.js",revision:null},{url:"assets/LoginPage-EZSuVsun.js",revision:null},{url:"assets/LoginLogPage-BLK1mfnq.js",revision:null},{url:"assets/LoginLockedPage-BfP3eKHk.js",revision:null},{url:"assets/login-policy-api-FsKg9lSA.js",revision:null},{url:"assets/json.worker-CTPo88F_.js",revision:null},{url:"assets/InfoPage-C1KU0N5z.js",revision:null},{url:"assets/index-CkNj51me.css",revision:null},{url:"assets/index-BdfI9ZEv.js",revision:null},{url:"assets/html.worker-CTR7tRei.js",revision:null},{url:"assets/GuacdPlayback-DQHtnea3.css",revision:null},{url:"assets/GuacdPlayback-CXTxl9WE.js",revision:null},{url:"assets/GuacdMonitor-BFjzb-EC.js",revision:null},{url:"assets/GatewayGroupPage-lhyUsn9i.js",revision:null},{url:"assets/gateway-group-api-Ckni5YAK.js",revision:null},{url:"assets/FileSystemLogPage-By5AW-Bn.js",revision:null},{url:"assets/FacadeSearchBar-sDOAHksR.js",revision:null},{url:"assets/FacadeCardSkeleton-DuF-8KBE.js",revision:null},{url:"assets/ErrorPage-WplkeDbT.js",revision:null},{url:"assets/DepartmentPage-SejOk8c8.js",revision:null},{url:"assets/DepartmentDetail-Be35ReAG.js",revision:null},{url:"assets/department-api-BBDEkNE1.js",revision:null},{url:"assets/db-work-order-api-KPFccs1w.js",revision:null},{url:"assets/DatabaseWorkOrderUserPage-DFD-a3Te.js",revision:null},{url:"assets/DatabaseWorkOrderPage-B_VFfBxr.js",revision:null},{url:"assets/DatabaseSQLLogPage-C0VvLLEG.js",revision:null},{url:"assets/DatabaseAssetPage-BerFFisj.js",revision:null},{url:"assets/DatabaseAssetFacadePage-Dn2DFVr8.js",revision:null},{url:"assets/database-asset-api-CCmdFIKr.js",revision:null},{url:"assets/DashboardPage-CPKeLQvq.js",revision:null},{url:"assets/css.worker-CgwaIV8M.js",revision:null},{url:"assets/CredentialPage-C35A_WzA.js",revision:null},{url:"assets/credential-api-Byw61SQu.js",revision:null},{url:"assets/CommandFilterPage-b_7r890m.js",revision:null},{url:"assets/CommandFilterDetail-DF5yiZYa.js",revision:null},{url:"assets/command-filter-api-DlKwuBlA.js",revision:null},{url:"assets/charts-DWBuA5Za.js",revision:null},{url:"assets/CertificatePage-S9M5FoJH.js",revision:null},{url:"assets/certificate-api-Dxdo9Mos.js",revision:null},{url:"assets/BrowserPage-xofuPwAx.js",revision:null},{url:"assets/BrowserPage-C3yUGLF0.css",revision:null},{url:"assets/AuthorisedWebsitePost-CkpOhlat.js",revision:null},{url:"assets/AuthorisedWebsitePage-O4HuiOP6.js",revision:null},{url:"assets/AuthorisedDatabaseAssetPost-DCLaLxbv.js",revision:null},{url:"assets/AuthorisedDatabaseAssetPage-D8lUCC84.js",revision:null},{url:"assets/AuthorisedAssetPost-BFbI-Qae.js",revision:null},{url:"assets/AuthorisedAssetPage-Bnh0QZ4Y.js",revision:null},{url:"assets/authorised-website-api-BRQ745lC.js",revision:null},{url:"assets/authorised-database-asset-api-CrMo0xb4.js",revision:null},{url:"assets/authorised-asset-api-CAfIRme-.js",revision:null},{url:"assets/AssetPage-CInWNumO.js",revision:null},{url:"assets/AssetGatewayChoose-DPYRzxwL.js",revision:null},{url:"assets/AssetFacadePage-Cidq4AsP.js",revision:null},{url:"assets/asset-api-CdGgZMNY.js",revision:null},{url:"assets/antd-Afm2kNt7.js",revision:null},{url:"assets/AgentGatewayPage-CkGwNps2.js",revision:null},{url:"assets/agent-gateway-api-C1FfOeZ1.js",revision:null},{url:"assets/AccessLogStatsPage-BdoEC7iY.js",revision:null},{url:"assets/AccessLogPage-rqId-oaG.js",revision:null},{url:"assets/access-log-api-lMBeavFW.js",revision:null},{url:"manifest.webmanifest",revision:"099a38688317f412c34301c21844bf86"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\//,/^\/x-/,/^\/access/]}))}); +if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s}));self.define=(i,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const u=s=>l(s,a),t={module:{uri:a},exports:n,require:u};e[a]=Promise.all(i.map(s=>t[s]||u(s))).then(s=>(r(...s),n))}}define(["./workbox-8c29f6e4"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"index.html",revision:"680acdf50bde837ff05bd50975c4d972"},{url:"assets/xterm-Buno8AXJ.js",revision:null},{url:"assets/WechatWorkCallback-BTjIgIlC.js",revision:null},{url:"assets/wechat-work-api-DdwWCsjx.js",revision:null},{url:"assets/WebsitePage-BFwEoyOi.js",revision:null},{url:"assets/WebsiteFacadePage-CqAliO-B.js",revision:null},{url:"assets/website-api-CiGWjL7L.js",revision:null},{url:"assets/users-Bfyvg_N3.js",revision:null},{url:"assets/UserPage-hpsga5IM.js",revision:null},{url:"assets/UserLayout-M9_Sh7Dn.js",revision:null},{url:"assets/UserInfoPage-DrNAhF9r.js",revision:null},{url:"assets/UserDetailPage-CxWs4t4Q.js",revision:null},{url:"assets/user-api-BJxKseSg.js",revision:null},{url:"assets/upload-D4kD-YfJ.js",revision:null},{url:"assets/ts.worker-CC31TMTe.js",revision:null},{url:"assets/ToolsPage-DPPxYsiI.js",revision:null},{url:"assets/times-CQ9ir0Jv.js",revision:null},{url:"assets/TerminalPlayback-CwU1DI7U.js",revision:null},{url:"assets/TerminalPlayback-C0uHH8VC.css",revision:null},{url:"assets/TerminalMonitor-BGHFY2w9.js",revision:null},{url:"assets/SystemMonitorPage-Lnutq0Ew.js",revision:null},{url:"assets/sun-7WZ3UW9g.js",revision:null},{url:"assets/StrategyPage-58Xo8e61.js",revision:null},{url:"assets/strategy-api-z9cMxeja.js",revision:null},{url:"assets/StoragePage-DS0_Tdim.js",revision:null},{url:"assets/storage-api-CDrFMJhC.js",revision:null},{url:"assets/SshGatewayPage-C_iCWAPs.js",revision:null},{url:"assets/ssh-gateway-api-D4569Eil.js",revision:null},{url:"assets/sort-BOdE-yay.js",revision:null},{url:"assets/SnippetUserPage-DbddvRmb.js",revision:null},{url:"assets/SnippetPage-Bp2O5-JS.js",revision:null},{url:"assets/SetupPage-DriicTxX.js",revision:null},{url:"assets/SettingPage-DxlkP9BT.js",revision:null},{url:"assets/session-api-mmDQqQeA.js",revision:null},{url:"assets/server-DnjIV_zW.js",revision:null},{url:"assets/ScheduledTaskPage-CQSqn-EP.js",revision:null},{url:"assets/RolePage-DqozdEe0.js",revision:null},{url:"assets/RoleDetail-B5ZhMtSV.js",revision:null},{url:"assets/role-api-RbYCFKw-.js",revision:null},{url:"assets/RedirectPage-BghypuSI.js",revision:null},{url:"assets/react-l0sNRNKZ.js",revision:null},{url:"assets/QuerySelects-HiP3pg4d.js",revision:null},{url:"assets/OperationLogPage-BlAhFenm.js",revision:null},{url:"assets/OnlineSessionPage-zbyIKEoo.js",revision:null},{url:"assets/OidcServerConsent-zcgmhrgY.js",revision:null},{url:"assets/OidcClientPage-DeSDpT3L.js",revision:null},{url:"assets/OidcCallback-qbNXTZur.js",revision:null},{url:"assets/oidc-api-DdlmoOii.js",revision:null},{url:"assets/OfflineSessionPage-D1UBBI15.js",revision:null},{url:"assets/NLink-Dl2yFaN4.js",revision:null},{url:"assets/network-Bw9HyUcr.js",revision:null},{url:"assets/NButton-DoPcvKBF.js",revision:null},{url:"assets/monaco-D4lxmsqF.css",revision:null},{url:"assets/monaco-CA9D5Osg.js",revision:null},{url:"assets/MobileAccessTerminal-DNKK6b04.js",revision:null},{url:"assets/LoginPolicyPostPage-BQyj14Fs.css",revision:null},{url:"assets/LoginPolicyPostPage--Tauq4PS.js",revision:null},{url:"assets/LoginPolicyPage-D8II9jNz.js",revision:null},{url:"assets/LoginPolicyDetailPage-C0FoOMds.js",revision:null},{url:"assets/LoginPage-aub4Iv9y.js",revision:null},{url:"assets/LoginLogPage-wdWF965f.js",revision:null},{url:"assets/LoginLockedPage-DZnpSndD.js",revision:null},{url:"assets/login-policy-api-BlI40YsB.js",revision:null},{url:"assets/json.worker-CTPo88F_.js",revision:null},{url:"assets/InfoPage--AJ8mxff.js",revision:null},{url:"assets/index-DQXwuKC5.js",revision:null},{url:"assets/index-CkNj51me.css",revision:null},{url:"assets/html.worker-CTR7tRei.js",revision:null},{url:"assets/GuacdPlayback-DQHtnea3.css",revision:null},{url:"assets/GuacdPlayback-CFtamDo9.js",revision:null},{url:"assets/GuacdMonitor-BuR0ODFT.js",revision:null},{url:"assets/GatewayGroupPage-Bz3t4FqF.js",revision:null},{url:"assets/gateway-group-api-nxpckHkj.js",revision:null},{url:"assets/FileSystemLogPage-q2mkisVQ.js",revision:null},{url:"assets/FacadeSearchBar-DPZw3dye.js",revision:null},{url:"assets/FacadeCardSkeleton-N6rktkuw.js",revision:null},{url:"assets/ErrorPage-BYi3namZ.js",revision:null},{url:"assets/DepartmentPage-CRl-pRy6.js",revision:null},{url:"assets/DepartmentDetail-ByJ-vndZ.js",revision:null},{url:"assets/department-api-fa0GHZbt.js",revision:null},{url:"assets/db-work-order-api-Bt-h8Gzk.js",revision:null},{url:"assets/DatabaseWorkOrderUserPage-B2ycCPZM.js",revision:null},{url:"assets/DatabaseWorkOrderPage-Caoq0Mdz.js",revision:null},{url:"assets/DatabaseSQLLogPage-D3ObzhHj.js",revision:null},{url:"assets/DatabaseAssetPage-C5z0KjFF.js",revision:null},{url:"assets/DatabaseAssetFacadePage-a0QWLTVr.js",revision:null},{url:"assets/database-asset-api-BQeUyDt2.js",revision:null},{url:"assets/DashboardPage-Im-9FWfr.js",revision:null},{url:"assets/css.worker-CgwaIV8M.js",revision:null},{url:"assets/CredentialPage-Die5iQYX.js",revision:null},{url:"assets/credential-api-DP_sN2cX.js",revision:null},{url:"assets/CommandFilterPage-DaXaMByx.js",revision:null},{url:"assets/CommandFilterDetail-BeaIU-md.js",revision:null},{url:"assets/command-filter-api-BxXGNaHY.js",revision:null},{url:"assets/charts-DWBuA5Za.js",revision:null},{url:"assets/CertificatePage-B2tj9A2w.js",revision:null},{url:"assets/certificate-api-CCI2Z4Qf.js",revision:null},{url:"assets/BrowserPage-C3yUGLF0.css",revision:null},{url:"assets/BrowserPage-B9fb62o-.js",revision:null},{url:"assets/AuthorisedWebsitePost-COc7i5eT.js",revision:null},{url:"assets/AuthorisedWebsitePage-C91itGU-.js",revision:null},{url:"assets/AuthorisedDatabaseAssetPost-BrzKzr0W.js",revision:null},{url:"assets/AuthorisedDatabaseAssetPage-CQMQnnFB.js",revision:null},{url:"assets/AuthorisedAssetPost-vCyEAP3r.js",revision:null},{url:"assets/AuthorisedAssetPage-BX2rNWSk.js",revision:null},{url:"assets/authorised-website-api-DLMeAD6d.js",revision:null},{url:"assets/authorised-database-asset-api-u0MMVZQN.js",revision:null},{url:"assets/authorised-asset-api-DxGTPNvM.js",revision:null},{url:"assets/AssetPage-BJD5muIt.js",revision:null},{url:"assets/AssetGatewayChoose-4vUjpk3C.js",revision:null},{url:"assets/AssetFacadePage-CCyTP6F2.js",revision:null},{url:"assets/asset-api-1abjsV5s.js",revision:null},{url:"assets/antd-Afm2kNt7.js",revision:null},{url:"assets/AgentGatewayPage-DEPMQmCG.js",revision:null},{url:"assets/agent-gateway-api-C9ZaxlKW.js",revision:null},{url:"assets/AccessLogStatsPage-CXrZAL2E.js",revision:null},{url:"assets/AccessLogPage-BMkEOqMJ.js",revision:null},{url:"assets/access-log-api-C2jjjGpZ.js",revision:null},{url:"manifest.webmanifest",revision:"099a38688317f412c34301c21844bf86"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\//,/^\/x-/,/^\/access/]}))}); diff --git a/web/src/pages/assets/AssetPost.tsx b/web/src/pages/assets/AssetPost.tsx index 616cc61fa..cabdd6f35 100644 --- a/web/src/pages/assets/AssetPost.tsx +++ b/web/src/pages/assets/AssetPost.tsx @@ -72,6 +72,8 @@ const AssetsPost = function ({assetId, groupId, copy, onClose}: AssetsInfoProps) const get = async () => { if (assetId) { let asset = await assetsApi.getById(assetId); + console.log('Asset data from API:', asset); + console.log('accessGatewayId:', asset.accessGatewayId); if (strings.hasText(asset.logo)) { setLogo(asset.logo); } @@ -90,7 +92,9 @@ const AssetsPost = function ({assetId, groupId, copy, onClose}: AssetsInfoProps) if (asset.accessGatewayId && asset.accessGatewayId !== '-') { // 需要判断网关类型,先默认设置为 ssh asset.gatewayType = 'ssh'; + console.log('Setting gatewayType to ssh'); } + console.log('Asset data after processing:', asset); return asset; } return { @@ -318,6 +322,7 @@ const AssetsPost = function ({assetId, groupId, copy, onClose}: AssetsInfoProps) {({gatewayType}) => { + console.log('ProFormDependency gatewayType:', gatewayType); if (gatewayType === 'ssh') { return (