@abtnode/blocklet-services 1.16.47-beta-20250721-130532-61549a96 → 1.16.47-beta-20250724-080141-d80ab374
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/index.js +3 -0
- package/api/libs/image.js +5 -1
- package/api/routes/access-key.js +59 -0
- package/api/routes/oauth/client.js +9 -0
- package/api/services/auth/session.js +14 -11
- package/api/util/attach-shared-utils.js +11 -8
- package/dist/assets/{AdapterDayjs-Dc_cn1Wv.js → AdapterDayjs-DJ-f1i8A.js} +1 -1
- package/dist/assets/{Google-BYGsR9Bd.js → Google-BvsSmJCS.js} +3 -3
- package/dist/assets/{access-control-oCszV5zC.js → access-control-DgyeLhBf.js} +1 -1
- package/dist/assets/actions-CRUvIBLz.js +1 -0
- package/dist/assets/{add-component-core-GYYnyhPI.js → add-component-core-CshRctcL.js} +29 -29
- package/dist/assets/add-resource-C6AR_ENP.js +1 -0
- package/dist/assets/{addon-m7dEcFSm.js → addon-Cioeq7ZM.js} +1 -1
- package/dist/assets/{advanced-BhS7b_np.js → advanced-DF-eCD_V.js} +3 -3
- package/dist/assets/aigne-DPVDIAAv.js +10 -0
- package/dist/assets/api-BfIB6faS.js +1 -0
- package/dist/assets/appearance-CL1LSpJB.js +1 -0
- package/dist/assets/ar-CcCysAXs.js +7 -0
- package/dist/assets/ar-VhkYkk5Z.js +1 -0
- package/dist/assets/{arrow-down.svg-6steA5un.js → arrow-down.svg-B9dO_KDq.js} +1 -1
- package/dist/assets/{audit-logs-gbfUafHi.js → audit-logs-EC_F2BOT.js} +2 -2
- package/dist/assets/{authorize-Bfey1QAy.js → authorize-DgLJOPDK.js} +1 -1
- package/dist/assets/{base-chart-u6OIGONc.js → base-chart-2nBOSo9s.js} +1 -1
- package/dist/assets/{base32-DBDFptL1.js → base32-TX5fATAF.js} +1 -1
- package/dist/assets/branding-7KMxNl9d.js +44 -0
- package/dist/assets/{branding-itFeNCQ6.js → branding-B6_aWuFR.js} +2 -2
- package/dist/assets/{bundle-avatar-DkLBEfff.js → bundle-avatar-BPnP6pIL.js} +1 -1
- package/dist/assets/button-CEiQto3g.js +1 -0
- package/dist/assets/{click-to-copy-m7BzOuWH.js → click-to-copy-BqGY_Kr7.js} +1 -1
- package/dist/assets/{cloneDeep-BpNWeRQ9.js → cloneDeep-CKVXBkcT.js} +1 -1
- package/dist/assets/{collapse-DfvukfIl.js → collapse-jk2ONGPl.js} +1 -1
- package/dist/assets/{complete-B4B7REuC.js → complete-zgzlWGY3.js} +4 -4
- package/dist/assets/{component-DMzCzNlm.js → component-BiE6SG5y.js} +63 -63
- package/dist/assets/{config-D-z5vAfP.js → config-Bra9VdE1.js} +2 -2
- package/dist/assets/config-CPpGYWww.js +28 -0
- package/dist/assets/{config-D3XTFUmZ.js → config-W_iStCFi.js} +1 -1
- package/dist/assets/{config-navigation-CfGhB5-E.js → config-navigation-D63aLfma.js} +9 -9
- package/dist/assets/config-space-DFnzGBOV.js +1 -0
- package/dist/assets/{confirm-B4BzkG04.js → confirm-5JMMSGdh.js} +1 -1
- package/dist/assets/{connect-JlblxSAY.js → connect-55nmllvA.js} +1 -1
- package/dist/assets/connect-Cph9RbRv.js +1 -0
- package/dist/assets/connect-to-CvyIrlXc.js +1 -0
- package/dist/assets/{content-layout-BaDbLmL5.js → content-layout-Mn94hzXe.js} +1 -1
- package/dist/assets/{createClass-g8bSPTyV.js → createClass-Ig9AWyIK.js} +1 -1
- package/dist/assets/{dashboard-CBpVHcLw.js → dashboard-BXgUTFa6.js} +8 -8
- package/dist/assets/de-BTXwRUYy.js +7 -0
- package/dist/assets/de-BYci0FoU.js +1 -0
- package/dist/assets/{delete-confirm-DhfRzwF1.js → delete-confirm-saPgrAIL.js} +1 -1
- package/dist/assets/{did-address-CdYAzzjR.js → did-address-D4l1uYd1.js} +1 -1
- package/dist/assets/domain-ClY1yq1j.js +9 -0
- package/dist/assets/domain-action-card-Ds6lQa7Z.js +28 -0
- package/dist/assets/domains-C_XAIIRT.js +1 -0
- package/dist/assets/{dot-OPeVWPUi.js → dot-BOuza8rS.js} +1 -1
- package/dist/assets/{email-BTKvn_fl.js → email-D07y9XJo.js} +1 -1
- package/dist/assets/empty-DhZfJeme.js +1 -0
- package/dist/assets/{empty-spinner-C6wgiyAQ.js → empty-spinner-D_3bEG2p.js} +1 -1
- package/dist/assets/engine-Bm7Qp-7f.js +1 -0
- package/dist/assets/es-1PoIOrwC.js +1 -0
- package/dist/assets/es-DCyLy_vM.js +9 -0
- package/dist/assets/{exchange-passport-B-9fNsX9.js → exchange-passport-B0LodWCE.js} +1 -1
- package/dist/assets/{form-BX4g8soo.js → form-D55muuDj.js} +1 -1
- package/dist/assets/form-text-input-BHd2ybwR.js +11 -0
- package/dist/assets/form-wrapper-DuJOKczF.js +99 -0
- package/dist/assets/fr-CNGOyo0v.js +7 -0
- package/dist/assets/fr-m47FzEWr.js +1 -0
- package/dist/assets/{fuel-DYTqXaPb.js → fuel-CYEtfdZk.js} +1 -1
- package/dist/assets/gen-access-key-BDWXKS6s.js +1 -0
- package/dist/assets/gen-simple-access-key-C-Aym19M.js +1 -0
- package/dist/assets/get-safe-url-CZlaSf1L.js +1 -0
- package/dist/assets/hi-Dcj1EDTy.js +1 -0
- package/dist/assets/hi-DsFnKfzk.js +5 -0
- package/dist/assets/{home-BL8xoBlc.js → home-CAJwSYRb.js} +1 -1
- package/dist/assets/id-CsK9Cnbo.js +7 -0
- package/dist/assets/id-UvUReF_3.js +1 -0
- package/dist/assets/{iframe-BTaRNGRY.js → iframe-DCdtoFjc.js} +1 -1
- package/dist/assets/{index-lf4wyjkd.js → index-1WiLWIAu.js} +6 -6
- package/dist/assets/index-B0pGy8t9.js +55 -0
- package/dist/assets/{index-D3qROm47.js → index-B36DERG2.js} +1 -1
- package/dist/assets/{index-BC395sak.js → index-B5_zLKFf.js} +1 -1
- package/dist/assets/index-BCWYWGPf.js +124 -0
- package/dist/assets/{index-CgCJ2qDh.js → index-BGoUXEmc.js} +88 -88
- package/dist/assets/{index-DseoFU10.js → index-BL2NEiva.js} +1 -1
- package/dist/assets/index-BSJbc4Ic.js +1 -0
- package/dist/assets/{index-DjKmasIZ.js → index-B_CAM-3t.js} +2 -2
- package/dist/assets/{index-Dy8syryD.js → index-BmCyA4MW.js} +3 -3
- package/dist/assets/index-Bzde7Bh8.js +113 -0
- package/dist/assets/{index-DyH1BrER.js → index-C7DDH7Uf.js} +10 -10
- package/dist/assets/{index-EIX4798q.js → index-C80MI1u_.js} +1 -1
- package/dist/assets/index-C8T12jiJ.js +1 -0
- package/dist/assets/{index-BaBIefeb.js → index-CGngFFes.js} +1 -1
- package/dist/assets/{index-CW67obch.js → index-CRFxmuV0.js} +1 -1
- package/dist/assets/index-CZXuMAQy.js +242 -0
- package/dist/assets/index-Ce_ilge5.js +271 -0
- package/dist/assets/index-CtENECgD.js +11 -0
- package/dist/assets/index-Cycplgtw.js +4 -0
- package/dist/assets/{index-DUnVGFh6.js → index-CzttGWll.js} +1 -1
- package/dist/assets/{index-BUJ5QfC4.js → index-D2MS4PNu.js} +6 -6
- package/dist/assets/{index-C-AuC2Mk.js → index-D3pV4Lj0.js} +1 -1
- package/dist/assets/{index-DcwzA8G_.js → index-DLHMwUmK.js} +1 -1
- package/dist/assets/{index-LvmCZD51.js → index-DpP3MEz0.js} +3 -3
- package/dist/assets/{index-D6kePAD5.js → index-DwEMr0X-.js} +6 -6
- package/dist/assets/{index-Cbxz8oHT.js → index-ElG08lIx.js} +1 -1
- package/dist/assets/{index-cCGBx0sL.js → index-Ft5IyfHH.js} +10 -10
- package/dist/assets/{index-D_5DFMMK.js → index-JVicMopH.js} +1 -1
- package/dist/assets/{index-SrN5SE_r.js → index-NVKZ_ZUS.js} +1 -1
- package/dist/assets/{index-Bo2cFOuR.js → index-UTcxT75j.js} +1 -1
- package/dist/assets/index-iY8rmPEZ.js +7 -0
- package/dist/assets/{invitation-CC5hPf7T.js → invitation-BEd7MxhL.js} +3 -3
- package/dist/assets/{invite-CreQ98MA.js → invite-C2gqMFFc.js} +1 -1
- package/dist/assets/isURL-sHTYO46x.js +2 -0
- package/dist/assets/{issue-passport-CIYcm6iB.js → issue-passport-ZvHPiNMo.js} +1 -1
- package/dist/assets/item-BlUr7rKO.js +1 -0
- package/dist/assets/ja-Cw02X6OV.js +1 -0
- package/dist/assets/ja-bb6qPt27.js +9 -0
- package/dist/assets/ko-DZSgmgs9.js +1 -0
- package/dist/assets/ko-DxiDEd1I.js +9 -0
- package/dist/assets/{landing-page-DOi_4Ca6.js → landing-page-CTjTjqyj.js} +1 -1
- package/dist/assets/{launch-result-message-Dwnqr8Lq.js → launch-result-message-3VxQH2Cy.js} +1 -1
- package/dist/assets/{layout-CIen07bA.js → layout-YAJmqZE8.js} +1 -1
- package/dist/assets/list-Bty_q29b.js +2 -0
- package/dist/assets/{list-B8ZhwNC1.js → list-Y-a4PO0u.js} +2 -2
- package/dist/assets/{list-header-CGX6Hi0X.js → list-header-DLhxtl5g.js} +1 -1
- package/dist/assets/localization-Bd37mWlD.js +1 -0
- package/dist/assets/{log-C9DU0cCG.js → log-B9tZ4qc6.js} +1 -1
- package/dist/assets/logger-MT1V7vOw.js +1 -0
- package/dist/assets/login-D-903-kb.js +1 -0
- package/dist/assets/{login-oauth-callback-C2SqP1bW.js → login-oauth-callback-B8e--CGo.js} +1 -1
- package/dist/assets/logo-uploader-BDvl-p1h.js +30 -0
- package/dist/assets/lost-passport-C-bcfQGt.js +168 -0
- package/dist/assets/observability-hUM5rYTW.js +1 -0
- package/dist/assets/{omit-CxEI1_wm.js → omit-CXy6Rymi.js} +1 -1
- package/dist/assets/{open-window-RuAUils2.js → open-window-BeKV58_Y.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-DhK6jNNQ.js → over-due-invoice-payment-YS7NZYQD.js} +1 -1
- package/dist/assets/{overview-BVSh5o7h.js → overview-re3EXfMP.js} +3 -3
- package/dist/assets/{page-header-BycH8S9r.js → page-header-DMbjH45Q.js} +1 -1
- package/dist/assets/{passport-item-D7sQ_FxN.js → passport-item-8olNdxYA.js} +1 -1
- package/dist/assets/{permission-C79TpiNV.js → permission-D-kAjshH.js} +1 -1
- package/dist/assets/playground-wmO_IQQj.js +1 -0
- package/dist/assets/preferences-Blutv5lP.js +1 -0
- package/dist/assets/profile-embed-BOKrgfV5.js +1 -0
- package/dist/assets/pt-Yj5llJx7.js +5 -0
- package/dist/assets/pt-fKCXneeH.js +1 -0
- package/dist/assets/publish-resource-D_O5YA9z.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-DwkY3sYg.js → react-beautiful-dnd.esm-D2jtRKWT.js} +1 -1
- package/dist/assets/{react-stripe.esm-BGPt6Wk8.js → react-stripe.esm-OZTdjjoB.js} +1 -1
- package/dist/assets/required-BE3i31mZ.js +6 -0
- package/dist/assets/ru-D59vFs72.js +1 -0
- package/dist/assets/ru-DaVu35Yr.js +5 -0
- package/dist/assets/runtime-BPzGyz-O.js +1 -0
- package/dist/assets/{sanitize-DSvGhymV.js → sanitize-DTRB99ZZ.js} +1 -1
- package/dist/assets/sdk-C6BkT6-0.js +1 -0
- package/dist/assets/section-dVgXR9AT.js +40 -0
- package/dist/assets/{security-BwF3YzTL.js → security-DnTqhJwZ.js} +4 -4
- package/dist/assets/session-ulvrJT-t.js +1 -0
- package/dist/assets/setup-DhVk3qh7.js +30 -0
- package/dist/assets/{shorten-label-BKNhALWt.js → shorten-label--tw3nR45.js} +1 -1
- package/dist/assets/{simple-select-DiucBfFO.js → simple-select-6w3ryEQx.js} +1 -1
- package/dist/assets/{spaces-D2uHzDSf.js → spaces-wJwcbibW.js} +1 -1
- package/dist/assets/{start-CCbI2h7_.js → start-DpiGz6e_.js} +1 -1
- package/dist/assets/{starting-progress-C2KBufhS.js → starting-progress-DQSw_Bxk.js} +1 -1
- package/dist/assets/status-T58XBbiV.js +1 -0
- package/dist/assets/{step-actions-C6aMtUZh.js → step-actions-DIkPOD9c.js} +1 -1
- package/dist/assets/{studio-B-QwZrdc.js → studio-BYS275wi.js} +1 -1
- package/dist/assets/{switch-control-88oLMAWm.js → switch-control-BuqCLgsC.js} +1 -1
- package/dist/assets/{table-tips-ZIxKRomr.js → table-tips-DQHiKZsk.js} +1 -1
- package/dist/assets/team-BESj-ofA.js +146 -0
- package/dist/assets/th-CmipfeuV.js +1 -0
- package/dist/assets/th-DEoqTEHf.js +5 -0
- package/dist/assets/traffic-Ck4_JTUO.js +1 -0
- package/dist/assets/{transfer-DWvn8JDa.js → transfer-D9h-sDAW.js} +2 -2
- package/dist/assets/{unsubscribe-DPIGic1H.js → unsubscribe-xEh30JTV.js} +1 -1
- package/dist/assets/{use-mobile-BhzP2Rp3.js → use-mobile-CiJJ-F32.js} +1 -1
- package/dist/assets/{use-mobile-BtGrkCtZ.js → use-mobile-DXb1p_2Q.js} +1 -1
- package/dist/assets/use-promise-window-open-I4QIABtm.js +1 -0
- package/dist/assets/{use-server-logo-BFuFRBQG.js → use-server-logo-BoNyOffw.js} +1 -1
- package/dist/assets/use-window-close-0exfy1za.js +2 -0
- package/dist/assets/{useAsync-DGzYJlYv.js → useAsync-NmGtaPYZ.js} +1 -1
- package/dist/assets/{useAsync-DcK0UTnz.js → useAsync-kpO9-9ye.js} +1 -1
- package/dist/assets/{useLocalStorage-BRPtTalQ.js → useLocalStorage-oSchpz1c.js} +1 -1
- package/dist/assets/user-center-yL13yU5N.js +126 -0
- package/dist/assets/{user-sessions-C2LvHnd6.js → user-sessions-7gxEZAmB.js} +1 -1
- package/dist/assets/{util-DtXj9fc3.js → util-D52ViY5P.js} +1 -1
- package/dist/assets/{util-BGfTex9R.js → util-H8b0otwY.js} +1 -1
- package/dist/assets/{vendor-arcblock-B78OG6SS.js → vendor-arcblock-C7W5M07l.js} +1 -1
- package/dist/assets/{vendor-hooks-HB6DqcLv.js → vendor-hooks-0NQwJuRY.js} +2 -2
- package/dist/assets/{vendor-mui-core-DWYIngcn.js → vendor-mui-core-CiGwt5P_.js} +2 -2
- package/dist/assets/{vendor-mui-x-nEbm5eNb.js → vendor-mui-x-CXaju64L.js} +1 -1
- package/dist/assets/{vendor-utils-J7aLFpEq.js → vendor-utils-DAj75QpF.js} +1 -1
- package/dist/assets/{vendor-ux-Dln42oC3.js → vendor-ux-CF8ziO7Y.js} +81 -80
- package/dist/assets/vi-D7Q19sbd.js +5 -0
- package/dist/assets/vi-DpNkWLxz.js +1 -0
- package/dist/assets/wait-connect-Cll9F6lE.js +1 -0
- package/dist/assets/wrap-locale-CsXU2piR.js +1 -0
- package/dist/assets/zh-BChkzbvC.js +1 -0
- package/dist/assets/{zh-C3O8IIjK.js → zh-BrUcq0vn.js} +1 -1
- package/dist/assets/zh-DkzyaEBh.js +10 -0
- package/dist/assets/zh-tw-BNjyxfNh.js +9 -0
- package/dist/assets/zh-tw-CjDPzOCU.js +1 -0
- package/dist/images/aigne-hub.jpg +0 -0
- package/dist/images/anthropic.png +0 -0
- package/dist/images/bedrock.png +0 -0
- package/dist/images/deepseek.png +0 -0
- package/dist/images/gemini.png +0 -0
- package/dist/images/ollama.png +0 -0
- package/dist/images/open-router.png +0 -0
- package/dist/images/openai.png +0 -0
- package/dist/images/xai.png +0 -0
- package/dist/index.html +6 -6
- package/dist/service-worker.js +1 -1
- package/package.json +47 -47
- package/dist/assets/actions-CeSIZN0M.js +0 -1
- package/dist/assets/add-resource-vcL8WXJK.js +0 -1
- package/dist/assets/api-BV16dSSm.js +0 -1
- package/dist/assets/appearance-BF-F41U0.js +0 -1
- package/dist/assets/ar-C5ipiHf8.js +0 -7
- package/dist/assets/ar-DCQblmBa.js +0 -1
- package/dist/assets/branding-Co1T-6R4.js +0 -54
- package/dist/assets/button-Cnj6R5bV.js +0 -1
- package/dist/assets/config-space-a6OXiuM7.js +0 -1
- package/dist/assets/connect-B-9mXcqo.js +0 -1
- package/dist/assets/connect-to-BL3HAXmC.js +0 -1
- package/dist/assets/de-D2XMSiJO.js +0 -7
- package/dist/assets/de-qK31O6-T.js +0 -1
- package/dist/assets/domain-action-card-B-0EUHm9.js +0 -28
- package/dist/assets/domain-q2p-uq0P.js +0 -9
- package/dist/assets/domains-BvFskQMv.js +0 -1
- package/dist/assets/engine-DHKpyPwC.js +0 -1
- package/dist/assets/es-BbK8BUZe.js +0 -9
- package/dist/assets/es-if48ykIx.js +0 -1
- package/dist/assets/fr-BGG_0fyt.js +0 -7
- package/dist/assets/fr-CgLauWUq.js +0 -1
- package/dist/assets/gen-access-key-DVBJadXn.js +0 -2
- package/dist/assets/get-safe-url-Ce6hawV-.js +0 -1
- package/dist/assets/hi-Xr6quGTW.js +0 -1
- package/dist/assets/hi-u6UuLwjV.js +0 -5
- package/dist/assets/id-C2MXmMK4.js +0 -1
- package/dist/assets/id-CIzxbBpP.js +0 -7
- package/dist/assets/index-5klv_mrK.js +0 -4
- package/dist/assets/index-B9-tuTku.js +0 -242
- package/dist/assets/index-B9GdL3BM.js +0 -124
- package/dist/assets/index-BVPDkm__.js +0 -1
- package/dist/assets/index-C_CqbmyE.js +0 -7
- package/dist/assets/index-CeczUnUx.js +0 -284
- package/dist/assets/index-CgRDnxac.js +0 -55
- package/dist/assets/index-D8X_0Jj0.js +0 -1
- package/dist/assets/index-gkhmzgqt.js +0 -113
- package/dist/assets/index-n78OcMXJ.js +0 -11
- package/dist/assets/item-C8OCvu8j.js +0 -1
- package/dist/assets/ja-Cfsi5Ugj.js +0 -9
- package/dist/assets/ja-YE6rPAFZ.js +0 -1
- package/dist/assets/ko-D-4Akfw8.js +0 -1
- package/dist/assets/ko-DXnv35ZL.js +0 -9
- package/dist/assets/list-DZy6xsmU.js +0 -2
- package/dist/assets/localization-CKs8paiI.js +0 -1
- package/dist/assets/logger-BAwrOeMG.js +0 -1
- package/dist/assets/login-Bnu0F5eS.js +0 -1
- package/dist/assets/logo-uploader-DgG1moIj.js +0 -133
- package/dist/assets/lost-passport-DtNgA2rm.js +0 -168
- package/dist/assets/preferences-DfEKF75U.js +0 -1
- package/dist/assets/profile-embed-LKUTgx9A.js +0 -1
- package/dist/assets/pt-BWEktz2b.js +0 -1
- package/dist/assets/pt-bwAs6AHq.js +0 -5
- package/dist/assets/publish-resource-BzjWpXe-.js +0 -1
- package/dist/assets/ru-BdE3cdVi.js +0 -5
- package/dist/assets/ru-CivYXtU3.js +0 -1
- package/dist/assets/runtime-Sobb0AXT.js +0 -1
- package/dist/assets/sdk-DzqJHXyQ.js +0 -1
- package/dist/assets/section-BqJWD2MT.js +0 -41
- package/dist/assets/session-BV5HR2vD.js +0 -1
- package/dist/assets/setup-Bll35TpG.js +0 -30
- package/dist/assets/status-fhCB_pM_.js +0 -1
- package/dist/assets/team-DplrCM_m.js +0 -147
- package/dist/assets/th-BtarXxEz.js +0 -5
- package/dist/assets/th-DmB7Kg4h.js +0 -1
- package/dist/assets/traffic-BU5sjdLg.js +0 -1
- package/dist/assets/user-center-D4QgyhnU.js +0 -126
- package/dist/assets/vi-BMiy6Nrg.js +0 -1
- package/dist/assets/vi-CkIA1NEb.js +0 -5
- package/dist/assets/wrap-locale-BylAyLRV.js +0 -1
- package/dist/assets/zh-Ch3TJh3i.js +0 -10
- package/dist/assets/zh-CubVjUHy.js +0 -1
- package/dist/assets/zh-tw-Bza_uiUD.js +0 -9
- package/dist/assets/zh-tw-oBCLhAEX.js +0 -1
package/api/index.js
CHANGED
|
@@ -77,6 +77,7 @@ const createOpenAPIRoutes = require('./routes/openapi');
|
|
|
77
77
|
const createOpenEventRoutes = require('./routes/openevent');
|
|
78
78
|
const createOpenComponentRoutes = require('./routes/opencomponent');
|
|
79
79
|
const createOpenEmbedRoutes = require('./routes/openembed');
|
|
80
|
+
const createAccessKeyRoutes = require('./routes/access-key');
|
|
80
81
|
const checkRunning = require('./middlewares/check-running');
|
|
81
82
|
const launcherLogin = require('./middlewares/launcher-login');
|
|
82
83
|
const { checkMemberPermission, checkGuestPermission } = require('./middlewares/check-permission');
|
|
@@ -791,6 +792,8 @@ self.blocklet = {
|
|
|
791
792
|
// API: dns resolver
|
|
792
793
|
createDnsResolver.init(server);
|
|
793
794
|
|
|
795
|
+
createAccessKeyRoutes.init(server, node);
|
|
796
|
+
|
|
794
797
|
// API: invitation
|
|
795
798
|
createInvite.init(server, node, {
|
|
796
799
|
prefix: `${WELLKNOWN_SERVICE_PATH_PREFIX}/api`,
|
package/api/libs/image.js
CHANGED
|
@@ -278,7 +278,11 @@ const processAndRespond = (req, res, cacheDir, getSrc, ext, sendOptions = { maxA
|
|
|
278
278
|
})
|
|
279
279
|
.catch((err) => {
|
|
280
280
|
logger.error('image filter failed', { error: err, params, url: req.url });
|
|
281
|
-
const status =
|
|
281
|
+
const status = ['unsupported image format', 'has corrupt header'].some((message) =>
|
|
282
|
+
err.message?.includes(message)
|
|
283
|
+
)
|
|
284
|
+
? 400
|
|
285
|
+
: getStatusFromError(err);
|
|
282
286
|
if (params.e) {
|
|
283
287
|
res.status(status).send(`Image service error: ${err.message}`);
|
|
284
288
|
} else {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* eslint-disable require-await */
|
|
2
|
+
const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
|
|
3
|
+
const { SERVER_ROLES } = require('@abtnode/constant');
|
|
4
|
+
const { encrypt } = require('@abtnode/util/lib/security');
|
|
5
|
+
const { CustomError } = require('@blocklet/error');
|
|
6
|
+
|
|
7
|
+
const ensureBlocklet = require('../middlewares/ensure-blocklet');
|
|
8
|
+
const checkUser = require('../middlewares/check-user');
|
|
9
|
+
|
|
10
|
+
const PREFIX = WELLKNOWN_SERVICE_PATH_PREFIX;
|
|
11
|
+
const prefixApi = `${PREFIX}/api/access-key`;
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
init(server, node) {
|
|
15
|
+
server.post(`${prefixApi}/authorize`, checkUser, ensureBlocklet(), async (req, res) => {
|
|
16
|
+
const teamDid = req.get('x-blocklet-did');
|
|
17
|
+
|
|
18
|
+
const { accessKeyId, accessKeySecret, expireAt } = await node.createAccessKey(
|
|
19
|
+
{ teamDid, remark: req.body.remark, createdVia: 'connect', passport: SERVER_ROLES.CI, authType: 'simple' },
|
|
20
|
+
{ user: req.user }
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
await node.updateSession({ id: req.body.sid, data: { accessKeyId, accessKeySecret, expireAt } });
|
|
24
|
+
|
|
25
|
+
return res.json({ accessKeyId, expireAt });
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// start session
|
|
29
|
+
server.post(`${prefixApi}/session`, async (_req, res) => {
|
|
30
|
+
const session = await node.startSession({ data: { type: 'access-key-simple' } });
|
|
31
|
+
res.json(session);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
server.get(`${prefixApi}/session`, async (req, res) => {
|
|
35
|
+
const session = await node.getSession({ id: req.query.sid });
|
|
36
|
+
if (session.type !== 'access-key-simple') {
|
|
37
|
+
throw new CustomError(403, 'Operation session not valid');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (session.accessKeySecret) {
|
|
41
|
+
session.accessKeySecret = encrypt(session.accessKeySecret, session.accessKeyId, session.challenge);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
res.json(session);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// end session
|
|
48
|
+
server.delete(`${prefixApi}/session`, async (req, res) => {
|
|
49
|
+
const session = await node.getSession({ id: req.query.sid });
|
|
50
|
+
|
|
51
|
+
if (session.type !== 'access-key-simple') {
|
|
52
|
+
throw new CustomError(403, 'Operation session not valid');
|
|
53
|
+
}
|
|
54
|
+
await node.endSession({ id: req.query.sid });
|
|
55
|
+
|
|
56
|
+
res.json(session);
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
};
|
|
@@ -233,6 +233,15 @@ async function login(req, node, options) {
|
|
|
233
233
|
emailVerified: isOAuthEmailVerified(blocklet, oauthInfo),
|
|
234
234
|
inviter,
|
|
235
235
|
};
|
|
236
|
+
} else if (
|
|
237
|
+
[LOGIN_PROVIDER.APPLE, LOGIN_PROVIDER.GITHUB, LOGIN_PROVIDER.AUTH0, LOGIN_PROVIDER.GOOGLE].includes(
|
|
238
|
+
currentUser.sourceProvider
|
|
239
|
+
)
|
|
240
|
+
) {
|
|
241
|
+
// HACK: 由于某些旧的数据,可能存在 emailVerified 为 false 的情况,此处做一个强制覆盖(因为是 OAuth 的信息,可以信任)
|
|
242
|
+
profile = {
|
|
243
|
+
emailVerified: isOAuthEmailVerified(blocklet, oauthInfo),
|
|
244
|
+
};
|
|
236
245
|
}
|
|
237
246
|
|
|
238
247
|
const { sessionToken, refreshToken, visitorId } = await userUtil.loginUserSession(
|
|
@@ -114,9 +114,9 @@ module.exports = {
|
|
|
114
114
|
const ua = req.get('user-agent');
|
|
115
115
|
if (isAistroUserAgent(ua) || isBlockletSDKUserAgent(ua)) {
|
|
116
116
|
// FIXME: @zhanghan BlockletSDK 和 Aistro 来的请求暂时不需要检查 visitorId,需要在 aistro 适配新的逻辑
|
|
117
|
-
await req.ensureUser({ token, appPid
|
|
117
|
+
await req.ensureUser({ token, appPid });
|
|
118
118
|
} else {
|
|
119
|
-
await req.ensureUser({ token, appPid,
|
|
119
|
+
await req.ensureUser({ token, appPid, visitorId });
|
|
120
120
|
}
|
|
121
121
|
if (!req.user) {
|
|
122
122
|
res.status(401).json({ error: 'not login' });
|
|
@@ -315,12 +315,15 @@ module.exports = {
|
|
|
315
315
|
router.post(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/did/refreshSession`, refreshBearerToken, async (req, res) => {
|
|
316
316
|
const token = req.refreshToken;
|
|
317
317
|
if (token) {
|
|
318
|
-
const cacheData = await cache.refreshToken.get(md5(token));
|
|
319
|
-
if (cacheData?.block) {
|
|
320
|
-
res.status(400).send(t('userSessionLogout', req.blockletLocale));
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
323
318
|
const teamDid = req.getBlockletDid();
|
|
319
|
+
const blocklet = await req.getBlocklet();
|
|
320
|
+
if (blocklet.settings?.session?.enableBlacklist) {
|
|
321
|
+
const cacheData = await cache.refreshToken.get(md5(token));
|
|
322
|
+
if (cacheData?.block) {
|
|
323
|
+
res.status(400).send(t('userSessionLogout', req.blockletLocale));
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
324
327
|
const visitorId = req.get('x-blocklet-visitor-id');
|
|
325
328
|
const ua = req.get('user-agent');
|
|
326
329
|
// FIXME: @zhanghan BlockletSDK 和 Aistro 来的请求暂时不需要检查 visitorId,需要在 aistro 适配新的逻辑
|
|
@@ -343,7 +346,7 @@ module.exports = {
|
|
|
343
346
|
}
|
|
344
347
|
|
|
345
348
|
try {
|
|
346
|
-
const
|
|
349
|
+
const blockletInfo = await req.getBlockletInfo();
|
|
347
350
|
|
|
348
351
|
const refreshTokenType = 'refresh';
|
|
349
352
|
const {
|
|
@@ -352,7 +355,7 @@ module.exports = {
|
|
|
352
355
|
passport,
|
|
353
356
|
provider = LOGIN_PROVIDER.WALLET,
|
|
354
357
|
walletOS,
|
|
355
|
-
} = await verifySessionToken(token,
|
|
358
|
+
} = await verifySessionToken(token, blockletInfo.secret, {
|
|
356
359
|
checkFromDb: true,
|
|
357
360
|
teamDid,
|
|
358
361
|
checkToken: (_token) => {
|
|
@@ -386,7 +389,7 @@ module.exports = {
|
|
|
386
389
|
const { sessionToken, refreshToken } = createToken(
|
|
387
390
|
userPid,
|
|
388
391
|
{
|
|
389
|
-
secret:
|
|
392
|
+
secret: blockletInfo.secret,
|
|
390
393
|
passport,
|
|
391
394
|
role,
|
|
392
395
|
fullName: user.fullName,
|
|
@@ -454,7 +457,7 @@ module.exports = {
|
|
|
454
457
|
provider,
|
|
455
458
|
walletOS,
|
|
456
459
|
},
|
|
457
|
-
|
|
460
|
+
blockletInfo.wallet
|
|
458
461
|
)
|
|
459
462
|
);
|
|
460
463
|
} catch (err) {
|
|
@@ -154,22 +154,26 @@ module.exports = ({ node, req, options }) => {
|
|
|
154
154
|
/**
|
|
155
155
|
* set user info to req.user
|
|
156
156
|
*/
|
|
157
|
-
req.ensureUser = async ({ token, visitorId, appPid
|
|
157
|
+
req.ensureUser = async ({ token, visitorId, appPid } = {}) => {
|
|
158
158
|
try {
|
|
159
|
+
const teamDid = req.getBlockletDid();
|
|
159
160
|
if (isLoginToken(token)) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
// TODO: 设置跳过的开关
|
|
162
|
+
const blocklet = await req.getBlocklet();
|
|
163
|
+
if (blocklet.settings?.session?.enableBlacklist) {
|
|
164
|
+
const cacheData = await cache.sessionToken.get(md5(token));
|
|
165
|
+
if (cacheData?.block) {
|
|
166
|
+
req.user = null;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
164
169
|
}
|
|
165
|
-
const teamDid = req.getBlockletDid();
|
|
166
|
-
const { secret } = blockletInfo || (await req.getBlockletInfo());
|
|
167
170
|
const opt = {
|
|
168
171
|
checkFromDb: (decoded) => cache.sessionCacheDisabledUser.get(decoded?.did),
|
|
169
172
|
teamDid,
|
|
170
173
|
locale: req.blockletLocale,
|
|
171
174
|
};
|
|
172
175
|
|
|
176
|
+
const { secret } = await req.getBlockletInfo();
|
|
173
177
|
const user = await verifySessionToken(token, secret, opt);
|
|
174
178
|
|
|
175
179
|
if (user && visitorId) {
|
|
@@ -194,7 +198,6 @@ module.exports = ({ node, req, options }) => {
|
|
|
194
198
|
}
|
|
195
199
|
req.user = user;
|
|
196
200
|
} else if (isAccessKey(token)) {
|
|
197
|
-
const teamDid = req.getBlockletDid();
|
|
198
201
|
const user = await authBySimpleAccessKey(token, node, teamDid);
|
|
199
202
|
req.user = user;
|
|
200
203
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as lt}from"./vendor-mui-core-
|
|
1
|
+
import{_ as lt}from"./vendor-mui-core-CiGwt5P_.js";import{d as c}from"./vendor-hooks-0NQwJuRY.js";import{g as Z}from"./vendor-react-Dvs43sk9.js";import{a2 as yt}from"./vendor-ux-CF8ziO7Y.js";var B={exports:{}},Mt=B.exports,st;function pt(){return st||(st=1,function(M,p){(function(m,t){M.exports=t()})(Mt,function(){var m="week",t="year";return function(e,i,a){var s=i.prototype;s.week=function(r){if(r===void 0&&(r=null),r!==null)return this.add(7*(r-this.week()),"day");var u=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var h=a(this).startOf(t).add(1,t).date(u),l=a(this).endOf(m);if(h.isBefore(l))return 1}var x=a(this).startOf(t).date(u).startOf(m).subtract(1,"millisecond"),$=this.diff(x,m,!0);return $<0?a(this).startOf("week").week():Math.ceil($)},s.weeks=function(r){return r===void 0&&(r=null),this.week(r)}}})}(B)),B.exports}var gt=pt();const Tt=Z(gt);var I={exports:{}},Dt=I.exports,rt;function wt(){return rt||(rt=1,function(M,p){(function(m,t){M.exports=t()})(Dt,function(){var m={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,e=/\d/,i=/\d\d/,a=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,r={},u=function(n){return(n=+n)+(n>68?1900:2e3)},h=function(n){return function(o){this[n]=+o}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(n){(this.zone||(this.zone={})).offset=function(o){if(!o||o==="Z")return 0;var d=o.match(/([+-]|\d\d)/g),f=60*d[1]+(+d[2]||0);return f===0?0:d[0]==="+"?-f:f}(n)}],x=function(n){var o=r[n];return o&&(o.indexOf?o:o.s.concat(o.f))},$=function(n,o){var d,f=r.meridiem;if(f){for(var D=1;D<=24;D+=1)if(n.indexOf(f(D,0,o))>-1){d=D>12;break}}else d=n===(o?"pm":"PM");return d},ot={A:[s,function(n){this.afternoon=$(n,!1)}],a:[s,function(n){this.afternoon=$(n,!0)}],Q:[e,function(n){this.month=3*(n-1)+1}],S:[e,function(n){this.milliseconds=100*+n}],SS:[i,function(n){this.milliseconds=10*+n}],SSS:[/\d{3}/,function(n){this.milliseconds=+n}],s:[a,h("seconds")],ss:[a,h("seconds")],m:[a,h("minutes")],mm:[a,h("minutes")],H:[a,h("hours")],h:[a,h("hours")],HH:[a,h("hours")],hh:[a,h("hours")],D:[a,h("day")],DD:[i,h("day")],Do:[s,function(n){var o=r.ordinal,d=n.match(/\d+/);if(this.day=d[0],o)for(var f=1;f<=31;f+=1)o(f).replace(/\[|\]/g,"")===n&&(this.day=f)}],w:[a,h("week")],ww:[i,h("week")],M:[a,h("month")],MM:[i,h("month")],MMM:[s,function(n){var o=x("months"),d=(x("monthsShort")||o.map(function(f){return f.slice(0,3)})).indexOf(n)+1;if(d<1)throw new Error;this.month=d%12||d}],MMMM:[s,function(n){var o=x("months").indexOf(n)+1;if(o<1)throw new Error;this.month=o%12||o}],Y:[/[+-]?\d+/,h("year")],YY:[i,function(n){this.year=u(n)}],YYYY:[/\d{4}/,h("year")],Z:l,ZZ:l};function ht(n){var o,d;o=n,d=r&&r.formats;for(var f=(n=o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,k,T){var g=T&&T.toUpperCase();return k||d[T]||m[T]||d[g].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(L,z,j){return z||j.slice(1)})})).match(t),D=f.length,w=0;w<D;w+=1){var U=f[w],S=ot[U],Y=S&&S[0],O=S&&S[1];f[w]=O?{regex:Y,parser:O}:U.replace(/^\[|\]$/g,"")}return function(C){for(var k={},T=0,g=0;T<D;T+=1){var L=f[T];if(typeof L=="string")g+=L.length;else{var z=L.regex,j=L.parser,A=C.slice(g),P=z.exec(A)[0];j.call(k,P),C=C.replace(P,"")}}return function(b){var v=b.afternoon;if(v!==void 0){var y=b.hours;v?y<12&&(b.hours+=12):y===12&&(b.hours=0),delete b.afternoon}}(k),k}}return function(n,o,d){d.p.customParseFormat=!0,n&&n.parseTwoDigitYear&&(u=n.parseTwoDigitYear);var f=o.prototype,D=f.parse;f.parse=function(w){var U=w.date,S=w.utc,Y=w.args;this.$u=S;var O=Y[1];if(typeof O=="string"){var C=Y[2]===!0,k=Y[3]===!0,T=C||k,g=Y[2];k&&(g=Y[2]),r=this.$locale(),!C&&g&&(r=d.Ls[g]),this.$d=function(A,P,b,v){try{if(["x","X"].indexOf(P)>-1)return new Date((P==="X"?1e3:1)*A);var y=ht(P)(A),N=y.year,F=y.month,ut=y.day,dt=y.hours,ft=y.minutes,ct=y.seconds,mt=y.milliseconds,tt=y.zone,et=y.week,V=new Date,q=ut||(N||F?1:V.getDate()),_=N||V.getFullYear(),W=0;N&&!F||(W=F>0?F-1:V.getMonth());var H,R=dt||0,Q=ft||0,X=ct||0,J=mt||0;return tt?new Date(Date.UTC(_,W,q,R,Q,X,J+60*tt.offset*1e3)):b?new Date(Date.UTC(_,W,q,R,Q,X,J)):(H=new Date(_,W,q,R,Q,X,J),et&&(H=v(H).week(et).toDate()),H)}catch{return new Date("")}}(U,O,S,d),this.init(),g&&g!==!0&&(this.$L=this.locale(g).$L),T&&U!=this.format(O)&&(this.$d=new Date("")),r={}}else if(O instanceof Array)for(var L=O.length,z=1;z<=L;z+=1){Y[1]=O[z-1];var j=d.apply(this,Y);if(j.isValid()){this.$d=j.$d,this.$L=j.$L,this.init();break}z===L&&(this.$d=new Date(""))}else D.call(this,w)}}})}(I)),I.exports}var Yt=wt();const Ot=Z(Yt);var E={exports:{}},xt=E.exports,nt;function kt(){return nt||(nt=1,function(M,p){(function(m,t){M.exports=t()})(xt,function(){return function(m,t,e){t.prototype.isBetween=function(i,a,s,r){var u=e(i),h=e(a),l=(r=r||"()")[0]==="(",x=r[1]===")";return(l?this.isAfter(u,s):!this.isBefore(u,s))&&(x?this.isBefore(h,s):!this.isAfter(h,s))||(l?this.isBefore(u,s):!this.isAfter(u,s))&&(x?this.isAfter(h,s):!this.isBefore(h,s))}}})}(E)),E.exports}var Lt=kt();const zt=Z(Lt);var G={exports:{}},St=G.exports,it;function Ct(){return it||(it=1,function(M,p){(function(m,t){M.exports=t()})(St,function(){return function(m,t){var e=t.prototype,i=e.format;e.format=function(a){var s=this,r=this.$locale();if(!this.isValid())return i.bind(this)(a);var u=this.$utils(),h=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(l){switch(l){case"Q":return Math.ceil((s.$M+1)/3);case"Do":return r.ordinal(s.$D);case"gggg":return s.weekYear();case"GGGG":return s.isoWeekYear();case"wo":return r.ordinal(s.week(),"W");case"w":case"ww":return u.s(s.week(),l==="w"?1:2,"0");case"W":case"WW":return u.s(s.isoWeek(),l==="W"?1:2,"0");case"k":case"kk":return u.s(String(s.$H===0?24:s.$H),l==="k"?1:2,"0");case"X":return Math.floor(s.$d.getTime()/1e3);case"x":return s.$d.getTime();case"z":return"["+s.offsetName()+"]";case"zzz":return"["+s.offsetName("long")+"]";default:return l}});return i.bind(this)(h)}}})}(G)),G.exports}var jt=Ct();const bt=Z(jt);c.extend(yt);c.extend(Tt);c.extend(zt);c.extend(bt);const Pt={YY:"year",YYYY:{sectionType:"year",contentType:"digit",maxLength:4},M:{sectionType:"month",contentType:"digit",maxLength:2},MM:"month",MMM:{sectionType:"month",contentType:"letter"},MMMM:{sectionType:"month",contentType:"letter"},D:{sectionType:"day",contentType:"digit",maxLength:2},DD:"day",Do:{sectionType:"day",contentType:"digit-with-letter"},d:{sectionType:"weekDay",contentType:"digit",maxLength:2},dd:{sectionType:"weekDay",contentType:"letter"},ddd:{sectionType:"weekDay",contentType:"letter"},dddd:{sectionType:"weekDay",contentType:"letter"},A:"meridiem",a:"meridiem",H:{sectionType:"hours",contentType:"digit",maxLength:2},HH:"hours",h:{sectionType:"hours",contentType:"digit",maxLength:2},hh:"hours",m:{sectionType:"minutes",contentType:"digit",maxLength:2},mm:"minutes",s:{sectionType:"seconds",contentType:"digit",maxLength:2},ss:"seconds"},$t={year:"YYYY",month:"MMMM",monthShort:"MMM",dayOfMonth:"D",dayOfMonthFull:"Do",weekday:"dddd",weekdayShort:"dd",hours24h:"HH",hours12h:"hh",meridiem:"A",minutes:"mm",seconds:"ss",fullDate:"ll",keyboardDate:"L",shortDate:"MMM D",normalDate:"D MMMM",normalDateWithWeekday:"ddd, MMM D",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},K=["Missing UTC plugin","To be able to use UTC or timezones, you have to enable the `utc` plugin","Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc"].join(`
|
|
2
2
|
`),at=["Missing timezone plugin","To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin","Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone"].join(`
|
|
3
3
|
`),Ut=(M,p)=>p?(...m)=>M(...m).locale(p):M;class Bt{constructor({locale:p,formats:m}={}){this.isMUIAdapter=!0,this.isTimezoneCompatible=!0,this.lib="dayjs",this.dayjs=void 0,this.locale=void 0,this.formats=void 0,this.escapedCharacters={start:"[",end:"]"},this.formatTokenMap=Pt,this.setLocaleToValue=t=>{const e=this.getCurrentLocaleCode();return e===t.locale()?t:t.locale(e)},this.hasUTCPlugin=()=>typeof c.utc<"u",this.hasTimezonePlugin=()=>typeof c.tz<"u",this.isSame=(t,e,i)=>{const a=this.setTimezone(e,this.getTimezone(t));return t.format(i)===a.format(i)},this.cleanTimezone=t=>{switch(t){case"default":return;case"system":return c.tz.guess();default:return t}},this.createSystemDate=t=>{if(this.hasUTCPlugin()&&this.hasTimezonePlugin()){const e=c.tz.guess();return e!=="UTC"?c.tz(t,e):c(t)}return c(t)},this.createUTCDate=t=>{if(!this.hasUTCPlugin())throw new Error(K);return c.utc(t)},this.createTZDate=(t,e)=>{if(!this.hasUTCPlugin())throw new Error(K);if(!this.hasTimezonePlugin())throw new Error(at);const i=t!==void 0&&!t.endsWith("Z");return c(t).tz(this.cleanTimezone(e),i)},this.getLocaleFormats=()=>{const t=c.Ls,e=this.locale||"en";let i=t[e];return i===void 0&&(i=t.en),i.formats},this.adjustOffset=t=>{if(!this.hasTimezonePlugin())return t;const e=this.getTimezone(t);if(e!=="UTC"){const i=t.tz(this.cleanTimezone(e),!0);if(i.$offset===(t.$offset??0))return t;t.$offset=i.$offset}return t},this.date=(t,e="default")=>{if(t===null)return null;let i;return e==="UTC"?i=this.createUTCDate(t):e==="system"||e==="default"&&!this.hasTimezonePlugin()?i=this.createSystemDate(t):i=this.createTZDate(t,e),this.locale===void 0?i:i.locale(this.locale)},this.getInvalidDate=()=>c(new Date("Invalid date")),this.getTimezone=t=>{if(this.hasTimezonePlugin()){const e=t.$x?.$timezone;if(e)return e}return this.hasUTCPlugin()&&t.isUTC()?"UTC":"system"},this.setTimezone=(t,e)=>{if(this.getTimezone(t)===e)return t;if(e==="UTC"){if(!this.hasUTCPlugin())throw new Error(K);return t.utc()}if(e==="system")return t.local();if(!this.hasTimezonePlugin()){if(e==="default")return t;throw new Error(at)}return c.tz(t,this.cleanTimezone(e))},this.toJsDate=t=>t.toDate(),this.parse=(t,e)=>t===""?null:this.dayjs(t,e,this.locale,!0),this.getCurrentLocaleCode=()=>this.locale||"en",this.is12HourCycleInCurrentLocale=()=>/A|a/.test(this.getLocaleFormats().LT||""),this.expandFormat=t=>{const e=this.getLocaleFormats(),i=a=>a.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(s,r,u)=>r||u.slice(1));return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(a,s,r)=>{const u=r&&r.toUpperCase();return s||e[r]||i(e[u])})},this.isValid=t=>t==null?!1:t.isValid(),this.format=(t,e)=>this.formatByString(t,this.formats[e]),this.formatByString=(t,e)=>this.dayjs(t).format(e),this.formatNumber=t=>t,this.isEqual=(t,e)=>t===null&&e===null?!0:t===null||e===null?!1:t.toDate().getTime()===e.toDate().getTime(),this.isSameYear=(t,e)=>this.isSame(t,e,"YYYY"),this.isSameMonth=(t,e)=>this.isSame(t,e,"YYYY-MM"),this.isSameDay=(t,e)=>this.isSame(t,e,"YYYY-MM-DD"),this.isSameHour=(t,e)=>t.isSame(e,"hour"),this.isAfter=(t,e)=>t>e,this.isAfterYear=(t,e)=>this.hasUTCPlugin()?!this.isSameYear(t,e)&&t.utc()>e.utc():t.isAfter(e,"year"),this.isAfterDay=(t,e)=>this.hasUTCPlugin()?!this.isSameDay(t,e)&&t.utc()>e.utc():t.isAfter(e,"day"),this.isBefore=(t,e)=>t<e,this.isBeforeYear=(t,e)=>this.hasUTCPlugin()?!this.isSameYear(t,e)&&t.utc()<e.utc():t.isBefore(e,"year"),this.isBeforeDay=(t,e)=>this.hasUTCPlugin()?!this.isSameDay(t,e)&&t.utc()<e.utc():t.isBefore(e,"day"),this.isWithinRange=(t,[e,i])=>t>=e&&t<=i,this.startOfYear=t=>this.adjustOffset(t.startOf("year")),this.startOfMonth=t=>this.adjustOffset(t.startOf("month")),this.startOfWeek=t=>this.adjustOffset(this.setLocaleToValue(t).startOf("week")),this.startOfDay=t=>this.adjustOffset(t.startOf("day")),this.endOfYear=t=>this.adjustOffset(t.endOf("year")),this.endOfMonth=t=>this.adjustOffset(t.endOf("month")),this.endOfWeek=t=>this.adjustOffset(this.setLocaleToValue(t).endOf("week")),this.endOfDay=t=>this.adjustOffset(t.endOf("day")),this.addYears=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"year"):t.add(e,"year")),this.addMonths=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"month"):t.add(e,"month")),this.addWeeks=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"week"):t.add(e,"week")),this.addDays=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"day"):t.add(e,"day")),this.addHours=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"hour"):t.add(e,"hour")),this.addMinutes=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"minute"):t.add(e,"minute")),this.addSeconds=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"second"):t.add(e,"second")),this.getYear=t=>t.year(),this.getMonth=t=>t.month(),this.getDate=t=>t.date(),this.getHours=t=>t.hour(),this.getMinutes=t=>t.minute(),this.getSeconds=t=>t.second(),this.getMilliseconds=t=>t.millisecond(),this.setYear=(t,e)=>this.adjustOffset(t.set("year",e)),this.setMonth=(t,e)=>this.adjustOffset(t.set("month",e)),this.setDate=(t,e)=>this.adjustOffset(t.set("date",e)),this.setHours=(t,e)=>this.adjustOffset(t.set("hour",e)),this.setMinutes=(t,e)=>this.adjustOffset(t.set("minute",e)),this.setSeconds=(t,e)=>this.adjustOffset(t.set("second",e)),this.setMilliseconds=(t,e)=>this.adjustOffset(t.set("millisecond",e)),this.getDaysInMonth=t=>t.daysInMonth(),this.getWeekArray=t=>{const e=this.startOfWeek(this.startOfMonth(t)),i=this.endOfWeek(this.endOfMonth(t));let a=0,s=e;const r=[];for(;s<i;){const u=Math.floor(a/7);r[u]=r[u]||[],r[u].push(s),s=this.addDays(s,1),a+=1}return r},this.getWeekNumber=t=>t.week(),this.getYearRange=([t,e])=>{const i=this.startOfYear(t),a=this.endOfYear(e),s=[];let r=i;for(;this.isBefore(r,a);)s.push(r),r=this.addYears(r,1);return s},this.dayjs=Ut(c,p),this.locale=p,this.formats=lt({},$t,m),c.extend(Ot)}getDayOfWeek(p){return p.day()+1}}export{Bt as A};
|