asaihost-nodejs 0.0.1 → 0.0.3

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.
Files changed (79) hide show
  1. package/README.md +76 -25
  2. package/dist/InterventionLog-CRP6YJVM.cjs +30 -0
  3. package/dist/{InterventionLog-25EHE4QR.cjs.map → InterventionLog-CRP6YJVM.cjs.map} +1 -1
  4. package/dist/{InterventionLog-R6CCPU2B.es.js → InterventionLog-PZT2CCN3.es.js} +5 -5
  5. package/dist/LogStore-7MTUQA4G.cjs +54 -0
  6. package/dist/{LogStore-M2AUBNGO.cjs.map → LogStore-7MTUQA4G.cjs.map} +1 -1
  7. package/dist/{LogStore-ECXX34WC.es.js → LogStore-Q35YFNAY.es.js} +3 -3
  8. package/dist/asaihost-nodejs.cjs +1304 -1447
  9. package/dist/asaihost-nodejs.cjs.map +1 -1
  10. package/dist/asaihost-nodejs.d.cts +154 -17
  11. package/dist/asaihost-nodejs.d.ts +154 -17
  12. package/dist/asaihost-nodejs.es.js +921 -1064
  13. package/dist/asaihost-nodejs.es.js.map +1 -1
  14. package/dist/{chunk-HHPGUJ75.cjs → chunk-2BCIIKRG.cjs} +13 -6
  15. package/dist/chunk-2BCIIKRG.cjs.map +1 -0
  16. package/dist/{chunk-G4WVDUBH.cjs → chunk-4E7Z5K5U.cjs} +7 -7
  17. package/dist/{chunk-G4WVDUBH.cjs.map → chunk-4E7Z5K5U.cjs.map} +1 -1
  18. package/dist/{chunk-DROOHKB3.es.js → chunk-57UQJKSL.es.js} +2 -2
  19. package/dist/{chunk-EOGZPRML.es.js → chunk-A5CDJGJI.es.js} +224 -39
  20. package/dist/chunk-A5CDJGJI.es.js.map +1 -0
  21. package/dist/{chunk-E7V3EBDB.es.js → chunk-A6VJPLDD.es.js} +5 -3
  22. package/dist/chunk-A6VJPLDD.es.js.map +1 -0
  23. package/dist/{chunk-X7VHW2TD.cjs → chunk-H3K33HBA.cjs} +249 -64
  24. package/dist/chunk-H3K33HBA.cjs.map +1 -0
  25. package/dist/{chunk-KOFCBB3N.cjs → chunk-K2QPSQEV.cjs} +9 -9
  26. package/dist/{chunk-KOFCBB3N.cjs.map → chunk-K2QPSQEV.cjs.map} +1 -1
  27. package/dist/{chunk-LOMSUPPU.es.js → chunk-LTEP4XB2.es.js} +6 -6
  28. package/dist/{chunk-QWVR2HNT.cjs → chunk-LXJMGLKW.cjs} +21 -19
  29. package/dist/chunk-LXJMGLKW.cjs.map +1 -0
  30. package/dist/{chunk-4WJDC4M4.es.js → chunk-NLZNIGNF.es.js} +2 -2
  31. package/dist/chunk-NLZNIGNF.es.js.map +1 -0
  32. package/dist/{chunk-W7DVKGX5.cjs → chunk-OCEBEEP5.cjs} +2 -2
  33. package/dist/{chunk-W7DVKGX5.cjs.map → chunk-OCEBEEP5.cjs.map} +1 -1
  34. package/dist/{chunk-NLBFIRDB.cjs → chunk-RIRKIYET.cjs} +12 -12
  35. package/dist/{chunk-NLBFIRDB.cjs.map → chunk-RIRKIYET.cjs.map} +1 -1
  36. package/dist/{chunk-XBIN4C2V.es.js → chunk-SB23ESX2.es.js} +2 -2
  37. package/dist/{chunk-VLMM735Q.cjs → chunk-TKJAHTPO.cjs} +26 -26
  38. package/dist/{chunk-VLMM735Q.cjs.map → chunk-TKJAHTPO.cjs.map} +1 -1
  39. package/dist/{chunk-MCMADJQR.es.js → chunk-VUZO7DCA.es.js} +4 -4
  40. package/dist/chunk-VUZO7DCA.es.js.map +1 -0
  41. package/dist/{chunk-KUZQ36IJ.es.js → chunk-ZQBHJRAO.es.js} +10 -3
  42. package/dist/chunk-ZQBHJRAO.es.js.map +1 -0
  43. package/dist/intervention-hooks-KF3SNB5Q.cjs +21 -0
  44. package/dist/{intervention-hooks-LE6X4C6N.cjs.map → intervention-hooks-KF3SNB5Q.cjs.map} +1 -1
  45. package/dist/{intervention-hooks-FI4EHOL5.es.js → intervention-hooks-TCGIC4IV.es.js} +6 -6
  46. package/dist/log-formats-TUXGMCCU.cjs +31 -0
  47. package/dist/{log-formats-FKFMQKNO.cjs.map → log-formats-TUXGMCCU.cjs.map} +1 -1
  48. package/dist/{log-formats-I5E32H5F.es.js → log-formats-WW3TDUAK.es.js} +2 -2
  49. package/dist/{password-63OY27RX.es.js → password-4BABWAG4.es.js} +4 -4
  50. package/dist/password-PJHJRGPE.cjs +20 -0
  51. package/dist/{password-NZ5EGDWG.cjs.map → password-PJHJRGPE.cjs.map} +1 -1
  52. package/dist/user-store-6J2PSEIN.cjs +12 -0
  53. package/dist/{user-store-SX4N6PQ4.cjs.map → user-store-6J2PSEIN.cjs.map} +1 -1
  54. package/dist/user-store-UC5URX3C.es.js +12 -0
  55. package/package.json +2 -13
  56. package/dist/InterventionLog-25EHE4QR.cjs +0 -30
  57. package/dist/LogStore-M2AUBNGO.cjs +0 -54
  58. package/dist/chunk-4WJDC4M4.es.js.map +0 -1
  59. package/dist/chunk-E7V3EBDB.es.js.map +0 -1
  60. package/dist/chunk-EOGZPRML.es.js.map +0 -1
  61. package/dist/chunk-HHPGUJ75.cjs.map +0 -1
  62. package/dist/chunk-KUZQ36IJ.es.js.map +0 -1
  63. package/dist/chunk-MCMADJQR.es.js.map +0 -1
  64. package/dist/chunk-QWVR2HNT.cjs.map +0 -1
  65. package/dist/chunk-X7VHW2TD.cjs.map +0 -1
  66. package/dist/intervention-hooks-LE6X4C6N.cjs +0 -21
  67. package/dist/log-formats-FKFMQKNO.cjs +0 -31
  68. package/dist/password-NZ5EGDWG.cjs +0 -20
  69. package/dist/user-store-J7LWEXSW.es.js +0 -12
  70. package/dist/user-store-SX4N6PQ4.cjs +0 -12
  71. /package/dist/{InterventionLog-R6CCPU2B.es.js.map → InterventionLog-PZT2CCN3.es.js.map} +0 -0
  72. /package/dist/{LogStore-ECXX34WC.es.js.map → LogStore-Q35YFNAY.es.js.map} +0 -0
  73. /package/dist/{chunk-DROOHKB3.es.js.map → chunk-57UQJKSL.es.js.map} +0 -0
  74. /package/dist/{chunk-LOMSUPPU.es.js.map → chunk-LTEP4XB2.es.js.map} +0 -0
  75. /package/dist/{chunk-XBIN4C2V.es.js.map → chunk-SB23ESX2.es.js.map} +0 -0
  76. /package/dist/{intervention-hooks-FI4EHOL5.es.js.map → intervention-hooks-TCGIC4IV.es.js.map} +0 -0
  77. /package/dist/{log-formats-I5E32H5F.es.js.map → log-formats-WW3TDUAK.es.js.map} +0 -0
  78. /package/dist/{password-63OY27RX.es.js.map → password-4BABWAG4.es.js.map} +0 -0
  79. /package/dist/{user-store-J7LWEXSW.es.js.map → user-store-UC5URX3C.es.js.map} +0 -0
