@abtnode/blocklet-services 1.16.44 → 1.16.45-beta-20250609-082716-b6b0592b
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/cache.js +122 -138
- package/api/index.js +6 -9
- package/api/libs/email.js +1 -1
- package/api/libs/jwt.js +1 -1
- package/api/routes/dns-resolver.js +11 -10
- package/api/services/auth/session.js +6 -2
- package/api/util/attach-shared-utils.js +15 -21
- package/dist/assets/{AdapterDayjs-eMGLd9qK.js → AdapterDayjs-BXVfASrK.js} +1 -1
- package/dist/assets/{ArrowDropDown-QAD1r6CI.js → ArrowDropDown-Ce8TY3aP.js} +1 -1
- package/dist/assets/{CheckCircle-DKl6wFCW.js → CheckCircle-M9NlpTm_.js} +1 -1
- package/dist/assets/{ChevronLeft-BTvoFtZ-.js → ChevronLeft-02OWcWpH.js} +1 -1
- package/dist/assets/{ChevronRight-CB-tzzK0.js → ChevronRight-CB8w0u2n.js} +1 -1
- package/dist/assets/{DeleteOutline-D--wbiEJ.js → DeleteOutline-1-hBNY1U.js} +1 -1
- package/dist/assets/{Done-D5w4g3Ux.js → Done-CcJLRcBY.js} +1 -1
- package/dist/assets/{Download-CSPVh6pQ.js → Download-HHknpEZd.js} +1 -1
- package/dist/assets/{Edit-Dp6PSucO.js → Edit-hd-cDU5C.js} +1 -1
- package/dist/assets/{Error-7F2F0yXi.js → Error-D0rGqAKE.js} +1 -1
- package/dist/assets/{ExpandLess-BiXZAaWu.js → ExpandLess-Fb-uW6u_.js} +1 -1
- package/dist/assets/{Google-B-pSveIB.js → Google-WGwK551e.js} +1 -1
- package/dist/assets/{Home-BxZHmRym.js → Home-DeTVRhMG.js} +1 -1
- package/dist/assets/{InfoOutlined-Bpx0eOkP.js → InfoOutlined-CLiL5VeK.js} +1 -1
- package/dist/assets/{Launch-akp2B3sE.js → Launch-BwVeOcBz.js} +1 -1
- package/dist/assets/{LaunchOutlined-BorUV5ev.js → LaunchOutlined-CPurmWuM.js} +1 -1
- package/dist/assets/{MoreHoriz-B0f55Tf5.js → MoreHoriz-9E3q8aHi.js} +1 -1
- package/dist/assets/{PlayArrow-RuC30CX1.js → PlayArrow-B_ZNrQDa.js} +1 -1
- package/dist/assets/{TuneOutlined-D5FWo3d6.js → TuneOutlined-0oMZE8a4.js} +1 -1
- package/dist/assets/{ViewList-BqZC98em.js → ViewList-ColSGL1_.js} +1 -1
- package/dist/assets/{access-control-f_Q0xNEr.js → access-control-Bu9cwoFT.js} +1 -1
- package/dist/assets/{actions-DBL5WgL-.js → actions-DtL6bYnA.js} +1 -1
- package/dist/assets/{add-component-core-lxVDVv-g.js → add-component-core-CsW-bf6w.js} +1 -1
- package/dist/assets/{add-resource-DHuVcGqm.js → add-resource-D1GK1xW7.js} +1 -1
- package/dist/assets/{addon-DPZv8EDi.js → addon-e-JO0VU3.js} +1 -1
- package/dist/assets/advanced-BSxn1YDX.js +14 -0
- package/dist/assets/api-CQoRx33p.js +1 -0
- package/dist/assets/{appearance-CjjdXxDr.js → appearance-rcoe4DP4.js} +1 -1
- package/dist/assets/{audit-logs-9UAh1pea.js → audit-logs-XAopC8XN.js} +1 -1
- package/dist/assets/{authorize-f7rwXyK0.js → authorize-DNwNxF9-.js} +1 -1
- package/dist/assets/{base-chart-C6ehpmPk.js → base-chart-BYonGucU.js} +1 -1
- package/dist/assets/{base32-BwYE-4Kz.js → base32-CmYq1ikq.js} +1 -1
- package/dist/assets/{branding-DgYdp8Fj.js → branding-DpIlP_xM.js} +1 -1
- package/dist/assets/{branding-DyNgn-Bl.js → branding-moJCZl3a.js} +2 -2
- package/dist/assets/{bundle-avatar-eYIyRJCN.js → bundle-avatar-D28BGkcC.js} +1 -1
- package/dist/assets/{button-BJsVm63u.js → button-C0Vra3Ak.js} +1 -1
- package/dist/assets/{click-to-copy-BBibsDSl.js → click-to-copy-BUVqg1RQ.js} +1 -1
- package/dist/assets/{cloneDeep-IATUBtZS.js → cloneDeep-ro06l5HL.js} +1 -1
- package/dist/assets/{collapse-C0MB7y7w.js → collapse--nd2JDBL.js} +1 -1
- package/dist/assets/{complete-x6sLfw6B.js → complete-C6_ojDUa.js} +1 -1
- package/dist/assets/{component-B-zaossI.js → component-OYgpJSh4.js} +1 -1
- package/dist/assets/{config-BedCVCOB.js → config-C_hb7xhJ.js} +1 -1
- package/dist/assets/{config-kZ6x7NWW.js → config-QpBBpp7d.js} +1 -1
- package/dist/assets/{config-navigation-DWYn0QbT.js → config-navigation-VPQM3i1K.js} +3 -3
- package/dist/assets/{config-space-BKyIMqyn.js → config-space-CBoUabjP.js} +1 -1
- package/dist/assets/{confirm-W9aiB3ZK.js → confirm-BjCmRSAF.js} +1 -1
- package/dist/assets/{connect-BDcfioWR.js → connect-B6S3YIgF.js} +1 -1
- package/dist/assets/{connect-7xjSPaIL.js → connect-CQ-AWW94.js} +1 -1
- package/dist/assets/{connect-to-CjAmbMcq.js → connect-to-kM9lCXLX.js} +1 -1
- package/dist/assets/{dashboard-DTpUsE7s.js → dashboard-B7qE-Md0.js} +3 -3
- package/dist/assets/{delete-confirm-CR9GWuZW.js → delete-confirm-Dow_C0jR.js} +1 -1
- package/dist/assets/{did-address-C3GRjuMv.js → did-address-bJAfhuZx.js} +1 -1
- package/dist/assets/{domain-C5GTtUcW.js → domain-B8NapX5o.js} +1 -1
- package/dist/assets/{domain-action-card-DZFY_-cJ.js → domain-action-card-CCtkcxNz.js} +1 -1
- package/dist/assets/domains-DzI4bWdK.js +1 -0
- package/dist/assets/{dot-DGdAPqTT.js → dot-BID2dzD_.js} +1 -1
- package/dist/assets/{email-0L0UoCI5.js → email-DDPCqu4Z.js} +1 -1
- package/dist/assets/{exchange-passport-Cz76Mvqo.js → exchange-passport-xdsOlfWE.js} +1 -1
- package/dist/assets/{fuel-H0bbfYDc.js → fuel-D1fw-gpI.js} +1 -1
- package/dist/assets/{gen-access-key-CVMgx_Do.js → gen-access-key-R0_DUG_D.js} +1 -1
- package/dist/assets/{get-safe-url-CISc2x16.js → get-safe-url-BWDUV79Q.js} +1 -1
- package/dist/assets/{get-safe-url-DvHrYSqa.js → get-safe-url-CwT4-jkw.js} +1 -1
- package/dist/assets/{home-frxjPVWF.js → home-D1kBU1RC.js} +1 -1
- package/dist/assets/{iframe-BiCAYvW4.js → iframe-DsIqy16E.js} +1 -1
- package/dist/assets/{index-C0jIKgVd.js → index-At5NExT-.js} +1 -1
- package/dist/assets/{index-CsOtcFM5.js → index-B-K0Nvyz.js} +1 -1
- package/dist/assets/{index-BFxPxs1o.js → index-B4FABIlz.js} +1 -1
- package/dist/assets/{index-C9xycxde.js → index-BBuUqC0B.js} +1 -1
- package/dist/assets/{index-Bp39ibX1.js → index-BDw54V1q.js} +1 -1
- package/dist/assets/{index-CTJ98R3F.js → index-BSiKOdsD.js} +1 -1
- package/dist/assets/{index-CmGpTnGy.js → index-BY-e9TG4.js} +1 -1
- package/dist/assets/{index-Dsf-Dx7V.js → index-BnR8uU0R.js} +1 -1
- package/dist/assets/{index-DZ-_hefE.js → index-BpvW-cUy.js} +1 -1
- package/dist/assets/{index-NqsjhbFu.js → index-Brd3-BIC.js} +1 -1
- package/dist/assets/{index-CXZIC-uq.js → index-By1VEzOz.js} +1 -1
- package/dist/assets/{index-D2TrKFIL.js → index-CCrgDhTM.js} +1 -1
- package/dist/assets/{index-BPMh7nrj.js → index-CZgWTJXl.js} +1 -1
- package/dist/assets/{index-Rx6rf5TL.js → index-DQjZ74P0.js} +43 -43
- package/dist/assets/{index-DVfId0OB.js → index-DVLOAsDQ.js} +1 -1
- package/dist/assets/{index-CNP49TJ1.js → index-DWZfwLDs.js} +1 -1
- package/dist/assets/{index-DtuVp5SU.js → index-DnDFazyx.js} +3 -3
- package/dist/assets/{index-KHBjePpP.js → index-Dntq1ezd.js} +1 -1
- package/dist/assets/{index-Ch5CE_Xo.js → index-Drni9chH.js} +1 -1
- package/dist/assets/{index-B778V4Al.js → index-Hs7lhrID.js} +4 -4
- package/dist/assets/{index-CqQ_qPcW.js → index-NE1bWD-Q.js} +1 -1
- package/dist/assets/{invitation-BrPENaxX.js → invitation-Sx6eoeir.js} +1 -1
- package/dist/assets/{invite-B0YEiWAC.js → invite-CZ68j_lY.js} +1 -1
- package/dist/assets/{issue-passport-Dz3BWjAa.js → issue-passport-IkLenFGe.js} +1 -1
- package/dist/assets/{item-CALJuG3t.js → item-RUDvbSOI.js} +1 -1
- package/dist/assets/{layout-BpG5xw8B.js → layout-BCvTd67o.js} +1 -1
- package/dist/assets/{list-DyU1G1ER.js → list-BeFxJZxl.js} +1 -1
- package/dist/assets/{list-BZl1XCaf.js → list-DjvUHEwY.js} +2 -2
- package/dist/assets/localization-BNjdHo-G.js +1 -0
- package/dist/assets/{log-CTKJhZ_E.js → log-BGQO-I2s.js} +1 -1
- package/dist/assets/{logger-DAjuoBTQ.js → logger-KwxABgLK.js} +1 -1
- package/dist/assets/{login-Cg8geEoU.js → login-BF0iOJJn.js} +1 -1
- package/dist/assets/{login-oauth-callback-HckguQey.js → login-oauth-callback-Dt9V4GRH.js} +1 -1
- package/dist/assets/{logo-uploader-oD7wBJlZ.js → logo-uploader-BecsVnr8.js} +3 -3
- package/dist/assets/{lost-passport-BxZlOTiO.js → lost-passport-CaF7MO2m.js} +1 -1
- package/dist/assets/{omit-CsI4VeYr.js → omit-O1pUD7ku.js} +1 -1
- package/dist/assets/{open-window-Ct0k45Ir.js → open-window-Dn44K3ur.js} +1 -1
- package/dist/assets/overview-DwmambxV.js +85 -0
- package/dist/assets/{page-header-CVBmdH9B.js → page-header-JH9JWGMg.js} +1 -1
- package/dist/assets/{passport-item-D1UYvMW_.js → passport-item-DEX2NwJD.js} +1 -1
- package/dist/assets/{permission-CMjo9z-z.js → permission-B7ZHEOJv.js} +1 -1
- package/dist/assets/{preferences-Dtk7H5V2.js → preferences-DUSp_pAb.js} +1 -1
- package/dist/assets/{profile-embed-yHOg7opg.js → profile-embed-BIjwkrGW.js} +1 -1
- package/dist/assets/publish-resource-Bk548CMo.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-CaWQHB2l.js → react-beautiful-dnd.esm-DCPrD7-r.js} +1 -1
- package/dist/assets/{runtime-BGMX9PTT.js → runtime-xdMFSsvP.js} +1 -1
- package/dist/assets/{sanitize-qIr4ImjO.js → sanitize-DbZs1H_T.js} +1 -1
- package/dist/assets/sdk-BJQcHaGO.js +1 -0
- package/dist/assets/{security-DDqACA_P.js → security-DCYPNDg3.js} +1 -1
- package/dist/assets/{session-N9ogZkBO.js → session-1k8BRnYA.js} +1 -1
- package/dist/assets/{setup--FMKBbd7.js → setup-CQ7O7nI0.js} +3 -3
- package/dist/assets/{spaces-ClWdZraZ.js → spaces-CpSu6mVL.js} +1 -1
- package/dist/assets/{start-D7GkMfm4.js → start-t5ebRJzD.js} +1 -1
- package/dist/assets/{starting-progress-COPiu29g.js → starting-progress-a7uoLG-L.js} +1 -1
- package/dist/assets/{status-D5ypXFOB.js → status-C4-MBX3k.js} +1 -1
- package/dist/assets/{step-actions-X0m-Hu2A.js → step-actions-Brohu3S-.js} +1 -1
- package/dist/assets/{studio-LXKuDXYf.js → studio-Cua13-ul.js} +1 -1
- package/dist/assets/{switch-control-ByXecLFy.js → switch-control-CzaI2YNK.js} +1 -1
- package/dist/assets/{table-tips-CbVGFubR.js → table-tips-Czrj7r52.js} +1 -1
- package/dist/assets/{traffic-GgX3Erg7.js → traffic-BI_ofO44.js} +1 -1
- package/dist/assets/{transfer-Dq6dS0l-.js → transfer-SwfyIGYE.js} +1 -1
- package/dist/assets/{unsubscribe-BZAVKPXL.js → unsubscribe-DFPfNrme.js} +1 -1
- package/dist/assets/{use-blocklet-logo-CmMzePwG.js → use-blocklet-logo-6YMz11ob.js} +1 -1
- package/dist/assets/use-server-logo-BbYHFDuK.js +1 -1
- package/dist/assets/{useAsync-QkUcWOv0.js → useAsync-B6ZHbOEG.js} +1 -1
- package/dist/assets/{useLocalStorage-COrhSWV-.js → useLocalStorage-BF3BqN1O.js} +1 -1
- package/dist/assets/{user-center-DVO5FZd_.js → user-center-BjGMsOGg.js} +3 -3
- package/dist/assets/{util-DZiavuQJ.js → util-BBMAZSVn.js} +1 -1
- package/dist/assets/{util-Ayf5_DBX.js → util-CS4PqVkK.js} +1 -1
- package/dist/assets/{vendor-arcblock-CATQui2x.js → vendor-arcblock-B4hgrXYM.js} +74 -74
- package/dist/assets/{vendor-hooks-TMGmpw5W.js → vendor-hooks-BCm626KH.js} +1 -1
- package/dist/assets/vendor-utils-B3iZkn2R.js +208 -0
- package/dist/assets/vendor-ux-did-connect-CX7qG3_M.js +2305 -0
- package/dist/assets/{wrap-locale-BD27EgAf.js → wrap-locale-378mdIBS.js} +1 -1
- package/dist/index.html +5 -5
- package/dist/service-worker.js +1 -1
- package/package.json +45 -45
- package/dist/assets/advanced-iHTV3yj0.js +0 -14
- package/dist/assets/api-DB7tZ-Xo.js +0 -1
- package/dist/assets/domains-BjYCkCPj.js +0 -1
- package/dist/assets/localization-BpRT0W0W.js +0 -1
- package/dist/assets/overview-B_ZqHpwj.js +0 -85
- package/dist/assets/publish-resource-H3WaTgcl.js +0 -1
- package/dist/assets/sdk-b4mKK9kW.js +0 -1
- package/dist/assets/vendor-utils-CxrPpJZS.js +0 -208
- package/dist/assets/vendor-ux-did-connect-Bh011lgb.js +0 -2305
package/api/cache.js
CHANGED
|
@@ -1,102 +1,114 @@
|
|
|
1
|
-
const {
|
|
1
|
+
const { DBCache, getAbtNodeRedisAndSQLiteUrl } = require('@abtnode/db-cache');
|
|
2
2
|
const nodemailer = require('nodemailer');
|
|
3
3
|
const getBlockletInfo = require('@blocklet/meta/lib/info');
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
ttl:
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
4
|
+
const { fromJSON } = require('@ocap/wallet');
|
|
5
|
+
|
|
6
|
+
const CACHE_TTL = 60 * 60 * 1000;
|
|
7
|
+
const SESSION_CACHE_DISABLED_USER_TTL = 86400 * 1000;
|
|
8
|
+
const SECURITY_CONFIG_TTL = 86400 * 1000;
|
|
9
|
+
|
|
10
|
+
const cache = new DBCache(() => ({
|
|
11
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
12
|
+
prefix: 'services-base',
|
|
13
|
+
ttl: CACHE_TTL,
|
|
14
|
+
}));
|
|
15
|
+
|
|
16
|
+
const cacheNodeInfo = new DBCache(() => ({
|
|
17
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
18
|
+
prefix: 'services-node-state',
|
|
19
|
+
ttl: CACHE_TTL,
|
|
20
|
+
}));
|
|
21
|
+
|
|
22
|
+
const cacheBlocklet = new DBCache(() => ({
|
|
23
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
24
|
+
prefix: 'services-blocklet',
|
|
25
|
+
ttl: CACHE_TTL,
|
|
26
|
+
}));
|
|
27
|
+
|
|
28
|
+
const cacheBlockletInfo = new DBCache(() => ({
|
|
29
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
30
|
+
prefix: 'services-blocklet-info-v2',
|
|
31
|
+
ttl: CACHE_TTL,
|
|
32
|
+
}));
|
|
33
|
+
|
|
34
|
+
const cacheRule = new DBCache(() => ({
|
|
35
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
36
|
+
prefix: 'services-rule',
|
|
37
|
+
ttl: CACHE_TTL,
|
|
38
|
+
}));
|
|
39
|
+
|
|
40
|
+
const cacheNotificationConfig = new DBCache(() => ({
|
|
41
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
42
|
+
prefix: 'services-notification-config',
|
|
43
|
+
ttl: CACHE_TTL,
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
const cacheSessionDisabledUser = new DBCache(() => ({
|
|
47
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
48
|
+
prefix: 'services-session-cache-disabled-user',
|
|
49
|
+
ttl: SESSION_CACHE_DISABLED_USER_TTL,
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
const cacheSecurityConfig = new DBCache(() => ({
|
|
53
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
54
|
+
prefix: 'services-security-config',
|
|
55
|
+
ttl: SECURITY_CONFIG_TTL,
|
|
56
|
+
}));
|
|
57
|
+
|
|
58
|
+
cache.getNodeInfo = ({ node }) => {
|
|
59
|
+
return cacheNodeInfo.autoCache('base', () => {
|
|
60
|
+
return node.getNodeInfo();
|
|
61
|
+
});
|
|
47
62
|
};
|
|
48
63
|
|
|
49
|
-
cache.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const exist = cache.get(cacheKey);
|
|
53
|
-
if (exist) {
|
|
54
|
-
return exist;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const nodeInfo = await node.getNodeInfo();
|
|
58
|
-
cache.set(cacheKey, nodeInfo);
|
|
59
|
-
|
|
60
|
-
return nodeInfo;
|
|
64
|
+
cache.deleteNodeInfo = () => {
|
|
65
|
+
cacheNodeInfo.del('base');
|
|
61
66
|
};
|
|
62
67
|
|
|
63
68
|
cache.getBlocklet = async ({ did, node, force, context }) => {
|
|
64
|
-
|
|
65
|
-
return
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (!force) {
|
|
71
|
-
const exist = cache.get(cacheKey);
|
|
72
|
-
if (exist) {
|
|
73
|
-
return exist;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const blocklet = await node.getBlocklet({ did, useCache: false }, context);
|
|
78
|
-
if (blocklet) {
|
|
79
|
-
cache.set(cacheKey, blocklet);
|
|
80
|
-
}
|
|
81
|
-
|
|
69
|
+
const blocklet = await cacheBlocklet.autoCache(force ? null : did, () => {
|
|
70
|
+
return node.getBlocklet({ did, useCache: !force }, context);
|
|
71
|
+
});
|
|
72
|
+
// if (!blocklet || !blocklet.did) {
|
|
73
|
+
// return null;
|
|
74
|
+
// }
|
|
82
75
|
return blocklet;
|
|
83
76
|
};
|
|
84
77
|
|
|
85
78
|
cache.getBlockletInfo = async ({ did, node, context }) => {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
79
|
+
const blockletInfo = await cacheBlockletInfo.autoCache(did, async () => {
|
|
80
|
+
const [blocklet, info] = await Promise.all([
|
|
81
|
+
cache.getBlocklet({ did, node, context }),
|
|
82
|
+
cache.getNodeInfo({ node }),
|
|
83
|
+
]);
|
|
84
|
+
|
|
85
|
+
if (!blocklet) {
|
|
86
|
+
throw new Error('Blocklet does not exist');
|
|
87
|
+
}
|
|
88
|
+
const bInfo = await getBlockletInfo(blocklet, info.sk);
|
|
89
|
+
if (bInfo.wallet) {
|
|
90
|
+
bInfo.walletJSON = bInfo.wallet.toJSON();
|
|
91
|
+
delete bInfo.wallet;
|
|
92
|
+
}
|
|
93
|
+
if (bInfo.permanentWallet) {
|
|
94
|
+
if (bInfo.permanentWallet === bInfo.wallet) {
|
|
95
|
+
bInfo.permanentWalletJSON = bInfo.walletJSON;
|
|
96
|
+
} else {
|
|
97
|
+
bInfo.permanentWalletJSON = bInfo.permanentWallet.toJSON();
|
|
98
|
+
}
|
|
99
|
+
delete bInfo.permanentWallet;
|
|
100
|
+
}
|
|
101
|
+
return bInfo;
|
|
102
|
+
});
|
|
92
103
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
104
|
+
if (blockletInfo.walletJSON) {
|
|
105
|
+
blockletInfo.wallet = fromJSON(blockletInfo.walletJSON);
|
|
106
|
+
delete blockletInfo.walletJSON;
|
|
107
|
+
}
|
|
108
|
+
if (blockletInfo.permanentWalletJSON) {
|
|
109
|
+
blockletInfo.permanentWallet = fromJSON(blockletInfo.permanentWalletJSON);
|
|
110
|
+
delete blockletInfo.permanentWalletJSON;
|
|
96
111
|
}
|
|
97
|
-
|
|
98
|
-
const blockletInfo = await getBlockletInfo(blocklet, info.sk);
|
|
99
|
-
cache.set(cacheKey, blockletInfo);
|
|
100
112
|
return blockletInfo;
|
|
101
113
|
};
|
|
102
114
|
|
|
@@ -104,70 +116,42 @@ cache.getTransport = ({ did, config, force }) => {
|
|
|
104
116
|
if (!did) {
|
|
105
117
|
return null;
|
|
106
118
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
const transporter = nodemailer.createTransport({
|
|
118
|
-
host: config.host,
|
|
119
|
-
port: config.port,
|
|
120
|
-
secure: !!config.secure,
|
|
121
|
-
auth: { user: config.user, pass: config.password },
|
|
119
|
+
return cacheNotificationConfig.autoCache(force ? null : did, () => {
|
|
120
|
+
return nodemailer.createTransport({
|
|
121
|
+
host: config.host,
|
|
122
|
+
port: config.port,
|
|
123
|
+
secure: !!config.secure,
|
|
124
|
+
auth: { user: config.user, pass: config.password },
|
|
125
|
+
});
|
|
122
126
|
});
|
|
123
|
-
if (transporter) {
|
|
124
|
-
cache.set(cacheKey, transporter);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return transporter;
|
|
128
127
|
};
|
|
129
128
|
|
|
130
|
-
cache.
|
|
131
|
-
get: (did) => {
|
|
132
|
-
const cacheKey = cache.keyFns.sessionCacheDisabledUser(did);
|
|
133
|
-
return sessionCacheDisabledUser.get(cacheKey);
|
|
134
|
-
},
|
|
135
|
-
set: (did) => {
|
|
136
|
-
const cacheKey = cache.keyFns.sessionCacheDisabledUser(did);
|
|
137
|
-
return sessionCacheDisabledUser.set(cacheKey, true);
|
|
138
|
-
},
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
cache.getSecurityConfig = async ({ did, url, force = false, getDataFn } = {}) => {
|
|
129
|
+
cache.getSecurityConfig = ({ did, url, force = false, getDataFn } = {}) => {
|
|
142
130
|
if (!did || url === undefined) {
|
|
143
131
|
return null;
|
|
144
132
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (exist) {
|
|
149
|
-
return exist;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
const result = await getDataFn();
|
|
154
|
-
if (result) {
|
|
155
|
-
securityConfigCache.set(cacheKey, result);
|
|
156
|
-
}
|
|
157
|
-
return result;
|
|
133
|
+
return cacheSecurityConfig.autoCacheGroup(force ? null : did, url, () => {
|
|
134
|
+
return getDataFn();
|
|
135
|
+
});
|
|
158
136
|
};
|
|
137
|
+
|
|
159
138
|
cache.removeSecurityConfig = ({ did } = {}) => {
|
|
160
139
|
if (!did) {
|
|
161
140
|
return;
|
|
162
141
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
securityConfigCache.delete(key);
|
|
167
|
-
}
|
|
168
|
-
});
|
|
142
|
+
cacheSecurityConfig.del(did);
|
|
143
|
+
cacheBlocklet.del(did);
|
|
144
|
+
cacheBlockletInfo.del(did);
|
|
169
145
|
};
|
|
170
146
|
|
|
171
|
-
cache.
|
|
147
|
+
cache.rule = cacheRule;
|
|
148
|
+
|
|
149
|
+
cache.blocklet = cacheBlocklet;
|
|
150
|
+
|
|
151
|
+
cache.notificationConfig = cacheNotificationConfig;
|
|
152
|
+
|
|
153
|
+
cache.sessionCacheDisabledUser = cacheSessionDisabledUser;
|
|
154
|
+
|
|
155
|
+
cache.blockletInfo = cacheBlockletInfo;
|
|
172
156
|
|
|
173
157
|
module.exports = cache;
|
package/api/index.js
CHANGED
|
@@ -219,21 +219,18 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
219
219
|
BlockletEvents.installed,
|
|
220
220
|
BlockletEvents.componentRemoved,
|
|
221
221
|
].forEach((name) => {
|
|
222
|
-
eventHub.on(name, (data) => {
|
|
222
|
+
eventHub.on(name, async (data) => {
|
|
223
223
|
const did = get(data, 'meta.did');
|
|
224
224
|
if (did) {
|
|
225
225
|
logger.info('delete blocklet cache on update', { did, pid: process.pid });
|
|
226
|
-
cache.
|
|
227
|
-
cache.delete(cache.keyFns.blockletInfo(did));
|
|
228
|
-
cache.delete(cache.keyFns.notificationConfig(did));
|
|
226
|
+
await Promise.all([cache.blocklet.del(did), cache.blockletInfo.del(did), cache.notificationConfig.del(did)]);
|
|
229
227
|
}
|
|
230
228
|
|
|
231
229
|
// structV1Did is just for migration purpose and should be removed in the future
|
|
232
230
|
const structV1Did = get(data, 'structV1Did');
|
|
233
231
|
if (structV1Did) {
|
|
234
232
|
logger.info('delete blocklet cache on update', { structV1Did, pid: process.pid });
|
|
235
|
-
cache.
|
|
236
|
-
cache.delete(cache.keyFns.blockletInfo(structV1Did));
|
|
233
|
+
await Promise.all([cache.blocklet.del(structV1Did), cache.blockletInfo.del(structV1Did)]);
|
|
237
234
|
}
|
|
238
235
|
});
|
|
239
236
|
});
|
|
@@ -274,11 +271,11 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
274
271
|
});
|
|
275
272
|
eventHub.on(EVENTS.NODE_UPDATED, () => {
|
|
276
273
|
logger.info('node update', { pid: process.pid });
|
|
277
|
-
cache.
|
|
274
|
+
cache.deleteNodeInfo();
|
|
278
275
|
});
|
|
279
|
-
eventHub.on(TeamEvents.userPermissionUpdated, ({ teamDid, user } = {}) => {
|
|
276
|
+
eventHub.on(TeamEvents.userPermissionUpdated, async ({ teamDid, user } = {}) => {
|
|
280
277
|
logger.info('user permission updated', { teamDid, userDid: user?.did });
|
|
281
|
-
cache.sessionCacheDisabledUser.set(user?.did);
|
|
278
|
+
await cache.sessionCacheDisabledUser.set(user?.did);
|
|
282
279
|
});
|
|
283
280
|
|
|
284
281
|
// Events to broadcast to all components
|
package/api/libs/email.js
CHANGED
|
@@ -179,7 +179,7 @@ async function sendEmail(
|
|
|
179
179
|
response: 'Test environment - Email skipped',
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
|
-
const transporter = cache.getTransport({ did: teamDid, config });
|
|
182
|
+
const transporter = await cache.getTransport({ did: teamDid, config });
|
|
183
183
|
const result = await transporter.sendMail(emailData);
|
|
184
184
|
return result;
|
|
185
185
|
}
|
package/api/libs/jwt.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
const dns = require('dns');
|
|
2
|
-
const {
|
|
2
|
+
const { DBCache, getAbtNodeRedisAndSQLiteUrl } = require('@abtnode/db-cache');
|
|
3
3
|
const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
|
|
4
4
|
|
|
5
5
|
module.exports = {
|
|
6
6
|
init(app) {
|
|
7
|
-
const cache = new
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const cache = new DBCache(() => ({
|
|
8
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
9
|
+
prefix: 'services-dns-resolver',
|
|
10
|
+
ttl: 5 * 60 * 1000,
|
|
11
|
+
}));
|
|
11
12
|
|
|
12
|
-
app.get(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/dns-resolve/`, (req, res) => {
|
|
13
|
+
app.get(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/dns-resolve/`, async (req, res) => {
|
|
13
14
|
const { hostname } = req.query;
|
|
14
15
|
|
|
15
16
|
if (!hostname) {
|
|
@@ -17,21 +18,21 @@ module.exports = {
|
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
const cachedAddress = cache.get(hostname);
|
|
21
|
+
const cachedAddress = await cache.get(hostname);
|
|
21
22
|
|
|
22
23
|
if (cachedAddress) {
|
|
23
24
|
res.json({ address: cachedAddress });
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
dns.lookup(hostname, (err, address) => {
|
|
28
|
+
dns.lookup(hostname, async (err, address) => {
|
|
28
29
|
if (err) {
|
|
29
|
-
cache.
|
|
30
|
+
await cache.del(hostname);
|
|
30
31
|
res.json({ address: null, error: err.message });
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
cache.set(hostname, address);
|
|
35
|
+
await cache.set(hostname, address);
|
|
35
36
|
res.json({ address });
|
|
36
37
|
});
|
|
37
38
|
});
|
|
@@ -20,7 +20,7 @@ const { signResponse } = require('@blocklet/meta/lib/security');
|
|
|
20
20
|
const getRequestIP = require('@abtnode/util/lib/get-request-ip');
|
|
21
21
|
const { getDeviceData } = require('@abtnode/util/lib/device');
|
|
22
22
|
const isUrl = require('is-url');
|
|
23
|
-
const
|
|
23
|
+
const { DBCache, getAbtNodeRedisAndSQLiteUrl } = require('@abtnode/db-cache');
|
|
24
24
|
const createTranslator = require('@abtnode/util/lib/translate');
|
|
25
25
|
const getOrigin = require('@abtnode/util/lib/get-origin');
|
|
26
26
|
|
|
@@ -48,7 +48,11 @@ const translations = {
|
|
|
48
48
|
|
|
49
49
|
const t = createTranslator({ translations });
|
|
50
50
|
|
|
51
|
-
const signSessionResponseCache = new
|
|
51
|
+
const signSessionResponseCache = new DBCache(() => ({
|
|
52
|
+
...getAbtNodeRedisAndSQLiteUrl(),
|
|
53
|
+
prefix: 'services-sign-session-response',
|
|
54
|
+
ttl: 1000 * 60,
|
|
55
|
+
}));
|
|
52
56
|
|
|
53
57
|
const getUnreadNotificationCount = ({ teamDid, receiver }, node) => {
|
|
54
58
|
if (!node || !receiver || !teamDid) {
|
|
@@ -83,11 +83,11 @@ module.exports = ({ node, req, options }) => {
|
|
|
83
83
|
return null;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
let rule = cache.get(ruleId);
|
|
86
|
+
let rule = await cache.rule.get(ruleId);
|
|
87
87
|
|
|
88
88
|
if (!rule) {
|
|
89
89
|
rule = await node.getRoutingRuleById(ruleId);
|
|
90
|
-
cache.set(ruleId, rule);
|
|
90
|
+
cache.rule.set(ruleId, rule);
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
return rule;
|
|
@@ -97,7 +97,7 @@ module.exports = ({ node, req, options }) => {
|
|
|
97
97
|
* @return obj | null
|
|
98
98
|
* @FIXME this api should ensure high performance
|
|
99
99
|
*/
|
|
100
|
-
req.getServiceConfig =
|
|
100
|
+
req.getServiceConfig = (serviceName, { componentId } = {}) => {
|
|
101
101
|
if (!serviceName) {
|
|
102
102
|
return null;
|
|
103
103
|
}
|
|
@@ -107,29 +107,23 @@ module.exports = ({ node, req, options }) => {
|
|
|
107
107
|
return null;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
return cache.autoCache(`${serviceName}:${configId}`, async () => {
|
|
111
|
+
const defaultConfig = getDefaultServiceConfig(serviceName);
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
const defaultConfig = getDefaultServiceConfig(serviceName);
|
|
119
|
-
|
|
120
|
-
const app = await req.getBlocklet();
|
|
121
|
-
if (!app) {
|
|
122
|
-
return defaultConfig;
|
|
123
|
-
}
|
|
113
|
+
const app = await req.getBlocklet();
|
|
114
|
+
if (!app) {
|
|
115
|
+
return defaultConfig;
|
|
116
|
+
}
|
|
124
117
|
|
|
125
|
-
|
|
118
|
+
const _componentId = componentId || req.getBlockletComponentId();
|
|
126
119
|
|
|
127
|
-
|
|
120
|
+
const componentStaticConfig = getStaticServiceConfig(serviceName, app, _componentId);
|
|
128
121
|
|
|
129
|
-
|
|
130
|
-
|
|
122
|
+
const config = { ...defaultConfig, ...componentStaticConfig };
|
|
123
|
+
delete config.whoCanAccess;
|
|
131
124
|
|
|
132
|
-
|
|
125
|
+
return config;
|
|
126
|
+
});
|
|
133
127
|
};
|
|
134
128
|
|
|
135
129
|
req.getBlocklet = ({ useCache = true, attachRuntimeInfo = false } = {}) => {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as dt}from"./vendor-mui-core-wlbruq2I.js";import{a as f}from"./vendor-utils-
|
|
1
|
+
import{_ as dt}from"./vendor-mui-core-wlbruq2I.js";import{a as f}from"./vendor-utils-B3iZkn2R.js";import{e as Q,g as R}from"./vendor-react-DEoibe3W.js";import{aF as ft}from"./vendor-ux-did-connect-CX7qG3_M.js";import{b as ct}from"./vendor-mui-x-BKgL6hAa.js";var tt={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){var l="week",c="year";return function(g,t,e){var s=t.prototype;s.week=function(i){if(i===void 0&&(i=null),i!==null)return this.add(7*(i-this.week()),"day");var o=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var n=e(this).startOf(c).add(1,c).date(o),d=e(this).endOf(l);if(n.isBefore(d))return 1}var m=e(this).startOf(c).date(o).startOf(l).subtract(1,"millisecond"),U=this.diff(m,l,!0);return U<0?e(this).startOf("week").week():Math.ceil(U)},s.weeks=function(i){return i===void 0&&(i=null),this.week(i)}}})})(tt);var lt=tt.exports;const mt=R(lt);var et={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){var l={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"},c=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,g=/\d/,t=/\d\d/,e=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,i={},o=function(r){return(r=+r)+(r>68?1900:2e3)},n=function(r){return function(a){this[r]=+a}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(r){(this.zone||(this.zone={})).offset=function(a){if(!a||a==="Z")return 0;var h=a.match(/([+-]|\d\d)/g),u=60*h[1]+(+h[2]||0);return u===0?0:h[0]==="+"?-u:u}(r)}],m=function(r){var a=i[r];return a&&(a.indexOf?a:a.s.concat(a.f))},U=function(r,a){var h,u=i.meridiem;if(u){for(var D=1;D<=24;D+=1)if(r.indexOf(u(D,0,a))>-1){h=D>12;break}}else h=r===(a?"pm":"PM");return h},rt={A:[s,function(r){this.afternoon=U(r,!1)}],a:[s,function(r){this.afternoon=U(r,!0)}],Q:[g,function(r){this.month=3*(r-1)+1}],S:[g,function(r){this.milliseconds=100*+r}],SS:[t,function(r){this.milliseconds=10*+r}],SSS:[/\d{3}/,function(r){this.milliseconds=+r}],s:[e,n("seconds")],ss:[e,n("seconds")],m:[e,n("minutes")],mm:[e,n("minutes")],H:[e,n("hours")],h:[e,n("hours")],HH:[e,n("hours")],hh:[e,n("hours")],D:[e,n("day")],DD:[t,n("day")],Do:[s,function(r){var a=i.ordinal,h=r.match(/\d+/);if(this.day=h[0],a)for(var u=1;u<=31;u+=1)a(u).replace(/\[|\]/g,"")===r&&(this.day=u)}],w:[e,n("week")],ww:[t,n("week")],M:[e,n("month")],MM:[t,n("month")],MMM:[s,function(r){var a=m("months"),h=(m("monthsShort")||a.map(function(u){return u.slice(0,3)})).indexOf(r)+1;if(h<1)throw new Error;this.month=h%12||h}],MMMM:[s,function(r){var a=m("months").indexOf(r)+1;if(a<1)throw new Error;this.month=a%12||a}],Y:[/[+-]?\d+/,n("year")],YY:[t,function(r){this.year=o(r)}],YYYY:[/\d{4}/,n("year")],Z:d,ZZ:d};function nt(r){var a,h;a=r,h=i&&i.formats;for(var u=(r=a.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(b,k,p){var M=p&&p.toUpperCase();return k||h[p]||l[p]||h[M].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(x,j,z){return j||z.slice(1)})})).match(c),D=u.length,w=0;w<D;w+=1){var P=u[w],S=rt[P],Y=S&&S[0],O=S&&S[1];u[w]=O?{regex:Y,parser:O}:P.replace(/^\[|\]$/g,"")}return function(b){for(var k={},p=0,M=0;p<D;p+=1){var x=u[p];if(typeof x=="string")M+=x.length;else{var j=x.regex,z=x.parser,H=b.slice(M),A=j.exec(H)[0];z.call(k,A),b=b.replace(A,"")}}return function(C){var I=C.afternoon;if(I!==void 0){var y=C.hours;I?y<12&&(C.hours+=12):y===12&&(C.hours=0),delete C.afternoon}}(k),k}}return function(r,a,h){h.p.customParseFormat=!0,r&&r.parseTwoDigitYear&&(o=r.parseTwoDigitYear);var u=a.prototype,D=u.parse;u.parse=function(w){var P=w.date,S=w.utc,Y=w.args;this.$u=S;var O=Y[1];if(typeof O=="string"){var b=Y[2]===!0,k=Y[3]===!0,p=b||k,M=Y[2];k&&(M=Y[2]),i=this.$locale(),!b&&M&&(i=h.Ls[M]),this.$d=function(H,A,C,I){try{if(["x","X"].indexOf(A)>-1)return new Date((A==="X"?1e3:1)*H);var y=nt(A)(H),W=y.year,F=y.month,it=y.day,at=y.hours,ot=y.minutes,ht=y.seconds,ut=y.milliseconds,X=y.zone,q=y.week,$=new Date,N=it||(W||F?1:$.getDate()),Z=W||$.getFullYear(),B=0;W&&!F||(B=F>0?F-1:$.getMonth());var E,v=at||0,V=ot||0,J=ht||0,_=ut||0;return X?new Date(Date.UTC(Z,B,N,v,V,J,_+60*X.offset*1e3)):C?new Date(Date.UTC(Z,B,N,v,V,J,_)):(E=new Date(Z,B,N,v,V,J,_),q&&(E=I(E).week(q).toDate()),E)}catch{return new Date("")}}(P,O,S,h),this.init(),M&&M!==!0&&(this.$L=this.locale(M).$L),p&&P!=this.format(O)&&(this.$d=new Date("")),i={}}else if(O instanceof Array)for(var x=O.length,j=1;j<=x;j+=1){Y[1]=O[j-1];var z=h.apply(this,Y);if(z.isValid()){this.$d=z.$d,this.$L=z.$L,this.init();break}j===x&&(this.$d=new Date(""))}else D.call(this,w)}}})})(et);var yt=et.exports;const Mt=R(yt);var st={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){return function(l,c,g){c.prototype.isBetween=function(t,e,s,i){var o=g(t),n=g(e),d=(i=i||"()")[0]==="(",m=i[1]===")";return(d?this.isAfter(o,s):!this.isBefore(o,s))&&(m?this.isBefore(n,s):!this.isAfter(n,s))||(d?this.isBefore(o,s):!this.isAfter(o,s))&&(m?this.isAfter(n,s):!this.isBefore(n,s))}}})})(st);var pt=st.exports;const Tt=R(pt);f.extend(Mt);f.extend(ft);f.extend(Tt);const gt=ct(["Your locale has not been found.","Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale","Or you forget to import the locale from 'dayjs/locale/{localeUsed}'","fallback on English locale"]),Dt={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"},wt={year:"YYYY",month:"MMMM",monthShort:"MMM",dayOfMonth:"D",weekday:"dddd",weekdayShort:"dd",hours24h:"HH",hours12h:"hh",meridiem:"A",minutes:"mm",seconds:"ss",fullDate:"ll",fullDateWithWeekday:"dddd, LL",keyboardDate:"L",shortDate:"MMM D",normalDate:"D MMMM",normalDateWithWeekday:"ddd, MMM D",monthAndYear:"MMMM YYYY",monthAndDate:"MMMM D",fullTime:"LT",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",fullDateTime:"lll",fullDateTime12h:"ll hh:mm A",fullDateTime24h:"ll HH:mm",keyboardDateTime:"L LT",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},G=["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
|
`),K=["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
|
`),Yt=(T,L)=>L?(...l)=>T(...l).locale(L):T;class bt{constructor({locale:L,formats:l,instance:c}={}){var g;this.isMUIAdapter=!0,this.isTimezoneCompatible=!0,this.lib="dayjs",this.rawDayJsInstance=void 0,this.dayjs=void 0,this.locale=void 0,this.formats=void 0,this.escapedCharacters={start:"[",end:"]"},this.formatTokenMap=Dt,this.setLocaleToValue=t=>{const e=this.getCurrentLocaleCode();return e===t.locale()?t:t.locale(e)},this.hasUTCPlugin=()=>typeof f.utc<"u",this.hasTimezonePlugin=()=>typeof f.tz<"u",this.isSame=(t,e,s)=>{const i=this.setTimezone(e,this.getTimezone(t));return t.format(s)===i.format(s)},this.cleanTimezone=t=>{switch(t){case"default":return;case"system":return f.tz.guess();default:return t}},this.createSystemDate=t=>{if(this.rawDayJsInstance)return this.rawDayJsInstance(t);if(this.hasUTCPlugin()&&this.hasTimezonePlugin()){const e=f.tz.guess();return e!=="UTC"?f.tz(t,e):f(t)}return f(t)},this.createUTCDate=t=>{if(!this.hasUTCPlugin())throw new Error(G);return f.utc(t)},this.createTZDate=(t,e)=>{if(!this.hasUTCPlugin())throw new Error(G);if(!this.hasTimezonePlugin())throw new Error(K);const s=t!==void 0&&!t.endsWith("Z");return f(t).tz(this.cleanTimezone(e),s)},this.getLocaleFormats=()=>{const t=f.Ls,e=this.locale||"en";let s=t[e];return s===void 0&&(gt(),s=t.en),s.formats},this.adjustOffset=t=>{if(!this.hasTimezonePlugin())return t;const e=this.getTimezone(t);if(e!=="UTC"){var s,i;const o=t.tz(this.cleanTimezone(e),!0);if(((s=o.$offset)!=null?s:0)===((i=t.$offset)!=null?i:0))return t;t.$offset=o.$offset}return t},this.date=t=>t===null?null:this.dayjs(t),this.dateWithTimezone=(t,e)=>{if(t===null)return null;let s;return e==="UTC"?s=this.createUTCDate(t):e==="system"||e==="default"&&!this.hasTimezonePlugin()?s=this.createSystemDate(t):s=this.createTZDate(t,e),this.locale===void 0?s:s.locale(this.locale)},this.getTimezone=t=>{if(this.hasTimezonePlugin()){var e;const s=(e=t.$x)==null?void 0:e.$timezone;if(s)return s}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(G);return t.utc()}if(e==="system")return t.local();if(!this.hasTimezonePlugin()){if(e==="default")return t;throw new Error(K)}return f.tz(t,this.cleanTimezone(e))},this.toJsDate=t=>t.toDate(),this.parseISO=t=>this.dayjs(t),this.toISO=t=>t.toISOString(),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(),s=i=>i.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(o,n,d)=>n||d.slice(1));return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(i,o,n)=>{const d=n&&n.toUpperCase();return o||e[n]||s(e[d])})},this.getFormatHelperText=t=>this.expandFormat(t).replace(/a/gi,"(a|p)m").toLocaleLowerCase(),this.isNull=t=>t===null,this.isValid=t=>this.dayjs(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.getDiff=(t,e,s)=>t.diff(e,s),this.isEqual=(t,e)=>t===null&&e===null?!0:this.dayjs(t).toDate().getTime()===this.dayjs(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,s])=>t>=e&&t<=s,this.startOfYear=t=>this.adjustOffset(t.startOf("year")),this.startOfMonth=t=>this.adjustOffset(t.startOf("month")),this.startOfWeek=t=>this.adjustOffset(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(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.getNextMonth=t=>this.addMonths(t,1),this.getPreviousMonth=t=>this.addMonths(t,-1),this.getMonthArray=t=>{const s=[t.startOf("year")];for(;s.length<12;){const i=s[s.length-1];s.push(this.addMonths(i,1))}return s},this.mergeDateAndTime=(t,e)=>t.hour(e.hour()).minute(e.minute()).second(e.second()),this.getWeekdays=()=>{const t=this.dayjs().startOf("week");return[0,1,2,3,4,5,6].map(e=>this.formatByString(this.addDays(t,e),"dd"))},this.getWeekArray=t=>{const e=this.setLocaleToValue(t),s=e.startOf("month").startOf("week"),i=e.endOf("month").endOf("week");let o=0,n=s;const d=[];for(;n<i;){const m=Math.floor(o/7);d[m]=d[m]||[],d[m].push(n),n=this.addDays(n,1),o+=1}return d},this.getWeekNumber=t=>t.week(),this.getYearRange=(t,e)=>{const s=t.startOf("year"),i=e.endOf("year"),o=[];let n=s;for(;n<i;)o.push(n),n=this.addYears(n,1);return o},this.getMeridiemText=t=>t==="am"?"AM":"PM",this.rawDayJsInstance=c,this.dayjs=Yt((g=this.rawDayJsInstance)!=null?g:f,L),this.locale=L,this.formats=dt({},wt,l),f.extend(mt)}}export{bt as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as e,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as e,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var r={},o=e;Object.defineProperty(r,"__esModule",{value:!0});var u=r.default=void 0,i=o(a()),p=t;u=r.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),l=t;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,f=o(a()),i=t;u=e.default=(0,f.default)((0,i.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),v=t;u=e.default=(0,i.default)((0,v.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as t,j as r}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as t,j as r}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},u=t;Object.defineProperty(e,"__esModule",{value:!0});var o=e.default=void 0,i=u(a()),l=r;o=e.default=(0,i.default)((0,l.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");export{o as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),l=t;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"}),"Done");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as a}from"./vendor-mui-core-wlbruq2I.js";import{r as t}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as a}from"./vendor-mui-core-wlbruq2I.js";import{r as t}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,d=o(t()),i=a;u=e.default=(0,d.default)((0,i.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),d=t;u=e.default=(0,i.default)((0,d.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as e,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as e,j as t}from"./vendor-mui-core-wlbruq2I.js";import{r as a}from"./vendor-ux-did-connect-CX7qG3_M.js";var r={},o=e;Object.defineProperty(r,"__esModule",{value:!0});var u=r.default=void 0,i=o(a()),s=t;u=r.default=(0,i.default)((0,s.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a9 as r,j as a}from"./vendor-mui-core-wlbruq2I.js";import{r as t}from"./vendor-ux-did-connect-
|
|
1
|
+
import{a9 as r,j as a}from"./vendor-mui-core-wlbruq2I.js";import{r as t}from"./vendor-ux-did-connect-CX7qG3_M.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var s=e.default=void 0,u=o(t()),d=a;s=e.default=(0,u.default)((0,d.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");export{s as d};
|