@abtnode/blocklet-services 1.17.8-beta-20260119-102944-6ba93a16 → 1.17.8-beta-20260125-093329-64b43854
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 +5 -0
- package/api/libs/connect/session.js +33 -39
- package/api/middlewares/launcher-login.js +1 -2
- package/api/routes/federated.js +1 -2
- package/api/routes/oauth/server.js +1 -2
- package/api/routes/user-session.js +0 -2
- package/api/routes/user.js +61 -41
- package/api/services/auth/connect/destroy-self.js +0 -2
- package/api/services/auth/connect/invite.js +0 -2
- package/api/services/auth/connect/issue-passport.js +0 -2
- package/api/services/auth/connect/receive-transfer-app-owner.js +0 -2
- package/api/services/auth/connect/verify-destroy.js +0 -2
- package/api/services/auth/connect/verify-elevated.js +0 -2
- package/api/services/auth/session.js +1 -36
- package/api/util/user-util.js +1 -2
- package/dist/assets/{AdapterDayjs-CYW0YvmK.js → AdapterDayjs-B5owpIH3.js} +1 -1
- package/dist/assets/{Google-DKRt92nm.js → Google-efeywUOs.js} +1 -1
- package/dist/assets/{LottiePlayer.modern-CeQuigIa.js → LottiePlayer.modern-CE8erevJ.js} +1 -1
- package/dist/assets/access-control-BzsCJj-F.js +14 -0
- package/dist/assets/{actions-DydkTgA0.js → actions-DbuL4r3Z.js} +1 -1
- package/dist/assets/actions-Dm98-Dap.js +64 -0
- package/dist/assets/{add-component-core-nc1ps0ni.js → add-component-core-BKVGCdxY.js} +21 -21
- package/dist/assets/add-resource-Cxa0mbrd.js +1 -0
- package/dist/assets/{addon-DfWedLEC.js → addon-B1KwZDQ5.js} +1 -1
- package/dist/assets/advanced-B62UUhxe.js +14 -0
- package/dist/assets/{aigne-6nMSoyeQ.js → aigne-jjaGOQQ7.js} +1 -1
- package/dist/assets/api-BMcHDEnt.js +1 -0
- package/dist/assets/appearance-_ZB7EroL.js +1 -0
- package/dist/assets/{ar-DOhYGTlW.js → ar-BJmSv7rn.js} +1 -1
- package/dist/assets/audit-logs-DF2wcdWX.js +35 -0
- package/dist/assets/authorize-C6nOsMWm.js +1 -0
- package/dist/assets/{base-chart-DcZV4ZCI.js → base-chart-D_u2nVGm.js} +1 -1
- package/dist/assets/{base32-7iZvvdX8.js → base32-D79Y2AcQ.js} +1 -1
- package/dist/assets/bind-account-BIj9FA7d.js +1 -0
- package/dist/assets/branding-BEGHWROe.js +40 -0
- package/dist/assets/{branding-CwSyd5WC.js → branding-C86_64it.js} +3 -3
- package/dist/assets/branding-Dqv4_zpD.js +1 -0
- package/dist/assets/bundle-avatar-Cy8tSSSQ.js +1 -0
- package/dist/assets/button-DMYwcDVh.js +1 -0
- package/dist/assets/{click-to-copy-BgIYUMoo.js → click-to-copy-BCjXD9Nd.js} +1 -1
- package/dist/assets/{cloneDeep-YxES7wNt.js → cloneDeep-q2Jbqwkh.js} +1 -1
- package/dist/assets/{collapse-RMuUWnK3.js → collapse-CBrasNzu.js} +1 -1
- package/dist/assets/complete-CCe1VfI6.js +39 -0
- package/dist/assets/{component-CuKviNC8.js → component-DLlaIYmq.js} +37 -37
- package/dist/assets/config-BccEmD3I.js +53 -0
- package/dist/assets/config-C0CmuuRP.js +1 -0
- package/dist/assets/config-CsQBU86s.js +32 -0
- package/dist/assets/{config-navigation-hDihVsjx.js → config-navigation-D46rq0IX.js} +11 -11
- package/dist/assets/config-space-DLjHQVCq.js +1 -0
- package/dist/assets/{confirm-CdVn5WdC.js → confirm-ClxC2cDv.js} +1 -1
- package/dist/assets/connect-9CgvkPOq.js +1 -0
- package/dist/assets/{connect-Dy0Y8HRB.js → connect-C1q4hvQ3.js} +1 -1
- package/dist/assets/connect-DXjJ46DL.js +5 -0
- package/dist/assets/connect-to-CbgQNAwh.js +1 -0
- package/dist/assets/{content-layout-Dlmn5DW6.js → content-layout-BH_g_OCf.js} +1 -1
- package/dist/assets/{create-passport-svg-hldNORaB.js → create-passport-svg-Ct68e5tm.js} +1 -1
- package/dist/assets/{createClass-CgfWUrk8.js → createClass-CeMEAEuP.js} +1 -1
- package/dist/assets/dashboard-y1fk-IQM.js +93 -0
- package/dist/assets/{de-CtKPdGk6.js → de-B2IoQCYX.js} +1 -1
- package/dist/assets/{delete-confirm-CkiUXocp.js → delete-confirm-CxRbnJU_.js} +1 -1
- package/dist/assets/{did-address-CG36eCOx.js → did-address-BhAIkFPZ.js} +1 -1
- package/dist/assets/{domain-CDTeLbkZ.js → domain-CMJp7emz.js} +1 -1
- package/dist/assets/domain-action-card-CKlATj2V.js +28 -0
- package/dist/assets/domains-CQs-XM9-.js +1 -0
- package/dist/assets/email-CYR31d5d.js +17 -0
- package/dist/assets/{empty-spinner-DB1GKIOS.js → empty-spinner-DzVQ0tC1.js} +1 -1
- package/dist/assets/engine-ByRLynLu.js +1 -0
- package/dist/assets/{es-BSYtSZPg.js → es-nlHqTKrO.js} +1 -1
- package/dist/assets/exchange-passport-BAD6oRbd.js +1 -0
- package/dist/assets/{fallback-D-IHOW-7.js → fallback-CJFJeDKq.js} +1 -1
- package/dist/assets/{form-text-input-CPLafaTk.js → form-text-input-Dq_8KU_Y.js} +2 -2
- package/dist/assets/{form-wrapper-kWYD3nZz.js → form-wrapper-YOmD-sDI.js} +1 -1
- package/dist/assets/{form-Co-tgocU.js → form-zHvITlPG.js} +3 -3
- package/dist/assets/{fr-C35fi7h9.js → fr-LrrW00cI.js} +1 -1
- package/dist/assets/{fuel-BFx1ShM2.js → fuel-CU-CpANh.js} +1 -1
- package/dist/assets/gen-access-key-Fb9M1v-f.js +1 -0
- package/dist/assets/gen-simple-access-key-BgYT9wM-.js +1 -0
- package/dist/assets/get-safe-url-CCXmZ6Ty.js +1 -0
- package/dist/assets/hi-DxZE2HUh.js +5 -0
- package/dist/assets/home-Cy8jLKNF.js +1 -0
- package/dist/assets/{id-DoVb0JYr.js → id-C3U8Kyb0.js} +1 -1
- package/dist/assets/{iframe-DUzp97tk.js → iframe-CZ9tjsFz.js} +1 -1
- package/dist/assets/{index-8RHrVCC6.js → index-B-yh2KQb.js} +1 -1
- package/dist/assets/index-B2LgdSh1.js +242 -0
- package/dist/assets/index-BJ69cdwn.js +88 -0
- package/dist/assets/index-BJCzMYyG.js +832 -0
- package/dist/assets/{index-BUhEyicQ.js → index-BZxTtTlP.js} +1 -1
- package/dist/assets/index-Bg0Lw3eZ.js +150 -0
- package/dist/assets/{index-C1fKsLzf.js → index-Bij9abGY.js} +2 -2
- package/dist/assets/index-BkgA3JrZ.js +124 -0
- package/dist/assets/{index-VKjWmvRV.js → index-BqISx1lI.js} +1 -1
- package/dist/assets/index-BsIQdVmB.js +29 -0
- package/dist/assets/{index-CfvGuvbD.js → index-BtHiIOEI.js} +1 -1
- package/dist/assets/index-BtxDkXoY.js +7 -0
- package/dist/assets/{index-DqcciDRh.js → index-CKgbiYHC.js} +2 -2
- package/dist/assets/index-CQz-yW1Q.js +120 -0
- package/dist/assets/{index-Cax1AxL9.js → index-CSdd2W7t.js} +1 -1
- package/dist/assets/{index-D3BuekEe.js → index-CYam9iu7.js} +5 -5
- package/dist/assets/index-CZc0agHR.js +1 -0
- package/dist/assets/index-Cb9H09Dz.js +1 -0
- package/dist/assets/{index-D1Fa760B.js → index-CtCzpHpi.js} +1 -1
- package/dist/assets/index-D0VFBmtN.js +280 -0
- package/dist/assets/{index-3H6a5edM.js → index-D1HHdOwz.js} +2 -2
- package/dist/assets/{index-B9FojAjj.js → index-DDpk_EEp.js} +1 -1
- package/dist/assets/{index-Di2nSesc.js → index-DPbBn0Vu.js} +1 -1
- package/dist/assets/{index-D6pCyJv8.js → index-DbbtJMIS.js} +1 -1
- package/dist/assets/index-DgwyiIiW.js +1 -0
- package/dist/assets/{index-Bo9KtpTY.js → index-Dh38UJiv.js} +1 -1
- package/dist/assets/{index-CqCXPf7W.js → index-DvtkahBB.js} +1 -1
- package/dist/assets/index-Dw9kO-TK.js +7 -0
- package/dist/assets/{index-DFUM0Pvk.js → index-E0k6Os1B.js} +1 -1
- package/dist/assets/index-L6md5GCk.js +6 -0
- package/dist/assets/index-VTJ4vv2F.js +200 -0
- package/dist/assets/{index-CEJb82tA.js → index-WY8_4PO1.js} +1 -1
- package/dist/assets/{index-ZzcJ7eKO.js → index-lGLHoHAP.js} +1 -1
- package/dist/assets/{index-Cx0E03Bs.js → index-rh1DYsh2.js} +3 -3
- package/dist/assets/{index-C_kNXHsF.js → index-u8Hqob_G.js} +1 -1
- package/dist/assets/index-vQWAt26Z.js +81 -0
- package/dist/assets/info-outline-rounded-CTki6xsp.js +1 -0
- package/dist/assets/{invitation-BP8hOEFv.js → invitation-CrLJgh5y.js} +6 -6
- package/dist/assets/{invitations-C8aZLxdl.js → invitations-Cs7LYbh9.js} +2 -2
- package/dist/assets/invite-B0wKu-K4.js +1 -0
- package/dist/assets/issue-passport-B1azomgq.js +1 -0
- package/dist/assets/item-CcfCB60B.js +1 -0
- package/dist/assets/{ja-DZPUwZ9l.js → ja-Cv-fddix.js} +1 -1
- package/dist/assets/{ko-q4i4r9g6.js → ko-Cy3G6t2o.js} +1 -1
- package/dist/assets/{landing-page-JLA-ZD1t.js → landing-page-3yvA3dHp.js} +1 -1
- package/dist/assets/{launch-result-message-DJqF-slD.js → launch-result-message-CYcW9uFA.js} +1 -1
- package/dist/assets/layout-DPEeowZp.js +29 -0
- package/dist/assets/{list-3MUy-8Ol.js → list-BtmehYr0.js} +3 -3
- package/dist/assets/{list-header-BEZSwSji.js → list-header-DqG9VFur.js} +1 -1
- package/dist/assets/list-qef9ITY3.js +2 -0
- package/dist/assets/localization-VGnaiTRr.js +1 -0
- package/dist/assets/{log-Bq445Z1e.js → log-BDLuou50.js} +1 -1
- package/dist/assets/logger-Cn2_Ur4V.js +1 -0
- package/dist/assets/login-BTzBeYdR.js +1 -0
- package/dist/assets/login-method-item-T1v3TnPG.js +1 -0
- package/dist/assets/login-oauth-callback-f1uXdv_Y.js +1 -0
- package/dist/assets/{logo-uploader-CyZuvhwV.js → logo-uploader-YNwnzUQw.js} +1 -1
- package/dist/assets/{lost-passport-BiYg3QQI.js → lost-passport-Cv4fSebj.js} +2 -2
- package/dist/assets/metadata-BeJTujvj.js +55 -0
- package/dist/assets/{nav-menu-DSdXRbfg.js → nav-menu-CefEor9d.js} +1 -1
- package/dist/assets/{omit-Dq0FLBY8.js → omit-vVhnMpHQ.js} +1 -1
- package/dist/assets/{open-window-Dyu79ome.js → open-window-Cq_Eb4d0.js} +1 -1
- package/dist/assets/over-due-invoice-payment-Cx9nVkCY.js +1 -0
- package/dist/assets/overview-UWHPi3tV.js +116 -0
- package/dist/assets/{page-header-qdK3sAJh.js → page-header-DayahqMa.js} +1 -1
- package/dist/assets/passport-D7GEY4wO.js +1 -0
- package/dist/assets/passport-item-CpICtT-w.js +1 -0
- package/dist/assets/{permission-CvrrGfG6.js → permission-ozcooui7.js} +1 -1
- package/dist/assets/preferences-RHaCYv9t.js +1 -0
- package/dist/assets/profile-embed-BLPUgZl6.js +1 -0
- package/dist/assets/provider-icon-Blmpf_9p.js +1 -0
- package/dist/assets/pt-CLIZ5rGV.js +5 -0
- package/dist/assets/publish-resource-Cn5CEQma.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-CWJ5I9Zv.js → react-beautiful-dnd.esm-L71UpeRK.js} +1 -1
- package/dist/assets/{react-stripe.esm-B-FTN8ep.js → react-stripe.esm-B1zA7yon.js} +1 -1
- package/dist/assets/{required-DnQpCGsD.js → required-jUJP5eu8.js} +1 -1
- package/dist/assets/ru-DoXNa8xl.js +5 -0
- package/dist/assets/{runtime-B_ZLP4FF.js → runtime-CGShJ0Po.js} +1 -1
- package/dist/assets/{sanitize-Bzl4lTuH.js → sanitize-BHeUjEo7.js} +1 -1
- package/dist/assets/sdk-C05lZFmW.js +1 -0
- package/dist/assets/{section-CZylgxjz.js → section-BHNJgwmP.js} +1 -1
- package/dist/assets/security-_Iru3mSY.js +22 -0
- package/dist/assets/session-DpYXqKUu.js +1 -0
- package/dist/assets/setup-DCnaHhf3.js +24 -0
- package/dist/assets/{shorten-label-CuBHsWUR.js → shorten-label-NmLkBKIj.js} +1 -1
- package/dist/assets/simple-select--uh08-vW.js +1 -0
- package/dist/assets/{spaces-ix8u0ZiI.js → spaces-gCrHfJB8.js} +1 -1
- package/dist/assets/start-S0ZFYLEE.js +187 -0
- package/dist/assets/{starting-progress-CWp5fTY0.js → starting-progress-BSgBADJS.js} +1 -1
- package/dist/assets/{status-Dn_LKaNp.js → status-DqZ0B8Xa.js} +1 -1
- package/dist/assets/{step-actions-DIZRcnXf.js → step-actions-DxJMBPwi.js} +1 -1
- package/dist/assets/{studio-CVIa8-XY.js → studio-B2SgpXxn.js} +1 -1
- package/dist/assets/{switch-BbyTGEOo.js → switch-D9wb-oPu.js} +1 -1
- package/dist/assets/{switch-control-BRjXGc1d.js → switch-control-Dl1BCyFd.js} +1 -1
- package/dist/assets/{table-tips-Dvmdodc5.js → table-tips-C5NrUDu8.js} +1 -1
- package/dist/assets/team-DXPe7dCA.js +146 -0
- package/dist/assets/th-DmzEcJam.js +5 -0
- package/dist/assets/{theme-mode-toggle-D3bcd10D.js → theme-mode-toggle-BYQvzsDR.js} +1 -1
- package/dist/assets/traffic-BandB_6R.js +1 -0
- package/dist/assets/transfer-Dky9H1bl.js +16 -0
- package/dist/assets/unsubscribe-D0la_6Ib.js +1 -0
- package/dist/assets/{use-app-logo-IRizt64R.js → use-app-logo-0G6x82Xn.js} +1 -1
- package/dist/assets/{use-blocklet-logo-Cf1j7pQz.js → use-blocklet-logo-IV_8xnB2.js} +1 -1
- package/dist/assets/{use-mobile-DFkQ5N0b.js → use-mobile-CEr7zhO3.js} +1 -1
- package/dist/assets/{use-mobile-DwGMuJlg.js → use-mobile-DAngW3li.js} +1 -1
- package/dist/assets/{use-mobile-CyUZDIaX.js → use-mobile-kXWiSSQD.js} +1 -1
- package/dist/assets/{use-server-logo-KZn9RrZd.js → use-server-logo-BVKQ1t0s.js} +1 -1
- package/dist/assets/{use-window-close-Dpj5UcYT.js → use-window-close-C-WcChaL.js} +1 -1
- package/dist/assets/{useAsync-DfiOQMQ_.js → useAsync-DRrTtbU_.js} +1 -1
- package/dist/assets/{useAsync-CkKfnulP.js → useAsync-D_y3bEgl.js} +1 -1
- package/dist/assets/{useAsyncRetry-C4R9ufi-.js → useAsyncRetry-BZ4R17gr.js} +2 -2
- package/dist/assets/{useLocalStorage-BQfIniHX.js → useLocalStorage-C5E7FrUa.js} +1 -1
- package/dist/assets/{user-center-6K47tx8j.js → user-center-D-UOqGpV.js} +5 -5
- package/dist/assets/{user-follower-BwzTutxU.js → user-follower-_9B1O2CU.js} +1 -1
- package/dist/assets/util-Bf1lWzn8.js +1 -0
- package/dist/assets/util-Dn9RqFJI.js +1 -0
- package/dist/assets/utils-eOkzHJzR.js +1 -0
- package/dist/assets/{vendor-arcblock-Dll6qxMT.js → vendor-arcblock-B6JCofz3.js} +1 -1
- package/dist/assets/vendor-hooks-Bt9Vv36g.js +1 -0
- package/dist/assets/{vendor-mui-core-CV-FnYH_.js → vendor-mui-core-D6nniiQs.js} +2 -2
- package/dist/assets/{vendor-mui-x-DwN6dcQH.js → vendor-mui-x-Ds-5Y7YM.js} +1 -1
- package/dist/assets/vendor-utils-BbcnEeJI.js +23 -0
- package/dist/assets/{vendor-ux-CLT2i3Pv.js → vendor-ux-hzekFYg2.js} +123 -123
- package/dist/assets/vi-6MG7Pp6O.js +5 -0
- package/dist/assets/wait-connect-DmtX5SsS.js +1 -0
- package/dist/assets/wallet-hidden-topbar-OBN14KiV.js +68 -0
- package/dist/assets/wizard-Q2Vm8Y9G.js +8 -0
- package/dist/assets/wizard-components-CON7Dump.js +52 -0
- package/dist/assets/wrap-locale-BGMozDAq.js +1 -0
- package/dist/assets/{zh-G2I44gfs.js → zh-B9y8LJ3-.js} +1 -1
- package/dist/assets/{zh-CJ9vCpmv.js → zh-Dfkd9CXx.js} +1 -1
- package/dist/assets/{zh-tw-C4Juvs-i.js → zh-tw-CbtwifV_.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +44 -44
- package/dist/assets/access-control-RI6LQbSm.js +0 -14
- package/dist/assets/actions-BlWED76c.js +0 -64
- package/dist/assets/add-resource-BVOdOQSW.js +0 -1
- package/dist/assets/advanced-CuKHqbLO.js +0 -14
- package/dist/assets/api-B8JXuhVp.js +0 -1
- package/dist/assets/appearance-C9TkbSjV.js +0 -1
- package/dist/assets/audit-logs-DKGke9hI.js +0 -35
- package/dist/assets/authorize-DkSqywe8.js +0 -1
- package/dist/assets/bind-account-DOwM9Nhe.js +0 -1
- package/dist/assets/branding-Cak2s8bn.js +0 -1
- package/dist/assets/branding-lcfxmmPp.js +0 -40
- package/dist/assets/bundle-avatar-DwiOyeMO.js +0 -1
- package/dist/assets/button-uUU4Wycr.js +0 -1
- package/dist/assets/complete-Udiv_yFp.js +0 -39
- package/dist/assets/config-6IwEgT3b.js +0 -32
- package/dist/assets/config-CJwxv2uK.js +0 -1
- package/dist/assets/config-D1OcHGlN.js +0 -53
- package/dist/assets/config-space-DfstlHnF.js +0 -1
- package/dist/assets/connect-CT2vMz6l.js +0 -5
- package/dist/assets/connect-DA7RO2yv.js +0 -1
- package/dist/assets/connect-to-CQMUbQkH.js +0 -1
- package/dist/assets/dashboard-BvI3ii8Z.js +0 -93
- package/dist/assets/domain-action-card-kMPYS2Nj.js +0 -28
- package/dist/assets/domains-TI6o1CvX.js +0 -1
- package/dist/assets/email-DHRHueET.js +0 -17
- package/dist/assets/engine-D_fEFx9_.js +0 -1
- package/dist/assets/exchange-passport-Cc872mjQ.js +0 -1
- package/dist/assets/gen-access-key-DrgLVRbm.js +0 -1
- package/dist/assets/gen-simple-access-key-B24d6k7g.js +0 -1
- package/dist/assets/get-safe-url-beob4f2C.js +0 -1
- package/dist/assets/hi-5fpYJkiW.js +0 -5
- package/dist/assets/home-Dw18IODa.js +0 -1
- package/dist/assets/index--WQuhwJL.js +0 -6
- package/dist/assets/index-2M4w6J9r.js +0 -29
- package/dist/assets/index-B-8044Gs.js +0 -280
- package/dist/assets/index-B6l4xGy5.js +0 -7
- package/dist/assets/index-BOPR4Iyc.js +0 -88
- package/dist/assets/index-BeunkI-Z.js +0 -242
- package/dist/assets/index-Bpic07NM.js +0 -200
- package/dist/assets/index-C4ZzROeE.js +0 -120
- package/dist/assets/index-CXp5SI_f.js +0 -832
- package/dist/assets/index-DH4rC-7M.js +0 -1
- package/dist/assets/index-DKzBOJCu.js +0 -81
- package/dist/assets/index-DL0wTcgx.js +0 -1
- package/dist/assets/index-DWHFecw2.js +0 -150
- package/dist/assets/index-DcW3jqfL.js +0 -6
- package/dist/assets/index-Vf51dp11.js +0 -124
- package/dist/assets/index-bEFOmVth.js +0 -1
- package/dist/assets/info-outline-rounded-DlgANjBB.js +0 -1
- package/dist/assets/invite-Cd5zEHFb.js +0 -1
- package/dist/assets/issue-passport-D7zqv3Al.js +0 -1
- package/dist/assets/item-DNj7ORqk.js +0 -1
- package/dist/assets/joi-browser.min-CUdv8seQ.js +0 -1
- package/dist/assets/joi-browser.min-eEVeW7LC.js +0 -1
- package/dist/assets/layout-Cwvm7lmD.js +0 -29
- package/dist/assets/list-BSXHuqLM.js +0 -2
- package/dist/assets/localization-Dond4H78.js +0 -1
- package/dist/assets/logger-CCAAJ2Xo.js +0 -1
- package/dist/assets/login-dc2t9Qyo.js +0 -1
- package/dist/assets/login-method-item-CyTsqz88.js +0 -1
- package/dist/assets/login-oauth-callback-Bext19kc.js +0 -1
- package/dist/assets/metadata-B2-Ltdko.js +0 -55
- package/dist/assets/over-due-invoice-payment-DzUsy6q0.js +0 -1
- package/dist/assets/overview-0TBmi-_i.js +0 -116
- package/dist/assets/passport-BhEaZ-sr.js +0 -1
- package/dist/assets/passport-item-DHwif94N.js +0 -1
- package/dist/assets/preferences-BBSWzZiT.js +0 -1
- package/dist/assets/profile-embed-shcOdRUI.js +0 -1
- package/dist/assets/provider-icon-DO2PqSth.js +0 -1
- package/dist/assets/pt-BFCHl6F1.js +0 -5
- package/dist/assets/publish-resource-CMuHIOUf.js +0 -1
- package/dist/assets/ru-CSTl62kK.js +0 -5
- package/dist/assets/sdk-CktKu_IW.js +0 -1
- package/dist/assets/security-DHRU8k0u.js +0 -22
- package/dist/assets/session-Bp3LV7zJ.js +0 -1
- package/dist/assets/setup-B6-Ei_3X.js +0 -24
- package/dist/assets/simple-select-nI-W90c_.js +0 -1
- package/dist/assets/start-oRp78RMQ.js +0 -187
- package/dist/assets/team-BTz28XqK.js +0 -146
- package/dist/assets/th-D75Dlluo.js +0 -5
- package/dist/assets/traffic-Cea69sMW.js +0 -1
- package/dist/assets/transfer-BydXCVCg.js +0 -16
- package/dist/assets/unsubscribe-BjAjx-Fl.js +0 -1
- package/dist/assets/util-DkTwHdRu.js +0 -1
- package/dist/assets/util-DySzCymV.js +0 -1
- package/dist/assets/vendor-hooks-DAZ1H6Va.js +0 -1
- package/dist/assets/vendor-utils-BzQg432x.js +0 -23
- package/dist/assets/vi-D1mKYrmb.js +0 -5
- package/dist/assets/wait-connect-q0_7mz_u.js +0 -1
- package/dist/assets/wallet-hidden-topbar-joIVZ1nl.js +0 -68
- package/dist/assets/wizard-C5Kl-g70.js +0 -8
- package/dist/assets/wizard-components-DQrlaeeW.js +0 -52
- package/dist/assets/wrap-locale-5DJTJTXP.js +0 -1
package/api/index.js
CHANGED
|
@@ -757,6 +757,11 @@ self.blocklet = {
|
|
|
757
757
|
server.use(`${WELLKNOWN_SERVICE_PATH_PREFIX}${pathname}`, checkMemberPermission, proxyToDaemon({ proxy, node }));
|
|
758
758
|
});
|
|
759
759
|
|
|
760
|
+
// org avatar 上传org avatar 读取(只需要校验登录即可)
|
|
761
|
+
['/blocklet/:did/orgs/avatar/upload', '/blocklet/:did/orgs/avatar/:filename'].forEach((pathname) => {
|
|
762
|
+
server.use(`${WELLKNOWN_SERVICE_PATH_PREFIX}${pathname}`, checkGuestPermission, proxyToDaemon({ proxy, node }));
|
|
763
|
+
});
|
|
764
|
+
|
|
760
765
|
// Static assets
|
|
761
766
|
StaticService.attachStaticResources({
|
|
762
767
|
app: server,
|
|
@@ -274,16 +274,28 @@ module.exports = {
|
|
|
274
274
|
|
|
275
275
|
if (action === 'login') {
|
|
276
276
|
// passport claim
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
277
|
+
// 只显示非 Org 下的通行证
|
|
278
|
+
const roles = await node.getRoles({ teamDid });
|
|
279
|
+
const passportClaim = !user
|
|
280
|
+
? {
|
|
281
|
+
type: 'verifiableCredential',
|
|
282
|
+
description: messages.requestPassport[locale],
|
|
283
|
+
item: PASSPORT_VC_TYPES,
|
|
284
|
+
trustedIssuers: await getTrustedIssuers(blocklet, { sourceAppPid }),
|
|
285
|
+
optional: !isInvitedUserOnly,
|
|
286
|
+
claimUrl: getPassportClaimUrl(baseUrl),
|
|
287
|
+
// 此限制会导致无法正常配置的信任通行证,暂时去掉此条件
|
|
288
|
+
// ownerDid: [userDid],
|
|
289
|
+
}
|
|
290
|
+
: getVerifyAccessClaims({
|
|
291
|
+
node,
|
|
292
|
+
passports: user.passports || [],
|
|
293
|
+
roles: roles.filter((x) => !x.orgId).map((x) => x.name),
|
|
294
|
+
types: PASSPORT_VC_TYPES,
|
|
295
|
+
optional: !isInvitedUserOnly,
|
|
296
|
+
source: 'blocklet',
|
|
297
|
+
trustedIssuers: await getTrustedIssuers(blocklet, { sourceAppPid }),
|
|
298
|
+
});
|
|
287
299
|
if (passportId) {
|
|
288
300
|
passportClaim.target = passportId;
|
|
289
301
|
}
|
|
@@ -691,7 +703,6 @@ module.exports = {
|
|
|
691
703
|
// Generate new session token that client can save to localStorage
|
|
692
704
|
const createToken = createTokenFn(createSessionToken);
|
|
693
705
|
const sessionConfig = blocklet.settings?.session || {};
|
|
694
|
-
const org = await request.getUserOrg(role);
|
|
695
706
|
|
|
696
707
|
const { sessionToken, refreshToken } = createToken(
|
|
697
708
|
realDid,
|
|
@@ -706,7 +717,6 @@ module.exports = {
|
|
|
706
717
|
emailVerified: updatedUser.emailVerified,
|
|
707
718
|
phoneVerified: updatedUser.phoneVerified,
|
|
708
719
|
elevated: canSessionBeElevated(role, blocklet?.settings),
|
|
709
|
-
org,
|
|
710
720
|
},
|
|
711
721
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(request) }
|
|
712
722
|
);
|
|
@@ -943,7 +953,7 @@ module.exports = {
|
|
|
943
953
|
},
|
|
944
954
|
|
|
945
955
|
switchPassport: {
|
|
946
|
-
onConnect: async ({ node, request, locale, userDid, previousUserDid
|
|
956
|
+
onConnect: async ({ node, request, locale, userDid, previousUserDid }) => {
|
|
947
957
|
if (userDid && previousUserDid && userDid !== previousUserDid) {
|
|
948
958
|
throw new Error(messages.userMismatch[locale]);
|
|
949
959
|
}
|
|
@@ -976,32 +986,18 @@ module.exports = {
|
|
|
976
986
|
const blocklet = await request.getBlocklet();
|
|
977
987
|
const sourceAppPid = getSourceAppPid(request);
|
|
978
988
|
|
|
979
|
-
//
|
|
980
|
-
|
|
981
|
-
const roles = await node.getRoles({ teamDid, orgId });
|
|
982
|
-
return {
|
|
983
|
-
verifiableCredential: getVerifyAccessClaims({
|
|
984
|
-
node,
|
|
985
|
-
passports: user.passports,
|
|
986
|
-
roles: roles.map((x) => x.name),
|
|
987
|
-
types: PASSPORT_VC_TYPES,
|
|
988
|
-
source: 'blocklet',
|
|
989
|
-
trustedIssuers: await getTrustedIssuers(blocklet, { sourceAppPid }),
|
|
990
|
-
}),
|
|
991
|
-
};
|
|
992
|
-
}
|
|
993
|
-
|
|
989
|
+
// 只显示非 Org 下的通行证
|
|
990
|
+
const roles = await node.getRoles({ teamDid });
|
|
994
991
|
return {
|
|
995
|
-
verifiableCredential: {
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
992
|
+
verifiableCredential: getVerifyAccessClaims({
|
|
993
|
+
node,
|
|
994
|
+
passports: user.passports || [],
|
|
995
|
+
roles: roles.filter((x) => !x.orgId).map((x) => x.name),
|
|
996
|
+
types: PASSPORT_VC_TYPES,
|
|
1000
997
|
optional: !isInvitedUserOnly,
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
},
|
|
998
|
+
source: 'blocklet',
|
|
999
|
+
trustedIssuers: await getTrustedIssuers(blocklet, { sourceAppPid }),
|
|
1000
|
+
}),
|
|
1005
1001
|
};
|
|
1006
1002
|
},
|
|
1007
1003
|
onApprove: async ({
|
|
@@ -1121,7 +1117,6 @@ module.exports = {
|
|
|
1121
1117
|
// Generate new session token that client can save to localStorage
|
|
1122
1118
|
const createToken = createTokenFn(createSessionToken);
|
|
1123
1119
|
const sessionConfig = blocklet.settings?.session || {};
|
|
1124
|
-
const org = await request.getUserOrg(role);
|
|
1125
1120
|
const { sessionToken, refreshToken } = createToken(
|
|
1126
1121
|
userDid,
|
|
1127
1122
|
{
|
|
@@ -1135,7 +1130,6 @@ module.exports = {
|
|
|
1135
1130
|
emailVerified: user.emailVerified,
|
|
1136
1131
|
phoneVerified: user.phoneVerified,
|
|
1137
1132
|
elevated: canSessionBeElevated(role, blocklet?.settings),
|
|
1138
|
-
org,
|
|
1139
1133
|
},
|
|
1140
1134
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(request) }
|
|
1141
1135
|
);
|
|
@@ -42,9 +42,8 @@ const doLauncherLogin = async (req, token, blocklet, node, options) => {
|
|
|
42
42
|
});
|
|
43
43
|
if (user?.approved) {
|
|
44
44
|
const { secret } = await req.getBlockletInfo();
|
|
45
|
-
const org = await req.getUserOrg();
|
|
46
45
|
|
|
47
|
-
const { createSessionToken } = initJwt(node, Object.assign({}, options
|
|
46
|
+
const { createSessionToken } = initJwt(node, Object.assign({}, options));
|
|
48
47
|
const createToken = createTokenFn(createSessionToken);
|
|
49
48
|
const { sessionToken, refreshToken } = createToken(
|
|
50
49
|
user.did,
|
package/api/routes/federated.js
CHANGED
|
@@ -582,8 +582,7 @@ module.exports = {
|
|
|
582
582
|
async (req, res) => {
|
|
583
583
|
const { blocklet, verifySite, verifyData } = req;
|
|
584
584
|
const { passport, user, walletOS, provider } = verifyData;
|
|
585
|
-
const
|
|
586
|
-
const { createSessionToken } = initJwt(node, Object.assign({}, options, { org }));
|
|
585
|
+
const { createSessionToken } = initJwt(node, Object.assign({}, options));
|
|
587
586
|
const createToken = createTokenFn(createSessionToken);
|
|
588
587
|
const { secret } = await req.getBlockletInfo();
|
|
589
588
|
const teamDid = blocklet.appPid;
|
|
@@ -28,8 +28,7 @@ module.exports = {
|
|
|
28
28
|
return res.status(404).json({ error: 'Blocklet not found' });
|
|
29
29
|
}
|
|
30
30
|
// TODO: @wangshijun check if oauth server service is enabled, make it configurable
|
|
31
|
-
|
|
32
|
-
req.provider = createBlockletOAuthServerProvider(node, Object.assign({}, options, { org }), blocklet, info);
|
|
31
|
+
req.provider = createBlockletOAuthServerProvider(node, Object.assign({}, options), blocklet, info);
|
|
33
32
|
|
|
34
33
|
// save blocklet and info to res.locals for later use
|
|
35
34
|
res.locals.info = info;
|
|
@@ -263,7 +263,6 @@ module.exports = {
|
|
|
263
263
|
);
|
|
264
264
|
}
|
|
265
265
|
const role = targetPassport?.role || 'guest';
|
|
266
|
-
const org = await req.getUserOrg(role);
|
|
267
266
|
result = createToken(
|
|
268
267
|
user.did,
|
|
269
268
|
{
|
|
@@ -275,7 +274,6 @@ module.exports = {
|
|
|
275
274
|
walletOS,
|
|
276
275
|
emailVerified: !!user?.emailVerified,
|
|
277
276
|
phoneVerified: !!user?.phoneVerified,
|
|
278
|
-
org,
|
|
279
277
|
},
|
|
280
278
|
{
|
|
281
279
|
...sessionConfig,
|
package/api/routes/user.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable require-await */
|
|
2
|
-
const { WELLKNOWN_SERVICE_PATH_PREFIX, VERIFY_CODE_TTL } = require('@abtnode/constant');
|
|
2
|
+
const { WELLKNOWN_SERVICE_PATH_PREFIX, VERIFY_CODE_TTL, USER_AVATAR_URL_PREFIX } = require('@abtnode/constant');
|
|
3
3
|
const JWT = require('@arcblock/jwt');
|
|
4
4
|
const { render } = require('@react-email/components');
|
|
5
5
|
const { getApplicationInfo, handleInvitationReceive } = require('@abtnode/auth/lib/auth');
|
|
6
6
|
const { fromAppDid } = require('@arcblock/did-ext');
|
|
7
|
-
const { extractUserAvatar, getUserAvatarUrl } = require('@abtnode/util/lib/user');
|
|
7
|
+
const { extractUserAvatar, getUserAvatarUrl, convertImageToBase64 } = require('@abtnode/util/lib/user');
|
|
8
8
|
const formatContext = require('@abtnode/util/lib/format-context');
|
|
9
9
|
const md5 = require('@abtnode/util/lib/md5');
|
|
10
10
|
const { fromBase64 } = require('@ocap/util');
|
|
@@ -15,6 +15,7 @@ const merge = require('lodash/merge');
|
|
|
15
15
|
const omitBy = require('lodash/omitBy');
|
|
16
16
|
const omit = require('lodash/omit');
|
|
17
17
|
const uniq = require('lodash/uniq');
|
|
18
|
+
const isUrl = require('is-url');
|
|
18
19
|
const { getLastUsedPassport } = require('@abtnode/auth/lib/passport');
|
|
19
20
|
const { getWallet, getWalletDid } = require('@blocklet/meta/lib/did-utils');
|
|
20
21
|
const { Joi } = require('@arcblock/validator');
|
|
@@ -287,8 +288,7 @@ async function loginSDK(req, node, options) {
|
|
|
287
288
|
},
|
|
288
289
|
node
|
|
289
290
|
);
|
|
290
|
-
const
|
|
291
|
-
const { createSessionToken } = initJwt(node, Object.assign({}, options, { org }));
|
|
291
|
+
const { createSessionToken } = initJwt(node, Object.assign({}, options));
|
|
292
292
|
const createToken = createTokenFn(createSessionToken);
|
|
293
293
|
const sessionConfig = blocklet.settings?.session || {};
|
|
294
294
|
const { sessionToken, refreshToken } = createToken(
|
|
@@ -722,6 +722,8 @@ const profileSetSchema = Joi.object({
|
|
|
722
722
|
.label('link'),
|
|
723
723
|
}).optional(),
|
|
724
724
|
address: addressSchema.optional(),
|
|
725
|
+
avatar: Joi.string().optional(),
|
|
726
|
+
name: Joi.string().optional(),
|
|
725
727
|
});
|
|
726
728
|
|
|
727
729
|
const spaceGatewaySchema = Joi.object({
|
|
@@ -842,7 +844,6 @@ module.exports = {
|
|
|
842
844
|
},
|
|
843
845
|
});
|
|
844
846
|
const role = passport?.role || 'guest';
|
|
845
|
-
const org = await req.getUserOrg(role);
|
|
846
847
|
const { sessionToken, refreshToken } = createToken(
|
|
847
848
|
loggedInUser.did,
|
|
848
849
|
{
|
|
@@ -854,7 +855,6 @@ module.exports = {
|
|
|
854
855
|
walletOS,
|
|
855
856
|
emailVerified: !!loggedInUser.emailVerified,
|
|
856
857
|
phoneVerified: !!loggedInUser.phoneVerified,
|
|
857
|
-
org,
|
|
858
858
|
},
|
|
859
859
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(req) }
|
|
860
860
|
);
|
|
@@ -1407,7 +1407,7 @@ module.exports = {
|
|
|
1407
1407
|
}
|
|
1408
1408
|
|
|
1409
1409
|
const { blocklet } = req;
|
|
1410
|
-
const { metadata, address } = value;
|
|
1410
|
+
const { metadata, address, avatar } = value;
|
|
1411
1411
|
const teamDid = blocklet.appPid;
|
|
1412
1412
|
|
|
1413
1413
|
// 构建更新对象,只包含有值的字段
|
|
@@ -1439,42 +1439,62 @@ module.exports = {
|
|
|
1439
1439
|
}
|
|
1440
1440
|
}
|
|
1441
1441
|
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1442
|
+
if (avatar) {
|
|
1443
|
+
if (!avatar.startsWith(USER_AVATAR_URL_PREFIX)) {
|
|
1444
|
+
let imageData = avatar;
|
|
1445
|
+
if (isUrl(avatar)) {
|
|
1446
|
+
imageData = await convertImageToBase64(avatar);
|
|
1447
|
+
}
|
|
1448
|
+
if (imageData) {
|
|
1449
|
+
const regex = /^data:image\/(\w+);base64,/;
|
|
1450
|
+
const match = regex.exec(imageData);
|
|
1451
|
+
if (match) {
|
|
1452
|
+
updateData.avatar = await extractUserAvatar(imageData, { dataDir: blocklet.env.dataDir });
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1449
1456
|
}
|
|
1457
|
+
try {
|
|
1458
|
+
const user = await node.updateUserInfoAndSync({
|
|
1459
|
+
teamDid,
|
|
1460
|
+
user: updateData,
|
|
1461
|
+
});
|
|
1462
|
+
if (!user || !user?.approved) {
|
|
1463
|
+
res.status(404).send({ error: 'User not found' });
|
|
1464
|
+
return;
|
|
1465
|
+
}
|
|
1450
1466
|
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1467
|
+
await node.createAuditLog(
|
|
1468
|
+
{
|
|
1469
|
+
action: 'updateUserInfo',
|
|
1470
|
+
args: { teamDid, userDid: req.user.did },
|
|
1471
|
+
context: formatContext(req),
|
|
1472
|
+
result: updateData,
|
|
1473
|
+
},
|
|
1474
|
+
node
|
|
1475
|
+
);
|
|
1460
1476
|
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1477
|
+
res.json(
|
|
1478
|
+
pick(user || {}, [
|
|
1479
|
+
'did',
|
|
1480
|
+
'locale',
|
|
1481
|
+
'avatar',
|
|
1482
|
+
'name',
|
|
1483
|
+
'fullName',
|
|
1484
|
+
'email',
|
|
1485
|
+
'phone',
|
|
1486
|
+
'url',
|
|
1487
|
+
'inviter',
|
|
1488
|
+
'generation',
|
|
1489
|
+
'emailVerified',
|
|
1490
|
+
'phoneVerified',
|
|
1491
|
+
'metadata',
|
|
1492
|
+
'address',
|
|
1493
|
+
])
|
|
1494
|
+
);
|
|
1495
|
+
} catch (err) {
|
|
1496
|
+
res.status(getStatusFromError(err)).send(formatError(err));
|
|
1497
|
+
}
|
|
1478
1498
|
}
|
|
1479
1499
|
);
|
|
1480
1500
|
|
|
@@ -1598,7 +1618,7 @@ module.exports = {
|
|
|
1598
1618
|
const userInfo = await getUserPublicInfo({ req, teamDid, node });
|
|
1599
1619
|
res.json(userInfo);
|
|
1600
1620
|
} catch (err) {
|
|
1601
|
-
logger.error('Failed to get user public info', { error: err, userDid: req.user
|
|
1621
|
+
logger.error('Failed to get user public info', { error: err, userDid: req.user?.did });
|
|
1602
1622
|
res.status(400).send(formatError(err));
|
|
1603
1623
|
}
|
|
1604
1624
|
});
|
|
@@ -71,7 +71,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
71
71
|
if (isSessionHardeningEnabled) {
|
|
72
72
|
const createToken = createTokenFn(createSessionToken);
|
|
73
73
|
const sessionConfig = blocklet.settings?.session || {};
|
|
74
|
-
const org = await request.getUserOrg();
|
|
75
74
|
const { sessionToken, refreshToken } = createToken(
|
|
76
75
|
userDid,
|
|
77
76
|
{
|
|
@@ -82,7 +81,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
82
81
|
emailVerified: user.emailVerified,
|
|
83
82
|
phoneVerified: user.phoneVerified,
|
|
84
83
|
elevated: true,
|
|
85
|
-
org,
|
|
86
84
|
},
|
|
87
85
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(request) }
|
|
88
86
|
);
|
|
@@ -106,7 +106,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
106
106
|
// Generate new session token that client can save to localStorage
|
|
107
107
|
const createToken = createTokenFn(createSessionToken);
|
|
108
108
|
const sessionConfig = blocklet.settings?.session || {};
|
|
109
|
-
const org = await req.getUserOrg(role);
|
|
110
109
|
const { sessionToken, refreshToken } = createToken(
|
|
111
110
|
user.did,
|
|
112
111
|
{
|
|
@@ -119,7 +118,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
119
118
|
emailVerified: !!user?.emailVerified,
|
|
120
119
|
phoneVerified: !!user?.phoneVerified,
|
|
121
120
|
elevated: canSessionBeElevated(role, blocklet?.settings),
|
|
122
|
-
org,
|
|
123
121
|
},
|
|
124
122
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(req) }
|
|
125
123
|
);
|
|
@@ -117,7 +117,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
117
117
|
});
|
|
118
118
|
|
|
119
119
|
const createToken = createTokenFn(createSessionToken);
|
|
120
|
-
const org = await req.getUserOrg(role);
|
|
121
120
|
const sessionConfig = blocklet.settings?.session || {};
|
|
122
121
|
const { sessionToken, refreshToken } = createToken(
|
|
123
122
|
userDid,
|
|
@@ -131,7 +130,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
131
130
|
emailVerified: !!user?.emailVerified,
|
|
132
131
|
phoneVerified: !!user?.phoneVerified,
|
|
133
132
|
elevated: canSessionBeElevated(role, blocklet?.settings),
|
|
134
|
-
org,
|
|
135
133
|
},
|
|
136
134
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(req) }
|
|
137
135
|
);
|
|
@@ -404,7 +404,6 @@ module.exports = function createRoutes(node, _, createSessionToken) {
|
|
|
404
404
|
// Generate new session token that client can save to localStorage
|
|
405
405
|
const createToken = createTokenFn(createSessionToken);
|
|
406
406
|
const sessionConfig = blocklet.settings?.session || {};
|
|
407
|
-
const org = await req.getUserOrg(role);
|
|
408
407
|
const walletOS = req.context?.didwallet?.os;
|
|
409
408
|
const { sessionToken, refreshToken } = createToken(
|
|
410
409
|
userDid,
|
|
@@ -418,7 +417,6 @@ module.exports = function createRoutes(node, _, createSessionToken) {
|
|
|
418
417
|
emailVerified: !!user?.emailVerified,
|
|
419
418
|
phoneVerified: !!user?.phoneVerified,
|
|
420
419
|
elevated: true,
|
|
421
|
-
org,
|
|
422
420
|
},
|
|
423
421
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(req) }
|
|
424
422
|
);
|
|
@@ -151,7 +151,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
151
151
|
if (isSessionHardeningEnabled) {
|
|
152
152
|
const createToken = createTokenFn(createSessionToken);
|
|
153
153
|
const sessionConfig = blocklet.settings?.session || {};
|
|
154
|
-
const org = await request.getUserOrg(role);
|
|
155
154
|
const { sessionToken, refreshToken } = createToken(
|
|
156
155
|
userDid,
|
|
157
156
|
{
|
|
@@ -164,7 +163,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
164
163
|
emailVerified: user.emailVerified,
|
|
165
164
|
phoneVerified: user.phoneVerified,
|
|
166
165
|
elevated: true,
|
|
167
|
-
org,
|
|
168
166
|
},
|
|
169
167
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(request) }
|
|
170
168
|
);
|
|
@@ -98,7 +98,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
98
98
|
|
|
99
99
|
const createToken = createTokenFn(createSessionToken);
|
|
100
100
|
const sessionConfig = blocklet.settings?.session || {};
|
|
101
|
-
const org = await request.getUserOrg(role);
|
|
102
101
|
const { sessionToken, refreshToken } = createToken(
|
|
103
102
|
userDid,
|
|
104
103
|
{
|
|
@@ -111,7 +110,6 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
|
|
|
111
110
|
emailVerified: user.emailVerified,
|
|
112
111
|
phoneVerified: user.phoneVerified,
|
|
113
112
|
elevated: canSessionBeElevated(role, blocklet?.settings), // blocklet level session hardening
|
|
114
|
-
org,
|
|
115
113
|
},
|
|
116
114
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(request) }
|
|
117
115
|
);
|
|
@@ -26,7 +26,6 @@ const createTranslator = require('@abtnode/util/lib/translate');
|
|
|
26
26
|
const getOrigin = require('@abtnode/util/lib/get-origin');
|
|
27
27
|
const md5 = require('@abtnode/util/lib/md5');
|
|
28
28
|
const { sign } = require('@blocklet/sdk/lib/util/csrf');
|
|
29
|
-
const { createOrgValidators } = require('@abtnode/core/lib/util/org');
|
|
30
29
|
const { isAllowedURL } = require('@abtnode/util/lib/ssrf-protector');
|
|
31
30
|
|
|
32
31
|
const { getAccessWallet } = require('@abtnode/util/lib/blocklet');
|
|
@@ -34,7 +33,6 @@ const dayjs = require('@abtnode/util/lib/dayjs');
|
|
|
34
33
|
const { createTokenFn, getDidConnectVersion } = require('../../util');
|
|
35
34
|
const checkUser = require('../../middlewares/check-user');
|
|
36
35
|
const cache = require('../../cache');
|
|
37
|
-
const logger = require('../../libs/logger')('auth');
|
|
38
36
|
|
|
39
37
|
const translations = {
|
|
40
38
|
zh: {
|
|
@@ -144,20 +142,6 @@ module.exports = {
|
|
|
144
142
|
const permissions = await rbac.getScope(req.user.role);
|
|
145
143
|
user.role = req.user.role;
|
|
146
144
|
user.permissions = permissions;
|
|
147
|
-
// 根据 role 获取所在的 org 信息
|
|
148
|
-
const { getOrgSettings } = createOrgValidators(blocklet);
|
|
149
|
-
const orgSettings = getOrgSettings();
|
|
150
|
-
if (orgSettings?.enabled) {
|
|
151
|
-
try {
|
|
152
|
-
const role = await node.getRole({ teamDid, role: { name: user.role } });
|
|
153
|
-
if (role?.orgId) {
|
|
154
|
-
const org = await node.getOrg({ teamDid, id: role?.orgId }, { user: req.user });
|
|
155
|
-
user.org = org || null;
|
|
156
|
-
}
|
|
157
|
-
} catch (err) {
|
|
158
|
-
logger.error('get role error', err);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
145
|
}
|
|
162
146
|
|
|
163
147
|
if (user.avatar && user.avatar.startsWith(USER_AVATAR_URL_PREFIX)) {
|
|
@@ -394,7 +378,6 @@ module.exports = {
|
|
|
394
378
|
passport,
|
|
395
379
|
provider = LOGIN_PROVIDER.WALLET,
|
|
396
380
|
walletOS,
|
|
397
|
-
org, // 从 token 拿到的 orgId
|
|
398
381
|
} = await verifySessionToken(token, blockletInfo.secret, {
|
|
399
382
|
checkFromDb: true,
|
|
400
383
|
teamDid,
|
|
@@ -412,20 +395,6 @@ module.exports = {
|
|
|
412
395
|
const rbac = await node.getRBAC(teamDid);
|
|
413
396
|
user.permissions = await rbac.getScope(role);
|
|
414
397
|
user.role = role;
|
|
415
|
-
// 根据 role 获取所在的 org 信息
|
|
416
|
-
const { getOrgSettings } = createOrgValidators(blocklet);
|
|
417
|
-
const orgSettings = getOrgSettings();
|
|
418
|
-
if (orgSettings?.enabled) {
|
|
419
|
-
try {
|
|
420
|
-
const roleInfo = await node.getRole({ teamDid, role: { name: user.role } });
|
|
421
|
-
if (roleInfo?.orgId) {
|
|
422
|
-
const orgInfo = await node.getOrg({ teamDid, id: roleInfo?.orgId }, { user: req.user });
|
|
423
|
-
user.org = orgInfo || null;
|
|
424
|
-
}
|
|
425
|
-
} catch (err) {
|
|
426
|
-
logger.error('get role error', err);
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
398
|
}
|
|
430
399
|
|
|
431
400
|
if (user.avatar && user.avatar.startsWith(USER_AVATAR_URL_PREFIX)) {
|
|
@@ -440,10 +409,7 @@ module.exports = {
|
|
|
440
409
|
}
|
|
441
410
|
|
|
442
411
|
const sessionConfig = blocklet.settings?.session || {};
|
|
443
|
-
|
|
444
|
-
if (!userOrg) {
|
|
445
|
-
userOrg = await req.getUserOrg(role);
|
|
446
|
-
}
|
|
412
|
+
|
|
447
413
|
const { sessionToken, refreshToken } = createToken(
|
|
448
414
|
userPid,
|
|
449
415
|
{
|
|
@@ -455,7 +421,6 @@ module.exports = {
|
|
|
455
421
|
walletOS,
|
|
456
422
|
emailVerified: !!user?.emailVerified,
|
|
457
423
|
phoneVerified: !!user?.phoneVerified,
|
|
458
|
-
org: userOrg,
|
|
459
424
|
},
|
|
460
425
|
{ ...sessionConfig, didConnectVersion: getDidConnectVersion(req) }
|
|
461
426
|
);
|
package/api/util/user-util.js
CHANGED
|
@@ -243,8 +243,7 @@ const loginUserSession = async (
|
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
245
|
const role = passport?.scope === 'passport' ? passport.role : ROLES.GUEST;
|
|
246
|
-
const
|
|
247
|
-
const { createSessionToken } = initJwt(node, Object.assign({}, options, { org }));
|
|
246
|
+
const { createSessionToken } = initJwt(node, Object.assign({}, options));
|
|
248
247
|
const createToken = createTokenFn(createSessionToken);
|
|
249
248
|
const sessionConfig = blocklet.settings?.session || {};
|
|
250
249
|
const { sessionToken, refreshToken } = createToken(
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as le}from"./vendor-mui-core-
|
|
1
|
+
import{_ as le}from"./vendor-mui-core-D6nniiQs.js";import{d as m}from"./vendor-hooks-Bt9Vv36g.js";import{g as G}from"./vendor-react-DX7tU9aY.js";import{j as ye}from"./vendor-ux-hzekFYg2.js";var b={exports:{}},pe=b.exports,re;function Me(){return re||(re=1,(function(O,e){(function(t,r){O.exports=r()})(pe,(function(){var t="week",r="year";return function(c,f,i){var n=f.prototype;n.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var l=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var o=i(this).startOf(r).add(1,r).date(l),y=i(this).endOf(t);if(o.isBefore(y))return 1}var x=i(this).startOf(r).date(l).startOf(t).subtract(1,"millisecond"),v=this.diff(x,t,!0);return v<0?i(this).startOf("week").week():Math.ceil(v)},n.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}}))})(b)),b.exports}var Te=Me();const ge=G(Te);var I={exports:{}},De=I.exports,se;function we(){return se||(se=1,(function(O,e){(function(t,r){O.exports=r()})(De,(function(){var t={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"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,c=/\d/,f=/\d\d/,i=/\d\d?/,n=/\d*[^-_:/,()\s\d]+/,u={},l=function(s){return(s=+s)+(s>68?1900:2e3)},o=function(s){return function(a){this[s]=+a}},y=[/[+-]\d\d:?(\d\d)?|Z/,function(s){(this.zone||(this.zone={})).offset=(function(a){if(!a||a==="Z")return 0;var h=a.match(/([+-]|\d\d)/g),d=60*h[1]+(+h[2]||0);return d===0?0:h[0]==="+"?-d:d})(s)}],x=function(s){var a=u[s];return a&&(a.indexOf?a:a.s.concat(a.f))},v=function(s,a){var h,d=u.meridiem;if(d){for(var g=1;g<=24;g+=1)if(s.indexOf(d(g,0,a))>-1){h=g>12;break}}else h=s===(a?"pm":"PM");return h},oe={A:[n,function(s){this.afternoon=v(s,!1)}],a:[n,function(s){this.afternoon=v(s,!0)}],Q:[c,function(s){this.month=3*(s-1)+1}],S:[c,function(s){this.milliseconds=100*+s}],SS:[f,function(s){this.milliseconds=10*+s}],SSS:[/\d{3}/,function(s){this.milliseconds=+s}],s:[i,o("seconds")],ss:[i,o("seconds")],m:[i,o("minutes")],mm:[i,o("minutes")],H:[i,o("hours")],h:[i,o("hours")],HH:[i,o("hours")],hh:[i,o("hours")],D:[i,o("day")],DD:[f,o("day")],Do:[n,function(s){var a=u.ordinal,h=s.match(/\d+/);if(this.day=h[0],a)for(var d=1;d<=31;d+=1)a(d).replace(/\[|\]/g,"")===s&&(this.day=d)}],w:[i,o("week")],ww:[f,o("week")],M:[i,o("month")],MM:[f,o("month")],MMM:[n,function(s){var a=x("months"),h=(x("monthsShort")||a.map((function(d){return d.slice(0,3)}))).indexOf(s)+1;if(h<1)throw new Error;this.month=h%12||h}],MMMM:[n,function(s){var a=x("months").indexOf(s)+1;if(a<1)throw new Error;this.month=a%12||a}],Y:[/[+-]?\d+/,o("year")],YY:[f,function(s){this.year=l(s)}],YYYY:[/\d{4}/,o("year")],Z:y,ZZ:y};function ue(s){var a,h;a=s,h=u&&u.formats;for(var d=(s=a.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(C,k,T){var M=T&&T.toUpperCase();return k||h[T]||t[T]||h[M].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(L,z,$){return z||$.slice(1)}))}))).match(r),g=d.length,D=0;D<g;D+=1){var U=d[D],S=oe[U],w=S&&S[0],Y=S&&S[1];d[D]=Y?{regex:w,parser:Y}:U.replace(/^\[|\]$/g,"")}return function(C){for(var k={},T=0,M=0;T<g;T+=1){var L=d[T];if(typeof L=="string")M+=L.length;else{var z=L.regex,$=L.parser,A=C.slice(M),P=z.exec(A)[0];$.call(k,P),C=C.replace(P,"")}}return(function(j){var F=j.afternoon;if(F!==void 0){var p=j.hours;F?p<12&&(j.hours+=12):p===12&&(j.hours=0),delete j.afternoon}})(k),k}}return function(s,a,h){h.p.customParseFormat=!0,s&&s.parseTwoDigitYear&&(l=s.parseTwoDigitYear);var d=a.prototype,g=d.parse;d.parse=function(D){var U=D.date,S=D.utc,w=D.args;this.$u=S;var Y=w[1];if(typeof Y=="string"){var C=w[2]===!0,k=w[3]===!0,T=C||k,M=w[2];k&&(M=w[2]),u=this.$locale(),!C&&M&&(u=h.Ls[M]),this.$d=(function(A,P,j,F){try{if(["x","X"].indexOf(P)>-1)return new Date((P==="X"?1e3:1)*A);var p=ue(P)(A),Z=p.year,W=p.month,fe=p.day,he=p.hours,de=p.minutes,ce=p.seconds,me=p.milliseconds,ee=p.zone,te=p.week,N=new Date,_=fe||(Z||W?1:N.getDate()),q=Z||N.getFullYear(),H=0;Z&&!W||(H=W>0?W-1:N.getMonth());var B,R=he||0,Q=de||0,X=ce||0,J=me||0;return ee?new Date(Date.UTC(q,H,_,R,Q,X,J+60*ee.offset*1e3)):j?new Date(Date.UTC(q,H,_,R,Q,X,J)):(B=new Date(q,H,_,R,Q,X,J),te&&(B=F(B).week(te).toDate()),B)}catch{return new Date("")}})(U,Y,S,h),this.init(),M&&M!==!0&&(this.$L=this.locale(M).$L),T&&U!=this.format(Y)&&(this.$d=new Date("")),u={}}else if(Y instanceof Array)for(var L=Y.length,z=1;z<=L;z+=1){w[1]=Y[z-1];var $=h.apply(this,w);if($.isValid()){this.$d=$.$d,this.$L=$.$L,this.init();break}z===L&&(this.$d=new Date(""))}else g.call(this,D)}}}))})(I)),I.exports}var Ye=we();const Oe=G(Ye);var E={exports:{}},xe=E.exports,ne;function ke(){return ne||(ne=1,(function(O,e){(function(t,r){O.exports=r()})(xe,(function(){return function(t,r,c){r.prototype.isBetween=function(f,i,n,u){var l=c(f),o=c(i),y=(u=u||"()")[0]==="(",x=u[1]===")";return(y?this.isAfter(l,n):!this.isBefore(l,n))&&(x?this.isBefore(o,n):!this.isAfter(o,n))||(y?this.isBefore(l,n):!this.isAfter(l,n))&&(x?this.isAfter(o,n):!this.isBefore(o,n))}}}))})(E)),E.exports}var Le=ke();const ze=G(Le);var V={exports:{}},Se=V.exports,ie;function Ce(){return ie||(ie=1,(function(O,e){(function(t,r){O.exports=r()})(Se,(function(){return function(t,r){var c=r.prototype,f=c.format;c.format=function(i){var n=this,u=this.$locale();if(!this.isValid())return f.bind(this)(i);var l=this.$utils(),o=(i||"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(y){switch(y){case"Q":return Math.ceil((n.$M+1)/3);case"Do":return u.ordinal(n.$D);case"gggg":return n.weekYear();case"GGGG":return n.isoWeekYear();case"wo":return u.ordinal(n.week(),"W");case"w":case"ww":return l.s(n.week(),y==="w"?1:2,"0");case"W":case"WW":return l.s(n.isoWeek(),y==="W"?1:2,"0");case"k":case"kk":return l.s(String(n.$H===0?24:n.$H),y==="k"?1:2,"0");case"X":return Math.floor(n.$d.getTime()/1e3);case"x":return n.$d.getTime();case"z":return"["+n.offsetName()+"]";case"zzz":return"["+n.offsetName("long")+"]";default:return y}}));return f.bind(this)(o)}}}))})(V)),V.exports}var $e=Ce();const je=G($e);m.extend(ye);m.extend(ge);m.extend(ze);m.extend(je);const Pe={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"},ve={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
|
`),ae=["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
|
`);class Be{isMUIAdapter=!0;isTimezoneCompatible=!0;lib="dayjs";escapedCharacters={start:"[",end:"]"};formatTokenMap=Pe;constructor({locale:e,formats:t}={}){this.locale=e,this.formats=le({},ve,t),m.extend(Oe)}setLocaleToValue=e=>{const t=this.getCurrentLocaleCode();return t===e.locale()?e:e.locale(t)};hasUTCPlugin=()=>typeof m.utc<"u";hasTimezonePlugin=()=>typeof m.tz<"u";isSame=(e,t,r)=>{const c=this.setTimezone(t,this.getTimezone(e));return e.format(r)===c.format(r)};cleanTimezone=e=>{switch(e){case"default":return;case"system":return m.tz.guess();default:return e}};createSystemDate=e=>{let t;if(this.hasUTCPlugin()&&this.hasTimezonePlugin()){const r=m.tz.guess();r==="UTC"?t=m(e):t=m.tz(e,r)}else t=m(e);return this.setLocaleToValue(t)};createUTCDate=e=>{if(!this.hasUTCPlugin())throw new Error(K);return this.setLocaleToValue(m.utc(e))};createTZDate=(e,t)=>{if(!this.hasUTCPlugin())throw new Error(K);if(!this.hasTimezonePlugin())throw new Error(ae);const r=e!==void 0&&!e.endsWith("Z");return this.setLocaleToValue(m(e).tz(this.cleanTimezone(t),r))};getLocaleFormats=()=>{const e=m.Ls,t=this.locale||"en";let r=e[t];return r===void 0&&(r=e.en),r.formats};adjustOffset=e=>{if(!this.hasTimezonePlugin())return e;const t=this.getTimezone(e);if(t!=="UTC"){const r=e.tz(this.cleanTimezone(t),!0);if(r.$offset===(e.$offset??0))return e;e.$offset=r.$offset}return e};date=(e,t="default")=>e===null?null:t==="UTC"?this.createUTCDate(e):t==="system"||t==="default"&&!this.hasTimezonePlugin()?this.createSystemDate(e):this.createTZDate(e,t);getInvalidDate=()=>m(new Date("Invalid date"));getTimezone=e=>{if(this.hasTimezonePlugin()){const t=e.$x?.$timezone;if(t)return t}return this.hasUTCPlugin()&&e.isUTC()?"UTC":"system"};setTimezone=(e,t)=>{if(this.getTimezone(e)===t)return e;if(t==="UTC"){if(!this.hasUTCPlugin())throw new Error(K);return e.utc()}if(t==="system")return e.local();if(!this.hasTimezonePlugin()){if(t==="default")return e;throw new Error(ae)}return this.setLocaleToValue(m.tz(e,this.cleanTimezone(t)))};toJsDate=e=>e.toDate();parse=(e,t)=>e===""?null:m(e,t,this.locale,!0);getCurrentLocaleCode=()=>this.locale||"en";is12HourCycleInCurrentLocale=()=>/A|a/.test(this.getLocaleFormats().LT||"");expandFormat=e=>{const t=this.getLocaleFormats(),r=c=>c.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(f,i,n)=>i||n.slice(1));return e.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(c,f,i)=>{const n=i&&i.toUpperCase();return f||t[i]||r(t[n])})};isValid=e=>e==null?!1:e.isValid();format=(e,t)=>this.formatByString(e,this.formats[t]);formatByString=(e,t)=>this.setLocaleToValue(e).format(t);formatNumber=e=>e;isEqual=(e,t)=>e===null&&t===null?!0:e===null||t===null?!1:e.toDate().getTime()===t.toDate().getTime();isSameYear=(e,t)=>this.isSame(e,t,"YYYY");isSameMonth=(e,t)=>this.isSame(e,t,"YYYY-MM");isSameDay=(e,t)=>this.isSame(e,t,"YYYY-MM-DD");isSameHour=(e,t)=>e.isSame(t,"hour");isAfter=(e,t)=>e>t;isAfterYear=(e,t)=>this.hasUTCPlugin()?!this.isSameYear(e,t)&&e.utc()>t.utc():e.isAfter(t,"year");isAfterDay=(e,t)=>this.hasUTCPlugin()?!this.isSameDay(e,t)&&e.utc()>t.utc():e.isAfter(t,"day");isBefore=(e,t)=>e<t;isBeforeYear=(e,t)=>this.hasUTCPlugin()?!this.isSameYear(e,t)&&e.utc()<t.utc():e.isBefore(t,"year");isBeforeDay=(e,t)=>this.hasUTCPlugin()?!this.isSameDay(e,t)&&e.utc()<t.utc():e.isBefore(t,"day");isWithinRange=(e,[t,r])=>e>=t&&e<=r;startOfYear=e=>this.adjustOffset(e.startOf("year"));startOfMonth=e=>this.adjustOffset(e.startOf("month"));startOfWeek=e=>this.adjustOffset(this.setLocaleToValue(e).startOf("week"));startOfDay=e=>this.adjustOffset(e.startOf("day"));endOfYear=e=>this.adjustOffset(e.endOf("year"));endOfMonth=e=>this.adjustOffset(e.endOf("month"));endOfWeek=e=>this.adjustOffset(this.setLocaleToValue(e).endOf("week"));endOfDay=e=>this.adjustOffset(e.endOf("day"));addYears=(e,t)=>this.adjustOffset(e.add(t,"year"));addMonths=(e,t)=>this.adjustOffset(e.add(t,"month"));addWeeks=(e,t)=>this.adjustOffset(e.add(t,"week"));addDays=(e,t)=>this.adjustOffset(e.add(t,"day"));addHours=(e,t)=>this.adjustOffset(e.add(t,"hour"));addMinutes=(e,t)=>this.adjustOffset(e.add(t,"minute"));addSeconds=(e,t)=>this.adjustOffset(e.add(t,"second"));getYear=e=>e.year();getMonth=e=>e.month();getDate=e=>e.date();getHours=e=>e.hour();getMinutes=e=>e.minute();getSeconds=e=>e.second();getMilliseconds=e=>e.millisecond();setYear=(e,t)=>this.adjustOffset(e.set("year",t));setMonth=(e,t)=>this.adjustOffset(e.set("month",t));setDate=(e,t)=>this.adjustOffset(e.set("date",t));setHours=(e,t)=>this.adjustOffset(e.set("hour",t));setMinutes=(e,t)=>this.adjustOffset(e.set("minute",t));setSeconds=(e,t)=>this.adjustOffset(e.set("second",t));setMilliseconds=(e,t)=>this.adjustOffset(e.set("millisecond",t));getDaysInMonth=e=>e.daysInMonth();getWeekArray=e=>{const t=this.startOfWeek(this.startOfMonth(e)),r=this.endOfWeek(this.endOfMonth(e));let c=0,f=t;const i=[];for(;f<r;){const n=Math.floor(c/7);i[n]=i[n]||[],i[n].push(f),f=this.addDays(f,1),c+=1}return i};getWeekNumber=e=>e.week();getDayOfWeek(e){return e.day()+1}getYearRange=([e,t])=>{const r=this.startOfYear(e),c=this.endOfYear(t),f=[];let i=r;for(;this.isBefore(i,c);)f.push(i),i=this.addYears(i,1);return f}}export{Be as A};
|