@@ -29,6 +29,9 @@ function resolveStoreConfig($asai, domain) {
29
29
  const u = host.userStore;
30
30
  return { type: u.type || "file", opt: u.opt || {} };
31
31
  }
32
+ if (domain === "user") {
33
+ return { type: "file", opt: { dir: "webdata/webdb/users/", ext: ".json", create: 1 } };
34
+ }
32
35
  if (domain === "log" && _optionalChain([host, 'access', _2 => _2.logger, 'optionalAccess', _3 => _3.store])) {
33
36
  const s = host.logger.store;
34
37
  return { type: s.type || "sqlite", opt: { database: s.database, create: s.create, dir: s.dir, ext: s.ext } };
@@ -82,15 +85,19 @@ function getDataServerBySpec($asai, spec) {
82
85
  const cache = cacheMap($asai);
83
86
  if (cache.has(key)) return cache.get(key);
84
87
  const factory = $asai.dataserver;
85
- const instance = factory(full.type, full.opt);
88
+ if (typeof factory !== "function") {
89
+ throw new Error("[data-store] $asai.dataserver \u672A\u521D\u59CB\u5316\uFF0C\u8BF7\u5148\u8C03\u7528 sysserver($asai)");
90
+ }
91
+ const dbDrivers = _nullishCoalesce(_optionalChain([$asai, 'access', _4 => _4.$lib, 'optionalAccess', _5 => _5.db]), () => ( {}));
92
+ const instance = factory(full.type, full.opt, dbDrivers);
86
93
  cache.set(key, instance);
87
94
  return instance;
88
95
  }
89
96
  _chunkSMVZ3ZDJcjs.__name.call(void 0, getDataServerBySpec, "getDataServerBySpec");
90
97
  function getDataServerForAsDb($asai, cfg) {
91
- const type = _optionalChain([cfg, 'optionalAccess', _4 => _4.type]) || "sqlite";
92
- const opt = _optionalChain([cfg, 'optionalAccess', _5 => _5.opt]) || {};
93
- const domain = _optionalChain([cfg, 'optionalAccess', _6 => _6.storeKey]) || `asdb:${type}:${opt.database || opt.dir || "default"}`;
98
+ const type = _optionalChain([cfg, 'optionalAccess', _6 => _6.type]) || "sqlite";
99
+ const opt = _optionalChain([cfg, 'optionalAccess', _7 => _7.opt]) || {};
100
+ const domain = _optionalChain([cfg, 'optionalAccess', _8 => _8.storeKey]) || `asdb:${type}:${opt.database || opt.dir || "default"}`;
94
101
  return getDataServerBySpec($asai, { domain, type, opt });
95
102
  }
96
103
  _chunkSMVZ3ZDJcjs.__name.call(void 0, getDataServerForAsDb, "getDataServerForAsDb");
@@ -143,7 +150,7 @@ async function writeJsonBlob(db, filename, data) {
143
150
  type: "update",
144
151
  table: "",
145
152
  where: [["name", "=", filename]],
146
- set: [["name", content]]
153
+ set: [["content", content]]
147
154
  });
148
155
  }
149
156
  _chunkSMVZ3ZDJcjs.__name.call(void 0, writeJsonBlob, "writeJsonBlob");
@@ -159,4 +166,4 @@ _chunkSMVZ3ZDJcjs.__name.call(void 0, writeJsonBlob, "writeJsonBlob");
159
166
 
160
167
 
161
168
  exports.resolveStoreConfig = resolveStoreConfig; exports.normalizeStoreOpt = normalizeStoreOpt; exports.getDataServer = getDataServer; exports.getDataServerForAsDb = getDataServerForAsDb; exports.qStr = qStr; exports.qNum = qNum; exports.asRows = asRows; exports.readJsonBlob = readJsonBlob; exports.writeJsonBlob = writeJsonBlob;
162
- //# sourceMappingURL=chunk-HHPGUJ75.cjs.map
169
+ //# sourceMappingURL=chunk-2BCIIKRG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["d:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-2BCIIKRG.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;AACA,IAAI,UAAU,EAAE,oBAAoB;AACpC,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,kBAAkB,IAAI,GAAG,CAAC,CAAC;AACrE,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC;AACzB;AACA,sCAAM,QAAS,EAAE,UAAU,CAAC;AAC5B,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAC7B,EAAE,OAAO,GAAG,CAAC,KAAK;AAClB,EAAE,OAAO,CAAC,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-2BCIIKRG.cjs","sourcesContent":[null]}
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunkVLMM735Qcjs = require('./chunk-VLMM735Q.cjs');
4
+ var _chunkTKJAHTPOcjs = require('./chunk-TKJAHTPO.cjs');
5
5
 
6
6
 
7
- var _chunkW7DVKGX5cjs = require('./chunk-W7DVKGX5.cjs');
7
+ var _chunkOCEBEEP5cjs = require('./chunk-OCEBEEP5.cjs');
8
8
 
9
9
 
10
10
  var _chunkO6LVLSNBcjs = require('./chunk-O6LVLSNB.cjs');
@@ -177,7 +177,7 @@ async function doLogIntervention($asai, event, ns) {
177
177
  const header = [
178
178
  "CEF:0",
179
179
  escHeader(_optionalChain([$asai, 'optionalAccess', _8 => _8.hostconfig, 'optionalAccess', _9 => _9.website, 'optionalAccess', _10 => _10.title]) || "AsaiCMS"),
180
- escHeader("AsaiHost"),
180
+ escHeader("AsaiHostNodejs"),
181
181
  escHeader(_optionalChain([$asai, 'optionalAccess', _11 => _11.hostconfig, 'optionalAccess', _12 => _12.website, 'optionalAccess', _13 => _13.ver]) || "1.0.0.0"),
182
182
  escHeader(sigId),
183
183
  escHeader(event.name),
@@ -199,7 +199,7 @@ async function doLogIntervention($asai, event, ns) {
199
199
  state.fileTip[fileName] = chainHash;
200
200
  state.lastHash = chainHash;
201
201
  await saveState($asai, ns, state);
202
- void _chunkVLMM735Qcjs.mirrorInterventionLog.call(void 0, $asai, {
202
+ void _chunkTKJAHTPOcjs.mirrorInterventionLog.call(void 0, $asai, {
203
203
  ns,
204
204
  fileName,
205
205
  event,
@@ -416,7 +416,7 @@ async function deleteInterventionFile($asai, fileName, opt = {}, ns = "prod") {
416
416
  throw err;
417
417
  }
418
418
  await _promises2.default.unlink(meta.filePath);
419
- void _chunkVLMM735Qcjs.purgeSqliteEntriesForFile.call(void 0, $asai, fileName, ns).catch(() => void 0);
419
+ void _chunkTKJAHTPOcjs.purgeSqliteEntriesForFile.call(void 0, $asai, fileName, ns).catch(() => void 0);
420
420
  const state = await loadState($asai, ns);
421
421
  delete state.fileAnchors[fileName];
422
422
  delete state.fileTip[fileName];
@@ -426,7 +426,7 @@ async function deleteInterventionFile($asai, fileName, opt = {}, ns = "prod") {
426
426
  _chunkSMVZ3ZDJcjs.__name.call(void 0, deleteInterventionFile, "deleteInterventionFile");
427
427
  function getInterventionTaxonomy($asai) {
428
428
  return {
429
- formats: _chunkW7DVKGX5cjs.getLogFormatTaxonomy.call(void 0, $asai).formats,
429
+ formats: _chunkOCEBEEP5cjs.getLogFormatTaxonomy.call(void 0, $asai).formats,
430
430
  types: Object.keys(SIGNATURE_ID).map((type) => ({
431
431
  type,
432
432
  signatureId: SIGNATURE_ID[type],
@@ -460,4 +460,4 @@ _chunkSMVZ3ZDJcjs.__name.call(void 0, getInterventionTaxonomy, "getInterventionT
460
460
 
461
461
 
462
462
  exports.sha256Hex = sha256Hex; exports.crc32 = crc32; exports.logIntervention = logIntervention; exports.getRetentionMeta = getRetentionMeta; exports.listInterventionFiles = listInterventionFiles; exports.parseCefLine = parseCefLine; exports.verifyChainForFile = verifyChainForFile; exports.readInterventionFile = readInterventionFile; exports.deleteInterventionFile = deleteInterventionFile; exports.getInterventionTaxonomy = getInterventionTaxonomy; exports.InterventionLog_exports = InterventionLog_exports;
463
- //# sourceMappingURL=chunk-G4WVDUBH.cjs.map
463
+ //# sourceMappingURL=chunk-4E7Z5K5U.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["d:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-G4WVDUBH.cjs"],"names":[],"mappings":"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AA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-G4WVDUBH.cjs","sourcesContent":[null]}
1
+ {"version":3,"sources":["d:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-4E7Z5K5U.cjs"],"names":[],"mappings":"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AA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-4E7Z5K5U.cjs","sourcesContent":[null]}
@@ -4,7 +4,7 @@ import {
4
4
  isPasswordInHistory,
5
5
  parsePassHistory,
6
6
  validatePasswordWithPolicy
7
- } from "./chunk-EOGZPRML.es.js";
7
+ } from "./chunk-A5CDJGJI.es.js";
8
8
  import {
9
9
  __name
10
10
  } from "./chunk-6U2I5EON.es.js";
@@ -84,4 +84,4 @@ export {
84
84
  nextPassHistory,
85
85
  verifyHostPassword
86
86
  };
87
- //# sourceMappingURL=chunk-DROOHKB3.es.js.map
87
+ //# sourceMappingURL=chunk-57UQJKSL.es.js.map
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  asRows,
3
3
  getDataServer,
4
+ normalizeStoreOpt,
4
5
  qNum,
5
6
  qStr,
6
7
  readJsonBlob,
7
8
  resolveStoreConfig,
8
9
  writeJsonBlob
9
- } from "./chunk-KUZQ36IJ.es.js";
10
+ } from "./chunk-ZQBHJRAO.es.js";
10
11
  import {
11
12
  __name
12
13
  } from "./chunk-6U2I5EON.es.js";
@@ -34,11 +35,112 @@ var FILE_USERS = "users.json";
34
35
  var FILE_SESSIONS = "sessions.json";
35
36
  var TABLE_USERS = "auth_users";
36
37
  var TABLE_SESSIONS = "auth_sessions";
38
+ var SCHEMA_PROBE_ID = "__schema_probe__";
39
+ var STORE_TYPE_LABELS = {
40
+ file: "File",
41
+ sqlite: "SQLite",
42
+ mysql: "MySQL"
43
+ };
44
+ var USER_TABLE_ENSURED = "_userStoreTablesEnsured";
45
+ var ensureUserTablesPromise = null;
37
46
  function getUserStoreConfig($asai) {
38
47
  const resolved = resolveStoreConfig($asai, "user");
39
- return { type: resolved.type, opt: resolved.opt };
48
+ const type = resolved.type;
49
+ return { type, opt: normalizeStoreOpt("user", type, resolved.opt) };
40
50
  }
41
51
  __name(getUserStoreConfig, "getUserStoreConfig");
52
+ function getUserStoreMeta($asai) {
53
+ const { type, opt } = getUserStoreConfig($asai);
54
+ const meta = {
55
+ type,
56
+ label: STORE_TYPE_LABELS[type] || type,
57
+ mode: type === "file" ? "json-blob" : type,
58
+ create: opt.create ?? 1
59
+ };
60
+ if (type === "file") {
61
+ meta.dir = opt.dir;
62
+ meta.ext = opt.ext || ".json";
63
+ meta.location = String(opt.dir || "");
64
+ } else if (type === "sqlite") {
65
+ meta.database = opt.database;
66
+ meta.location = String(opt.database || "");
67
+ } else if (type === "mysql") {
68
+ meta.host = opt.host;
69
+ meta.database = opt.database;
70
+ meta.location = `${opt.host || "127.0.0.1"}/${opt.database || "asai"}`;
71
+ }
72
+ return meta;
73
+ }
74
+ __name(getUserStoreMeta, "getUserStoreMeta");
75
+ function isTableMissing(err) {
76
+ const msg = String(err?.message || err || "");
77
+ return msg.includes("no such table") || msg.includes("doesn't exist");
78
+ }
79
+ __name(isTableMissing, "isTableMissing");
80
+ function sqlLiteralForField(field, dbType, marker) {
81
+ if (field === "id" && marker) return qStr(marker, dbType);
82
+ if ([
83
+ "lv",
84
+ "failCount",
85
+ "mustChangePassword",
86
+ "passwordChangedAt",
87
+ "createdAt",
88
+ "updatedAt",
89
+ "lockedUntil",
90
+ "expiresAt",
91
+ "lastActivityAt"
92
+ ].includes(field)) {
93
+ return qNum(0);
94
+ }
95
+ return qStr("", dbType);
96
+ }
97
+ __name(sqlLiteralForField, "sqlLiteralForField");
98
+ async function ensureSqlTable(db, table, fields, dbType, markerField) {
99
+ try {
100
+ await db.sqlDb({ type: "select", table, field: ["id"], limit: 1 });
101
+ return;
102
+ } catch (err) {
103
+ if (!isTableMissing(err)) throw err;
104
+ }
105
+ const marker = SCHEMA_PROBE_ID;
106
+ const valueRow = fields.map((f) => sqlLiteralForField(f, dbType, f === "id" ? marker : void 0));
107
+ await db.sqlDb({ type: "insert", table, field: [...fields], value: [valueRow] });
108
+ await db.sqlDb({
109
+ type: "delete",
110
+ table,
111
+ where: [[markerField, "=", qStr(marker, dbType)]]
112
+ });
113
+ }
114
+ __name(ensureSqlTable, "ensureSqlTable");
115
+ async function ensureUserStoreTables($asai) {
116
+ if ($asai[USER_TABLE_ENSURED]) return;
117
+ const cfg = getUserStoreConfig($asai);
118
+ if (cfg.type === "file") {
119
+ $asai[USER_TABLE_ENSURED] = true;
120
+ return;
121
+ }
122
+ if (!ensureUserTablesPromise) {
123
+ ensureUserTablesPromise = (async () => {
124
+ const db = getUserDataServer($asai);
125
+ await ensureSqlTable(db, TABLE_USERS, USER_FIELDS, cfg.type, "id");
126
+ await ensureSqlTable(db, TABLE_SESSIONS, SESSION_FIELDS, cfg.type, "id");
127
+ $asai[USER_TABLE_ENSURED] = true;
128
+ })();
129
+ }
130
+ try {
131
+ await ensureUserTablesPromise;
132
+ } catch (err) {
133
+ ensureUserTablesPromise = null;
134
+ throw err;
135
+ }
136
+ }
137
+ __name(ensureUserStoreTables, "ensureUserStoreTables");
138
+ async function beforeUserStoreOp($asai) {
139
+ if (getUserStoreConfig($asai).type !== "file") {
140
+ await ensureUserStoreTables($asai);
141
+ }
142
+ }
143
+ __name(beforeUserStoreOp, "beforeUserStoreOp");
42
144
  function getUserDataServer($asai) {
43
145
  return getDataServer($asai, "user");
44
146
  }
@@ -67,6 +169,7 @@ async function dbListUsers($asai) {
67
169
  if (cfg.type === "file") {
68
170
  return readJsonArray(db, FILE_USERS);
69
171
  }
172
+ await beforeUserStoreOp($asai);
70
173
  const res = await db.sqlDb({ type: "select", table: TABLE_USERS, field: [...USER_FIELDS] });
71
174
  return asRows(res).map((r) => rowToRecord(r, ["lv", "failCount", "lockedUntil", "mustChangePassword", "passwordChangedAt", "createdAt", "updatedAt"]));
72
175
  }
@@ -78,6 +181,7 @@ async function dbFindUser($asai, field, value) {
78
181
  const users = await readJsonArray(db, FILE_USERS);
79
182
  return users.find((u) => u[field] === value) || null;
80
183
  }
184
+ await beforeUserStoreOp($asai);
81
185
  const res = await db.sqlDb({
82
186
  type: "select",
83
187
  table: TABLE_USERS,
@@ -98,6 +202,7 @@ async function dbCreateUser($asai, user) {
98
202
  await writeJsonArray(db, FILE_USERS, users);
99
203
  return user;
100
204
  }
205
+ await beforeUserStoreOp($asai);
101
206
  await db.sqlDb({
102
207
  type: "insert",
103
208
  table: TABLE_USERS,
@@ -127,6 +232,7 @@ async function dbUpdateUser($asai, us, patch) {
127
232
  await writeJsonArray(db, FILE_USERS, users);
128
233
  return merged;
129
234
  }
235
+ await beforeUserStoreOp($asai);
130
236
  const sets = [];
131
237
  for (const [key, val] of Object.entries(patch)) {
132
238
  if (val === void 0) continue;
@@ -149,6 +255,7 @@ async function dbListSessions($asai) {
149
255
  if (cfg.type === "file") {
150
256
  return readJsonArray(db, FILE_SESSIONS);
151
257
  }
258
+ await beforeUserStoreOp($asai);
152
259
  const res = await db.sqlDb({ type: "select", table: TABLE_SESSIONS, field: [...SESSION_FIELDS] });
153
260
  return asRows(res).map((r) => rowToRecord(r, ["createdAt", "expiresAt", "lastActivityAt"]));
154
261
  }
@@ -160,6 +267,7 @@ async function dbWriteSessions($asai, sessions) {
160
267
  await writeJsonArray(db, FILE_SESSIONS, sessions);
161
268
  return;
162
269
  }
270
+ await beforeUserStoreOp($asai);
163
271
  const existing = await dbListSessions($asai);
164
272
  for (const s of existing) {
165
273
  await db.sqlDb({
@@ -193,6 +301,7 @@ async function dbAddSession($asai, session) {
193
301
  await writeJsonArray(db, FILE_SESSIONS, sessions);
194
302
  return;
195
303
  }
304
+ await beforeUserStoreOp($asai);
196
305
  await db.sqlDb({
197
306
  type: "insert",
198
307
  table: TABLE_SESSIONS,
@@ -219,6 +328,7 @@ async function dbRemoveSession($asai, sessionId) {
219
328
  );
220
329
  return;
221
330
  }
331
+ await beforeUserStoreOp($asai);
222
332
  await db.sqlDb({
223
333
  type: "delete",
224
334
  table: TABLE_SESSIONS,
@@ -238,6 +348,7 @@ async function dbRemoveSessionsByUser($asai, us) {
238
348
  );
239
349
  return;
240
350
  }
351
+ await beforeUserStoreOp($asai);
241
352
  await db.sqlDb({
242
353
  type: "delete",
243
354
  table: TABLE_SESSIONS,
@@ -258,6 +369,7 @@ async function dbDeleteUser($asai, us) {
258
369
  await writeJsonArray(db, FILE_USERS, next);
259
370
  return true;
260
371
  }
372
+ await beforeUserStoreOp($asai);
261
373
  await db.sqlDb({
262
374
  type: "delete",
263
375
  table: TABLE_USERS,
@@ -271,42 +383,55 @@ __name(dbDeleteUser, "dbDeleteUser");
271
383
  import { createHash } from "crypto";
272
384
 
273
385
  // src/sysserver/api/login/service/user-level-config.ts
274
- import fs from "fs/promises";
275
- import path from "path";
386
+ import fs2 from "fs/promises";
387
+ import path2 from "path";
276
388
 
277
389
  // src/sysserver/api/login/service/route-defaults.ts
278
- var DEFAULT_ROUTE_RIGHTS = [
279
- { route: "testkdd", title: "testkdd", minLv: 0, public: true },
280
- { route: "testkdd/testindex", title: "\u529F\u80FD\u603B\u89C8", minLv: 0, public: true },
281
- { route: "user/login", title: "\u7528\u6237\u767B\u5F55", minLv: 0, public: true },
282
- { route: "user/reg", title: "\u7528\u6237\u6CE8\u518C", minLv: 0, public: true },
283
- { route: "user/exit", title: "\u9000\u51FA\u767B\u5F55", minLv: 0, public: true },
284
- { route: "testkdd/testerrorcodes", title: "\u9519\u8BEF\u7801\u6CE8\u518C\u8868", minLv: 0, public: true },
285
- { route: "testkdd/testhealth", title: "\u5065\u5EB7\u76D1\u63A7", minLv: 0, public: true },
286
- { route: "testkdd/testauth", title: "\u8BA4\u8BC1\u5B9E\u9A8C\u5BA4", minLv: 0, public: true },
287
- { route: "testkdd/testasdb", title: "AsDb \u603B\u89C8", minLv: 0, public: true },
288
- { route: "testkdd/testasdbfile", title: "AsDb \u6587\u4EF6", minLv: 0, public: true },
289
- { route: "testkdd/testasdbsqlite", title: "AsDb SQLite", minLv: 0, public: true },
290
- { route: "testkdd/testmfc", title: "AES MFC", minLv: 0, public: true },
291
- { route: "testkdd/testws", title: "WebSocket", minLv: 0, public: true },
292
- { route: "testkdd/testchat", title: "WS \u804A\u5929\u5BA4", minLv: 0, public: true },
293
- { route: "testkdd/testascss", title: "AsCss", minLv: 0, public: true },
294
- { route: "testkdd/testpopbox", title: "\u5F39\u7A97\u7EC4\u4EF6", minLv: 0, public: true },
295
- { route: "testkdd/testaes", title: "AES \u52A0\u89E3\u5BC6", minLv: 0, public: true },
296
- { route: "testkdd/testdirectives", title: "Vue \u6307\u4EE4", minLv: 0, public: true },
297
- { route: "testkdd/testjsonp", title: "JSONP", minLv: 0, public: true },
298
- { route: "testkdd/testlv1", title: "\u6743\u9650\u6F14\u793A\xB7\u64CD\u4F5C\u5458", minLv: 3 },
299
- { route: "testkdd/testlv2", title: "\u6743\u9650\u6F14\u793A\xB7\u7BA1\u7406\u5458", minLv: 7 },
300
- { route: "testkdd/testlv3", title: "\u6743\u9650\u6F14\u793A\xB7\u5F00\u53D1\u8005", minLv: 9 },
301
- { route: "testkdd/testlog", title: "IEC62443 \u65E5\u5FD7", minLv: 3 },
302
- { route: "user/manage", title: "\u7528\u6237\u7BA1\u7406", minLv: 7 }
303
- ];
390
+ import fs from "fs";
391
+ import path from "path";
392
+ var DEFAULT_CATALOG_REL = "../webclient/public/webmodel/sys/testkdd/route-catalog.json";
304
393
  var LEGACY_RIGHTS_MIN_LV = {
305
394
  lv0: 0,
306
395
  lv1: 3,
307
396
  lv2: 7,
308
397
  lv3: 9
309
398
  };
399
+ var cachedCatalog = null;
400
+ function resolveRouteCatalogPath($asai) {
401
+ const custom = $asai?.hostconfig?.security?.routeCatalogPath;
402
+ const root = $asai?.serverRoot || process.cwd();
403
+ if (custom) {
404
+ return path.isAbsolute(custom) ? custom : path.resolve(root, String(custom));
405
+ }
406
+ return path.resolve(root, DEFAULT_CATALOG_REL);
407
+ }
408
+ __name(resolveRouteCatalogPath, "resolveRouteCatalogPath");
409
+ function catalogItemsToRouteRights(items) {
410
+ const out = [];
411
+ for (const item of items) {
412
+ const row = normalizeRouteRight(item);
413
+ if (row) out.push(row);
414
+ }
415
+ return out;
416
+ }
417
+ __name(catalogItemsToRouteRights, "catalogItemsToRouteRights");
418
+ function loadRouteCatalogAsRights($asai, refresh = false) {
419
+ const file = resolveRouteCatalogPath($asai);
420
+ if (!refresh && cachedCatalog?.file === file) {
421
+ return cachedCatalog.rights.map((r) => ({ ...r }));
422
+ }
423
+ try {
424
+ const text = fs.readFileSync(file, "utf8");
425
+ const parsed = JSON.parse(text);
426
+ const rights = catalogItemsToRouteRights(Array.isArray(parsed?.items) ? parsed.items : []);
427
+ cachedCatalog = { file, rights };
428
+ return rights.map((r) => ({ ...r }));
429
+ } catch {
430
+ cachedCatalog = { file, rights: [] };
431
+ return [];
432
+ }
433
+ }
434
+ __name(loadRouteCatalogAsRights, "loadRouteCatalogAsRights");
310
435
  function normalizeRouteRight(item) {
311
436
  if (!item || typeof item !== "object") return null;
312
437
  const route = String(item.route || "").trim().replace(/^\/+|\/+$/g, "");
@@ -352,6 +477,7 @@ function routesFromLegacyRights(rights, titles) {
352
477
  __name(routesFromLegacyRights, "routesFromLegacyRights");
353
478
 
354
479
  // src/sysserver/api/login/service/user-level-config.ts
480
+ var DEFAULT_RESET_PASSWORD = "Asai@1234";
355
481
  var DEFAULT_LEVELS = [
356
482
  { lv: 0, key: "guest", name: "\u666E\u901A\u7528\u6237", nameEn: "Guest" },
357
483
  { lv: 3, key: "operator", name: "\u64CD\u4F5C\u5458", nameEn: "Operator" },
@@ -368,7 +494,7 @@ var DEFAULT_THRESHOLDS = {
368
494
  var META_FILE = "_meta/user-levels.json";
369
495
  function configPath($asai) {
370
496
  const dir = String(getUserStoreConfig($asai).opt?.dir || "webdata/webdb/users/");
371
- return path.resolve(dir, META_FILE);
497
+ return path2.resolve(dir, META_FILE);
372
498
  }
373
499
  __name(configPath, "configPath");
374
500
  function fromHostLevels($asai) {
@@ -402,8 +528,14 @@ function fromHostThresholds($asai) {
402
528
  }
403
529
  __name(fromHostThresholds, "fromHostThresholds");
404
530
  function getDefaultRouteRights($asai) {
531
+ let base = loadRouteCatalogAsRights($asai);
532
+ if (!base.length) {
533
+ const legacy2 = $asai?.hostconfig?.security?.routerRights;
534
+ if (legacy2 && typeof legacy2 === "object") {
535
+ base = routesFromLegacyRights(legacy2);
536
+ }
537
+ }
405
538
  const fromHost = $asai?.hostconfig?.security?.routeRights;
406
- let base = DEFAULT_ROUTE_RIGHTS.map((r) => ({ ...r }));
407
539
  if (Array.isArray(fromHost) && fromHost.length) {
408
540
  const parsed = [];
409
541
  for (const item of fromHost) {
@@ -413,7 +545,7 @@ function getDefaultRouteRights($asai) {
413
545
  if (parsed.length) base = mergeRouteRights(base, parsed);
414
546
  }
415
547
  const legacy = $asai?.hostconfig?.security?.routerRights;
416
- if (legacy && typeof legacy === "object") {
548
+ if (legacy && typeof legacy === "object" && base.length) {
417
549
  base = mergeRouteRights(base, routesFromLegacyRights(legacy));
418
550
  }
419
551
  return base;
@@ -469,15 +601,25 @@ function normalizeUserLevelConfig(input, $asai) {
469
601
  adminRead: Number.isFinite(Number(th.adminRead)) ? Number(th.adminRead) : base.thresholds.adminRead,
470
602
  adminWrite: Number.isFinite(Number(th.adminWrite)) ? Number(th.adminWrite) : base.thresholds.adminWrite
471
603
  };
604
+ const syncedPwd = synced.defaultResetPassword;
605
+ const inputPwd = typeof input.defaultResetPassword === "string" ? input.defaultResetPassword.trim() : "";
606
+ const defaultResetPassword = inputPwd || syncedPwd || DEFAULT_RESET_PASSWORD;
472
607
  return {
473
608
  levels,
474
609
  thresholds,
475
610
  routeRights: normalizeRouteRightsList(input.routeRights, base.routeRights || getDefaultRouteRights($asai)),
611
+ defaultResetPassword,
476
612
  updatedAt: input.updatedAt,
477
613
  updatedBy: input.updatedBy
478
614
  };
479
615
  }
480
616
  __name(normalizeUserLevelConfig, "normalizeUserLevelConfig");
617
+ function getDefaultResetPassword($asai) {
618
+ const cfg = getUserLevelConfigSync($asai);
619
+ const pwd = String(cfg.defaultResetPassword || "").trim();
620
+ return pwd || DEFAULT_RESET_PASSWORD;
621
+ }
622
+ __name(getDefaultResetPassword, "getDefaultResetPassword");
481
623
  function normalizeRouteRightsList(raw, fallback) {
482
624
  if (!Array.isArray(raw) || !raw.length) return fallback.map((r) => ({ ...r }));
483
625
  const parsed = [];
@@ -491,6 +633,36 @@ function normalizeRouteRightsList(raw, fallback) {
491
633
  return parsed.length ? parsed : fallback.map((r) => ({ ...r }));
492
634
  }
493
635
  __name(normalizeRouteRightsList, "normalizeRouteRightsList");
636
+ function looksLikeMojibake(text) {
637
+ if (!text) return false;
638
+ if (/[\u4e00-\u9fff]/.test(text)) return false;
639
+ if (/^[\x20-\x7e]+$/.test(text)) return false;
640
+ return true;
641
+ }
642
+ __name(looksLikeMojibake, "looksLikeMojibake");
643
+ function repairUserLevelConfig(cfg, $asai) {
644
+ let repaired = false;
645
+ const levels = cfg.levels.map((l) => {
646
+ const def = DEFAULT_LEVELS.find((d) => d.lv === l.lv || d.key === l.key);
647
+ if (def && looksLikeMojibake(l.name)) {
648
+ repaired = true;
649
+ return { ...l, name: def.name, nameEn: l.nameEn || def.nameEn };
650
+ }
651
+ return l;
652
+ });
653
+ const catalogMap = new Map(loadRouteCatalogAsRights($asai, true).map((r) => [r.route, r]));
654
+ const routeRights = (cfg.routeRights || []).map((r) => {
655
+ const cat = catalogMap.get(r.route);
656
+ if (cat?.title && looksLikeMojibake(r.title)) {
657
+ repaired = true;
658
+ return { ...r, title: cat.title };
659
+ }
660
+ return r;
661
+ });
662
+ if (!repaired) return { cfg, repaired: false };
663
+ return { cfg: { ...cfg, levels, routeRights }, repaired: true };
664
+ }
665
+ __name(repairUserLevelConfig, "repairUserLevelConfig");
494
666
  function validateUserLevelConfig(cfg) {
495
667
  if (!cfg.levels.length) return "LEVELS_EMPTY";
496
668
  const keys = /* @__PURE__ */ new Set();
@@ -518,14 +690,20 @@ __name(getUserLevelConfigSync, "getUserLevelConfigSync");
518
690
  async function loadUserLevelConfig($asai) {
519
691
  const file = configPath($asai);
520
692
  try {
521
- const text = await fs.readFile(file, "utf8");
693
+ const text = await fs2.readFile(file, "utf8");
522
694
  const parsed = JSON.parse(text);
523
- const cfg = normalizeUserLevelConfig(parsed, $asai);
695
+ let cfg = normalizeUserLevelConfig(parsed, $asai);
524
696
  const err = validateUserLevelConfig(cfg);
525
697
  if (err) {
526
698
  $asai._userLevelConfig = getDefaultUserLevelConfig($asai);
527
699
  } else {
700
+ const { cfg: fixed, repaired } = repairUserLevelConfig(cfg, $asai);
701
+ cfg = fixed;
528
702
  $asai._userLevelConfig = cfg;
703
+ if (repaired) {
704
+ await fs2.mkdir(path2.dirname(file), { recursive: true });
705
+ await fs2.writeFile(file, JSON.stringify(cfg, null, 2), "utf8");
706
+ }
529
707
  }
530
708
  } catch {
531
709
  $asai._userLevelConfig = getDefaultUserLevelConfig($asai);
@@ -537,11 +715,15 @@ async function saveUserLevelConfig($asai, input, updatedBy) {
537
715
  const cfg = normalizeUserLevelConfig(input, $asai);
538
716
  const err = validateUserLevelConfig(cfg);
539
717
  if (err) throw new Error(err);
718
+ const pwd = String(cfg.defaultResetPassword || "").trim() || DEFAULT_RESET_PASSWORD;
719
+ const policyErr = validatePasswordWithPolicy(pwd, getPasswordPolicy($asai));
720
+ if (policyErr) throw new Error(policyErr);
721
+ cfg.defaultResetPassword = pwd;
540
722
  cfg.updatedAt = Date.now();
541
723
  cfg.updatedBy = updatedBy;
542
724
  const file = configPath($asai);
543
- await fs.mkdir(path.dirname(file), { recursive: true });
544
- await fs.writeFile(file, JSON.stringify(cfg, null, 2), "utf8");
725
+ await fs2.mkdir(path2.dirname(file), { recursive: true });
726
+ await fs2.writeFile(file, JSON.stringify(cfg, null, 2), "utf8");
545
727
  $asai._userLevelConfig = cfg;
546
728
  return cfg;
547
729
  }
@@ -707,12 +889,14 @@ function getPublicSecurityConfig($asai, lang = "zh-CN") {
707
889
  sessionIdleMinutes: getSessionIdleMinutes($asai),
708
890
  roles: getRoleDefinitions($asai).map((r) => ({ name: r.name, minLv: r.minLv })),
709
891
  userLevels: toPublicUserLevels($asai, lang),
710
- allowRegister: getSecurityBlock($asai).allowRegister !== 0
892
+ allowRegister: getSecurityBlock($asai).allowRegister !== 0,
893
+ userStore: getUserStoreMeta($asai)
711
894
  };
712
895
  }
713
896
  __name(getPublicSecurityConfig, "getPublicSecurityConfig");
714
897
 
715
898
  export {
899
+ ensureUserStoreTables,
716
900
  dbListUsers,
717
901
  dbFindUser,
718
902
  dbCreateUser,
@@ -723,6 +907,7 @@ export {
723
907
  dbRemoveSession,
724
908
  dbRemoveSessionsByUser,
725
909
  dbDeleteUser,
910
+ getDefaultResetPassword,
726
911
  getUserLevelConfigSync,
727
912
  loadUserLevelConfig,
728
913
  saveUserLevelConfig,
@@ -737,4 +922,4 @@ export {
737
922
  isPasswordExpired,
738
923
  getPublicSecurityConfig
739
924
  };
740
- //# sourceMappingURL=chunk-EOGZPRML.es.js.map
925
+ //# sourceMappingURL=chunk-A5CDJGJI.es.js.map