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.
- package/README.md +76 -25
- package/dist/InterventionLog-CRP6YJVM.cjs +30 -0
- package/dist/{InterventionLog-25EHE4QR.cjs.map → InterventionLog-CRP6YJVM.cjs.map} +1 -1
- package/dist/{InterventionLog-R6CCPU2B.es.js → InterventionLog-PZT2CCN3.es.js} +5 -5
- package/dist/LogStore-7MTUQA4G.cjs +54 -0
- package/dist/{LogStore-M2AUBNGO.cjs.map → LogStore-7MTUQA4G.cjs.map} +1 -1
- package/dist/{LogStore-ECXX34WC.es.js → LogStore-Q35YFNAY.es.js} +3 -3
- package/dist/asaihost-nodejs.cjs +1304 -1447
- package/dist/asaihost-nodejs.cjs.map +1 -1
- package/dist/asaihost-nodejs.d.cts +154 -17
- package/dist/asaihost-nodejs.d.ts +154 -17
- package/dist/asaihost-nodejs.es.js +921 -1064
- package/dist/asaihost-nodejs.es.js.map +1 -1
- package/dist/{chunk-HHPGUJ75.cjs → chunk-2BCIIKRG.cjs} +13 -6
- package/dist/chunk-2BCIIKRG.cjs.map +1 -0
- package/dist/{chunk-G4WVDUBH.cjs → chunk-4E7Z5K5U.cjs} +7 -7
- package/dist/{chunk-G4WVDUBH.cjs.map → chunk-4E7Z5K5U.cjs.map} +1 -1
- package/dist/{chunk-DROOHKB3.es.js → chunk-57UQJKSL.es.js} +2 -2
- package/dist/{chunk-EOGZPRML.es.js → chunk-A5CDJGJI.es.js} +224 -39
- package/dist/chunk-A5CDJGJI.es.js.map +1 -0
- package/dist/{chunk-E7V3EBDB.es.js → chunk-A6VJPLDD.es.js} +5 -3
- package/dist/chunk-A6VJPLDD.es.js.map +1 -0
- package/dist/{chunk-X7VHW2TD.cjs → chunk-H3K33HBA.cjs} +249 -64
- package/dist/chunk-H3K33HBA.cjs.map +1 -0
- package/dist/{chunk-KOFCBB3N.cjs → chunk-K2QPSQEV.cjs} +9 -9
- package/dist/{chunk-KOFCBB3N.cjs.map → chunk-K2QPSQEV.cjs.map} +1 -1
- package/dist/{chunk-LOMSUPPU.es.js → chunk-LTEP4XB2.es.js} +6 -6
- package/dist/{chunk-QWVR2HNT.cjs → chunk-LXJMGLKW.cjs} +21 -19
- package/dist/chunk-LXJMGLKW.cjs.map +1 -0
- package/dist/{chunk-4WJDC4M4.es.js → chunk-NLZNIGNF.es.js} +2 -2
- package/dist/chunk-NLZNIGNF.es.js.map +1 -0
- package/dist/{chunk-W7DVKGX5.cjs → chunk-OCEBEEP5.cjs} +2 -2
- package/dist/{chunk-W7DVKGX5.cjs.map → chunk-OCEBEEP5.cjs.map} +1 -1
- package/dist/{chunk-NLBFIRDB.cjs → chunk-RIRKIYET.cjs} +12 -12
- package/dist/{chunk-NLBFIRDB.cjs.map → chunk-RIRKIYET.cjs.map} +1 -1
- package/dist/{chunk-XBIN4C2V.es.js → chunk-SB23ESX2.es.js} +2 -2
- package/dist/{chunk-VLMM735Q.cjs → chunk-TKJAHTPO.cjs} +26 -26
- package/dist/{chunk-VLMM735Q.cjs.map → chunk-TKJAHTPO.cjs.map} +1 -1
- package/dist/{chunk-MCMADJQR.es.js → chunk-VUZO7DCA.es.js} +4 -4
- package/dist/chunk-VUZO7DCA.es.js.map +1 -0
- package/dist/{chunk-KUZQ36IJ.es.js → chunk-ZQBHJRAO.es.js} +10 -3
- package/dist/chunk-ZQBHJRAO.es.js.map +1 -0
- package/dist/intervention-hooks-KF3SNB5Q.cjs +21 -0
- package/dist/{intervention-hooks-LE6X4C6N.cjs.map → intervention-hooks-KF3SNB5Q.cjs.map} +1 -1
- package/dist/{intervention-hooks-FI4EHOL5.es.js → intervention-hooks-TCGIC4IV.es.js} +6 -6
- package/dist/log-formats-TUXGMCCU.cjs +31 -0
- package/dist/{log-formats-FKFMQKNO.cjs.map → log-formats-TUXGMCCU.cjs.map} +1 -1
- package/dist/{log-formats-I5E32H5F.es.js → log-formats-WW3TDUAK.es.js} +2 -2
- package/dist/{password-63OY27RX.es.js → password-4BABWAG4.es.js} +4 -4
- package/dist/password-PJHJRGPE.cjs +20 -0
- package/dist/{password-NZ5EGDWG.cjs.map → password-PJHJRGPE.cjs.map} +1 -1
- package/dist/user-store-6J2PSEIN.cjs +12 -0
- package/dist/{user-store-SX4N6PQ4.cjs.map → user-store-6J2PSEIN.cjs.map} +1 -1
- package/dist/user-store-UC5URX3C.es.js +12 -0
- package/package.json +2 -13
- package/dist/InterventionLog-25EHE4QR.cjs +0 -30
- package/dist/LogStore-M2AUBNGO.cjs +0 -54
- package/dist/chunk-4WJDC4M4.es.js.map +0 -1
- package/dist/chunk-E7V3EBDB.es.js.map +0 -1
- package/dist/chunk-EOGZPRML.es.js.map +0 -1
- package/dist/chunk-HHPGUJ75.cjs.map +0 -1
- package/dist/chunk-KUZQ36IJ.es.js.map +0 -1
- package/dist/chunk-MCMADJQR.es.js.map +0 -1
- package/dist/chunk-QWVR2HNT.cjs.map +0 -1
- package/dist/chunk-X7VHW2TD.cjs.map +0 -1
- package/dist/intervention-hooks-LE6X4C6N.cjs +0 -21
- package/dist/log-formats-FKFMQKNO.cjs +0 -31
- package/dist/password-NZ5EGDWG.cjs +0 -20
- package/dist/user-store-J7LWEXSW.es.js +0 -12
- package/dist/user-store-SX4N6PQ4.cjs +0 -12
- /package/dist/{InterventionLog-R6CCPU2B.es.js.map → InterventionLog-PZT2CCN3.es.js.map} +0 -0
- /package/dist/{LogStore-ECXX34WC.es.js.map → LogStore-Q35YFNAY.es.js.map} +0 -0
- /package/dist/{chunk-DROOHKB3.es.js.map → chunk-57UQJKSL.es.js.map} +0 -0
- /package/dist/{chunk-LOMSUPPU.es.js.map → chunk-LTEP4XB2.es.js.map} +0 -0
- /package/dist/{chunk-XBIN4C2V.es.js.map → chunk-SB23ESX2.es.js.map} +0 -0
- /package/dist/{intervention-hooks-FI4EHOL5.es.js.map → intervention-hooks-TCGIC4IV.es.js.map} +0 -0
- /package/dist/{log-formats-I5E32H5F.es.js.map → log-formats-WW3TDUAK.es.js.map} +0 -0
- /package/dist/{password-63OY27RX.es.js.map → password-4BABWAG4.es.js.map} +0 -0
- /package/dist/{user-store-J7LWEXSW.es.js.map → user-store-UC5URX3C.es.js.map} +0 -0
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
var _chunk2BCIIKRGcjs = require('./chunk-2BCIIKRG.cjs');
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
var _chunkSMVZ3ZDJcjs = require('./chunk-SMVZ3ZDJ.cjs');
|
|
@@ -34,13 +35,114 @@ 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
|
-
const resolved =
|
|
39
|
-
|
|
47
|
+
const resolved = _chunk2BCIIKRGcjs.resolveStoreConfig.call(void 0, $asai, "user");
|
|
48
|
+
const type = resolved.type;
|
|
49
|
+
return { type, opt: _chunk2BCIIKRGcjs.normalizeStoreOpt.call(void 0, "user", type, resolved.opt) };
|
|
40
50
|
}
|
|
41
51
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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: _nullishCoalesce(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
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, getUserStoreMeta, "getUserStoreMeta");
|
|
75
|
+
function isTableMissing(err) {
|
|
76
|
+
const msg = String(_optionalChain([err, 'optionalAccess', _ => _.message]) || err || "");
|
|
77
|
+
return msg.includes("no such table") || msg.includes("doesn't exist");
|
|
78
|
+
}
|
|
79
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, isTableMissing, "isTableMissing");
|
|
80
|
+
function sqlLiteralForField(field, dbType, marker) {
|
|
81
|
+
if (field === "id" && marker) return _chunk2BCIIKRGcjs.qStr.call(void 0, 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 _chunk2BCIIKRGcjs.qNum.call(void 0, 0);
|
|
94
|
+
}
|
|
95
|
+
return _chunk2BCIIKRGcjs.qStr.call(void 0, "", dbType);
|
|
96
|
+
}
|
|
97
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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, "=", _chunk2BCIIKRGcjs.qStr.call(void 0, marker, dbType)]]
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, ensureUserStoreTables, "ensureUserStoreTables");
|
|
138
|
+
async function beforeUserStoreOp($asai) {
|
|
139
|
+
if (getUserStoreConfig($asai).type !== "file") {
|
|
140
|
+
await ensureUserStoreTables($asai);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, beforeUserStoreOp, "beforeUserStoreOp");
|
|
42
144
|
function getUserDataServer($asai) {
|
|
43
|
-
return
|
|
145
|
+
return _chunk2BCIIKRGcjs.getDataServer.call(void 0, $asai, "user");
|
|
44
146
|
}
|
|
45
147
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, getUserDataServer, "getUserDataServer");
|
|
46
148
|
function rowToRecord(row, numericKeys) {
|
|
@@ -54,11 +156,11 @@ function rowToRecord(row, numericKeys) {
|
|
|
54
156
|
}
|
|
55
157
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, rowToRecord, "rowToRecord");
|
|
56
158
|
async function readJsonArray(db, filename) {
|
|
57
|
-
return
|
|
159
|
+
return _chunk2BCIIKRGcjs.readJsonBlob.call(void 0, db, filename);
|
|
58
160
|
}
|
|
59
161
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, readJsonArray, "readJsonArray");
|
|
60
162
|
async function writeJsonArray(db, filename, data) {
|
|
61
|
-
await
|
|
163
|
+
await _chunk2BCIIKRGcjs.writeJsonBlob.call(void 0, db, filename, data);
|
|
62
164
|
}
|
|
63
165
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, writeJsonArray, "writeJsonArray");
|
|
64
166
|
async function dbListUsers($asai) {
|
|
@@ -67,8 +169,9 @@ 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
|
-
return
|
|
174
|
+
return _chunk2BCIIKRGcjs.asRows.call(void 0, res).map((r) => rowToRecord(r, ["lv", "failCount", "lockedUntil", "mustChangePassword", "passwordChangedAt", "createdAt", "updatedAt"]));
|
|
72
175
|
}
|
|
73
176
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, dbListUsers, "dbListUsers");
|
|
74
177
|
async function dbFindUser($asai, field, value) {
|
|
@@ -78,14 +181,15 @@ 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,
|
|
84
188
|
field: [...USER_FIELDS],
|
|
85
|
-
where: [[field, "=",
|
|
189
|
+
where: [[field, "=", _chunk2BCIIKRGcjs.qStr.call(void 0, value, cfg.type)]],
|
|
86
190
|
limit: 1
|
|
87
191
|
});
|
|
88
|
-
const rows =
|
|
192
|
+
const rows = _chunk2BCIIKRGcjs.asRows.call(void 0, res);
|
|
89
193
|
return rows.length ? rowToRecord(rows[0], ["lv", "failCount", "lockedUntil", "mustChangePassword", "passwordChangedAt", "createdAt", "updatedAt"]) : null;
|
|
90
194
|
}
|
|
91
195
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, dbFindUser, "dbFindUser");
|
|
@@ -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,
|
|
@@ -105,8 +210,8 @@ async function dbCreateUser($asai, user) {
|
|
|
105
210
|
value: [
|
|
106
211
|
USER_FIELDS.map((f) => {
|
|
107
212
|
const v = user[f];
|
|
108
|
-
if (typeof v === "number") return
|
|
109
|
-
return
|
|
213
|
+
if (typeof v === "number") return _chunk2BCIIKRGcjs.qNum.call(void 0, v);
|
|
214
|
+
return _chunk2BCIIKRGcjs.qStr.call(void 0, v == null ? "" : String(v), cfg.type);
|
|
110
215
|
})
|
|
111
216
|
]
|
|
112
217
|
});
|
|
@@ -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;
|
|
@@ -138,7 +244,7 @@ async function dbUpdateUser($asai, us, patch) {
|
|
|
138
244
|
type: "update",
|
|
139
245
|
table: TABLE_USERS,
|
|
140
246
|
set: sets,
|
|
141
|
-
where: [["us", "=",
|
|
247
|
+
where: [["us", "=", _chunk2BCIIKRGcjs.qStr.call(void 0, us, cfg.type)]]
|
|
142
248
|
});
|
|
143
249
|
return merged;
|
|
144
250
|
}
|
|
@@ -149,8 +255,9 @@ 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
|
-
return
|
|
260
|
+
return _chunk2BCIIKRGcjs.asRows.call(void 0, res).map((r) => rowToRecord(r, ["createdAt", "expiresAt", "lastActivityAt"]));
|
|
154
261
|
}
|
|
155
262
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, dbListSessions, "dbListSessions");
|
|
156
263
|
async function dbWriteSessions($asai, sessions) {
|
|
@@ -160,12 +267,13 @@ 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({
|
|
166
274
|
type: "delete",
|
|
167
275
|
table: TABLE_SESSIONS,
|
|
168
|
-
where: [["id", "=",
|
|
276
|
+
where: [["id", "=", _chunk2BCIIKRGcjs.qStr.call(void 0, String(s.id), cfg.type)]]
|
|
169
277
|
});
|
|
170
278
|
}
|
|
171
279
|
for (const s of sessions) {
|
|
@@ -176,8 +284,8 @@ async function dbWriteSessions($asai, sessions) {
|
|
|
176
284
|
value: [
|
|
177
285
|
SESSION_FIELDS.map((f) => {
|
|
178
286
|
const v = s[f];
|
|
179
|
-
if (typeof v === "number") return
|
|
180
|
-
return
|
|
287
|
+
if (typeof v === "number") return _chunk2BCIIKRGcjs.qNum.call(void 0, v);
|
|
288
|
+
return _chunk2BCIIKRGcjs.qStr.call(void 0, v == null ? "" : String(v), cfg.type);
|
|
181
289
|
})
|
|
182
290
|
]
|
|
183
291
|
});
|
|
@@ -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,
|
|
@@ -200,8 +309,8 @@ async function dbAddSession($asai, session) {
|
|
|
200
309
|
value: [
|
|
201
310
|
SESSION_FIELDS.map((f) => {
|
|
202
311
|
const v = session[f];
|
|
203
|
-
if (typeof v === "number") return
|
|
204
|
-
return
|
|
312
|
+
if (typeof v === "number") return _chunk2BCIIKRGcjs.qNum.call(void 0, v);
|
|
313
|
+
return _chunk2BCIIKRGcjs.qStr.call(void 0, v == null ? "" : String(v), cfg.type);
|
|
205
314
|
})
|
|
206
315
|
]
|
|
207
316
|
});
|
|
@@ -219,10 +328,11 @@ 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,
|
|
225
|
-
where: [["id", "=",
|
|
335
|
+
where: [["id", "=", _chunk2BCIIKRGcjs.qStr.call(void 0, sessionId, cfg.type)]]
|
|
226
336
|
});
|
|
227
337
|
}
|
|
228
338
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, dbRemoveSession, "dbRemoveSession");
|
|
@@ -238,10 +348,11 @@ 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,
|
|
244
|
-
where: [["us", "=",
|
|
355
|
+
where: [["us", "=", _chunk2BCIIKRGcjs.qStr.call(void 0, us, cfg.type)]]
|
|
245
356
|
});
|
|
246
357
|
}
|
|
247
358
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, dbRemoveSessionsByUser, "dbRemoveSessionsByUser");
|
|
@@ -258,10 +369,11 @@ 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,
|
|
264
|
-
where: [["us", "=",
|
|
376
|
+
where: [["us", "=", _chunk2BCIIKRGcjs.qStr.call(void 0, us, cfg.type)]]
|
|
265
377
|
});
|
|
266
378
|
return true;
|
|
267
379
|
}
|
|
@@ -275,38 +387,51 @@ var _promises = require('fs/promises'); var _promises2 = _interopRequireDefault(
|
|
|
275
387
|
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
276
388
|
|
|
277
389
|
// src/sysserver/api/login/service/route-defaults.ts
|
|
278
|
-
var
|
|
279
|
-
|
|
280
|
-
|
|
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
|
+
var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
|
|
391
|
+
|
|
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 = _optionalChain([$asai, 'optionalAccess', _2 => _2.hostconfig, 'optionalAccess', _3 => _3.security, 'optionalAccess', _4 => _4.routeCatalogPath]);
|
|
402
|
+
const root = _optionalChain([$asai, 'optionalAccess', _5 => _5.serverRoot]) || process.cwd();
|
|
403
|
+
if (custom) {
|
|
404
|
+
return _path2.default.isAbsolute(custom) ? custom : _path2.default.resolve(root, String(custom));
|
|
405
|
+
}
|
|
406
|
+
return _path2.default.resolve(root, DEFAULT_CATALOG_REL);
|
|
407
|
+
}
|
|
408
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, catalogItemsToRouteRights, "catalogItemsToRouteRights");
|
|
418
|
+
function loadRouteCatalogAsRights($asai, refresh = false) {
|
|
419
|
+
const file = resolveRouteCatalogPath($asai);
|
|
420
|
+
if (!refresh && _optionalChain([cachedCatalog, 'optionalAccess', _6 => _6.file]) === file) {
|
|
421
|
+
return cachedCatalog.rights.map((r) => ({ ...r }));
|
|
422
|
+
}
|
|
423
|
+
try {
|
|
424
|
+
const text = _fs2.default.readFileSync(file, "utf8");
|
|
425
|
+
const parsed = JSON.parse(text);
|
|
426
|
+
const rights = catalogItemsToRouteRights(Array.isArray(_optionalChain([parsed, 'optionalAccess', _7 => _7.items])) ? parsed.items : []);
|
|
427
|
+
cachedCatalog = { file, rights };
|
|
428
|
+
return rights.map((r) => ({ ...r }));
|
|
429
|
+
} catch (e) {
|
|
430
|
+
cachedCatalog = { file, rights: [] };
|
|
431
|
+
return [];
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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, "");
|
|
@@ -341,7 +466,7 @@ function routesFromLegacyRights(rights, titles) {
|
|
|
341
466
|
if (!r) continue;
|
|
342
467
|
out.push({
|
|
343
468
|
route: r,
|
|
344
|
-
title: _optionalChain([titles, 'optionalAccess',
|
|
469
|
+
title: _optionalChain([titles, 'optionalAccess', _8 => _8[r]]),
|
|
345
470
|
minLv,
|
|
346
471
|
public: minLv === 0
|
|
347
472
|
});
|
|
@@ -352,6 +477,7 @@ function routesFromLegacyRights(rights, titles) {
|
|
|
352
477
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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" },
|
|
@@ -367,12 +493,12 @@ var DEFAULT_THRESHOLDS = {
|
|
|
367
493
|
};
|
|
368
494
|
var META_FILE = "_meta/user-levels.json";
|
|
369
495
|
function configPath($asai) {
|
|
370
|
-
const dir = String(_optionalChain([getUserStoreConfig, 'call',
|
|
496
|
+
const dir = String(_optionalChain([getUserStoreConfig, 'call', _9 => _9($asai), 'access', _10 => _10.opt, 'optionalAccess', _11 => _11.dir]) || "webdata/webdb/users/");
|
|
371
497
|
return _path2.default.resolve(dir, META_FILE);
|
|
372
498
|
}
|
|
373
499
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, configPath, "configPath");
|
|
374
500
|
function fromHostLevels($asai) {
|
|
375
|
-
const raw = _optionalChain([$asai, 'optionalAccess',
|
|
501
|
+
const raw = _optionalChain([$asai, 'optionalAccess', _12 => _12.hostconfig, 'optionalAccess', _13 => _13.security, 'optionalAccess', _14 => _14.userLevels]);
|
|
376
502
|
if (!Array.isArray(raw) || !raw.length) return null;
|
|
377
503
|
const levels = [];
|
|
378
504
|
for (const item of raw) {
|
|
@@ -392,7 +518,7 @@ function fromHostLevels($asai) {
|
|
|
392
518
|
}
|
|
393
519
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, fromHostLevels, "fromHostLevels");
|
|
394
520
|
function fromHostThresholds($asai) {
|
|
395
|
-
const t = _optionalChain([$asai, 'optionalAccess',
|
|
521
|
+
const t = _optionalChain([$asai, 'optionalAccess', _15 => _15.hostconfig, 'optionalAccess', _16 => _16.security, 'optionalAccess', _17 => _17.permissionThresholds]);
|
|
396
522
|
if (!t || typeof t !== "object") return { ...DEFAULT_THRESHOLDS };
|
|
397
523
|
return {
|
|
398
524
|
logRead: Number(_nullishCoalesce(t.logRead, () => ( DEFAULT_THRESHOLDS.logRead))),
|
|
@@ -402,8 +528,14 @@ function fromHostThresholds($asai) {
|
|
|
402
528
|
}
|
|
403
529
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, fromHostThresholds, "fromHostThresholds");
|
|
404
530
|
function getDefaultRouteRights($asai) {
|
|
405
|
-
|
|
406
|
-
|
|
531
|
+
let base = loadRouteCatalogAsRights($asai);
|
|
532
|
+
if (!base.length) {
|
|
533
|
+
const legacy2 = _optionalChain([$asai, 'optionalAccess', _18 => _18.hostconfig, 'optionalAccess', _19 => _19.security, 'optionalAccess', _20 => _20.routerRights]);
|
|
534
|
+
if (legacy2 && typeof legacy2 === "object") {
|
|
535
|
+
base = routesFromLegacyRights(legacy2);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
const fromHost = _optionalChain([$asai, 'optionalAccess', _21 => _21.hostconfig, 'optionalAccess', _22 => _22.security, 'optionalAccess', _23 => _23.routeRights]);
|
|
407
539
|
if (Array.isArray(fromHost) && fromHost.length) {
|
|
408
540
|
const parsed = [];
|
|
409
541
|
for (const item of fromHost) {
|
|
@@ -412,8 +544,8 @@ function getDefaultRouteRights($asai) {
|
|
|
412
544
|
}
|
|
413
545
|
if (parsed.length) base = mergeRouteRights(base, parsed);
|
|
414
546
|
}
|
|
415
|
-
const legacy = _optionalChain([$asai, 'optionalAccess',
|
|
416
|
-
if (legacy && typeof legacy === "object") {
|
|
547
|
+
const legacy = _optionalChain([$asai, 'optionalAccess', _24 => _24.hostconfig, 'optionalAccess', _25 => _25.security, 'optionalAccess', _26 => _26.routerRights]);
|
|
548
|
+
if (legacy && typeof legacy === "object" && base.length) {
|
|
417
549
|
base = mergeRouteRights(base, routesFromLegacyRights(legacy));
|
|
418
550
|
}
|
|
419
551
|
return base;
|
|
@@ -444,7 +576,7 @@ _chunkSMVZ3ZDJcjs.__name.call(void 0, normalizeLevel, "normalizeLevel");
|
|
|
444
576
|
function normalizeUserLevelConfig(input, $asai) {
|
|
445
577
|
const base = getDefaultUserLevelConfig($asai);
|
|
446
578
|
const synced = getUserLevelConfigSync($asai);
|
|
447
|
-
const levelBase = _optionalChain([synced, 'access',
|
|
579
|
+
const levelBase = _optionalChain([synced, 'access', _27 => _27.levels, 'optionalAccess', _28 => _28.length]) ? synced : base;
|
|
448
580
|
const levels = [];
|
|
449
581
|
const seenLv = /* @__PURE__ */ new Set();
|
|
450
582
|
const seenKey = /* @__PURE__ */ new Set();
|
|
@@ -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
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, 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 (_optionalChain([cat, 'optionalAccess', _29 => _29.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
|
+
_chunkSMVZ3ZDJcjs.__name.call(void 0, repairUserLevelConfig, "repairUserLevelConfig");
|
|
494
666
|
function validateUserLevelConfig(cfg) {
|
|
495
667
|
if (!cfg.levels.length) return "LEVELS_EMPTY";
|
|
496
668
|
const keys = /* @__PURE__ */ new Set();
|
|
@@ -520,14 +692,20 @@ async function loadUserLevelConfig($asai) {
|
|
|
520
692
|
try {
|
|
521
693
|
const text = await _promises2.default.readFile(file, "utf8");
|
|
522
694
|
const parsed = JSON.parse(text);
|
|
523
|
-
|
|
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 _promises2.default.mkdir(_path2.default.dirname(file), { recursive: true });
|
|
705
|
+
await _promises2.default.writeFile(file, JSON.stringify(cfg, null, 2), "utf8");
|
|
706
|
+
}
|
|
529
707
|
}
|
|
530
|
-
} catch (
|
|
708
|
+
} catch (e2) {
|
|
531
709
|
$asai._userLevelConfig = getDefaultUserLevelConfig($asai);
|
|
532
710
|
}
|
|
533
711
|
return $asai._userLevelConfig;
|
|
@@ -537,6 +715,10 @@ 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);
|
|
@@ -600,7 +782,7 @@ var DEFAULT_ROLES = [
|
|
|
600
782
|
{ name: "superadmin", minLv: 99, permissions: ["read", "operate", "audit", "admin", "develop", "super"] }
|
|
601
783
|
];
|
|
602
784
|
function getSecurityBlock($asai) {
|
|
603
|
-
return _optionalChain([$asai, 'optionalAccess',
|
|
785
|
+
return _optionalChain([$asai, 'optionalAccess', _30 => _30.hostconfig, 'optionalAccess', _31 => _31.security]) || {};
|
|
604
786
|
}
|
|
605
787
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, getSecurityBlock, "getSecurityBlock");
|
|
606
788
|
function getLoginBanner($asai) {
|
|
@@ -648,7 +830,7 @@ function resolveRoleForLevel($asai, lv) {
|
|
|
648
830
|
const roles = getRoleDefinitions($asai);
|
|
649
831
|
let best = roles[0];
|
|
650
832
|
for (const r of roles) {
|
|
651
|
-
if (lv >= r.minLv && r.minLv >= (_nullishCoalesce(_optionalChain([best, 'optionalAccess',
|
|
833
|
+
if (lv >= r.minLv && r.minLv >= (_nullishCoalesce(_optionalChain([best, 'optionalAccess', _32 => _32.minLv]), () => ( -1)))) best = r;
|
|
652
834
|
}
|
|
653
835
|
return best || DEFAULT_ROLES[0];
|
|
654
836
|
}
|
|
@@ -674,7 +856,7 @@ function parsePassHistory(raw) {
|
|
|
674
856
|
try {
|
|
675
857
|
const arr = JSON.parse(raw);
|
|
676
858
|
return Array.isArray(arr) ? arr.map(String) : [];
|
|
677
|
-
} catch (
|
|
859
|
+
} catch (e3) {
|
|
678
860
|
return [];
|
|
679
861
|
}
|
|
680
862
|
}
|
|
@@ -707,7 +889,8 @@ 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
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, getPublicSecurityConfig, "getPublicSecurityConfig");
|
|
@@ -736,5 +919,7 @@ _chunkSMVZ3ZDJcjs.__name.call(void 0, getPublicSecurityConfig, "getPublicSecurit
|
|
|
736
919
|
|
|
737
920
|
|
|
738
921
|
|
|
739
|
-
|
|
740
|
-
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
exports.ensureUserStoreTables = ensureUserStoreTables; exports.dbListUsers = dbListUsers; exports.dbFindUser = dbFindUser; exports.dbCreateUser = dbCreateUser; exports.dbUpdateUser = dbUpdateUser; exports.dbListSessions = dbListSessions; exports.dbWriteSessions = dbWriteSessions; exports.dbAddSession = dbAddSession; exports.dbRemoveSession = dbRemoveSession; exports.dbRemoveSessionsByUser = dbRemoveSessionsByUser; exports.dbDeleteUser = dbDeleteUser; exports.getDefaultResetPassword = getDefaultResetPassword; exports.getUserLevelConfigSync = getUserLevelConfigSync; exports.loadUserLevelConfig = loadUserLevelConfig; exports.saveUserLevelConfig = saveUserLevelConfig; exports.getPermissionThreshold = getPermissionThreshold; exports.isValidUserLv = isValidUserLv; exports.getPasswordPolicy = getPasswordPolicy; exports.resolveRoleForLevel = resolveRoleForLevel; exports.hashPasswordForHistory = hashPasswordForHistory; exports.validatePasswordWithPolicy = validatePasswordWithPolicy; exports.parsePassHistory = parsePassHistory; exports.isPasswordInHistory = isPasswordInHistory; exports.isPasswordExpired = isPasswordExpired; exports.getPublicSecurityConfig = getPublicSecurityConfig;
|
|
925
|
+
//# sourceMappingURL=chunk-H3K33HBA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\Web\\Git\\asaicms-v1\\webserver\\src\\plugs\\asaihost-nodejs\\dist\\chunk-H3K33HBA.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;AACA,IAAI,YAAY,EAAE;AAClB,EAAE,IAAI;AACN,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE,oBAAoB;AACtB,EAAE,mBAAmB;AACrB,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE;AACF,CAAC;AACD,IAAI,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC;AACjG,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,YAAY,EAAE,YAAY;AAC9B,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,kBAAkB,EAAE;AACxB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,KAAK,EAAE;AACT,CAAC;AACD,IAAI,mBAAmB,EAAE,yBAAyB;AAClD,IAAI,wBAAwB,EAAE,IAAI;AAClC,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,EAAE,MAAM,SAAS,EAAE,kDAAkB,KAAM,EAAE,MAAM,CAAC;AACpD,EAAE,MAAM,KAAK,EAAE,QAAQ,CAAC,IAAI;AAC5B,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,iDAAiB,MAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;AACrE;AACA,sCAAM,kBAAmB,EAAE,oBAAoB,CAAC;AAChD,SAAS,gBAAgB,CAAC,KAAK,EAAE;AACjC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC;AACjD,EAAE,MAAM,KAAK,EAAE;AACf,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,IAAI;AAC1C,IAAI,IAAI,EAAE,KAAK,IAAI,OAAO,EAAE,YAAY,EAAE,IAAI;AAC9C,IAAI,MAAM,mBAAE,GAAG,CAAC,MAAO,UAAG;AAC1B,EAAE,CAAC;AACH,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,EAAE;AACvB,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG;AACtB,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO;AACjC,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;AACzC,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ;AAChC,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;AAC9C,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,IAAI,OAAO,EAAE;AAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI;AACxB,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ;AAChC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;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,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;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,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;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,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;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,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;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;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;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,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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-H3K33HBA.cjs","sourcesContent":[null]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkH3K33HBAcjs = require('./chunk-H3K33HBA.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
var _chunkSMVZ3ZDJcjs = require('./chunk-SMVZ3ZDJ.cjs');
|
|
@@ -47,24 +47,24 @@ function verifyPassword(password, passHash, passSalt) {
|
|
|
47
47
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, verifyPassword, "verifyPassword");
|
|
48
48
|
function validatePasswordPolicy(password, minLen = 8, policy) {
|
|
49
49
|
const p = policy || { minLength: minLen, requireLower: true, requireDigit: true, requireUpper: false, requireSpecial: false, maxAgeDays: 0, historyCount: 0 };
|
|
50
|
-
return
|
|
50
|
+
return _chunkH3K33HBAcjs.validatePasswordWithPolicy.call(void 0, password, p);
|
|
51
51
|
}
|
|
52
52
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, validatePasswordPolicy, "validatePasswordPolicy");
|
|
53
53
|
function validatePasswordChange(password, $asai, passHistory) {
|
|
54
|
-
const policy =
|
|
55
|
-
const err =
|
|
54
|
+
const policy = _chunkH3K33HBAcjs.getPasswordPolicy.call(void 0, $asai);
|
|
55
|
+
const err = _chunkH3K33HBAcjs.validatePasswordWithPolicy.call(void 0, password, policy);
|
|
56
56
|
if (err) return err;
|
|
57
57
|
if (policy.historyCount > 0) {
|
|
58
|
-
const history =
|
|
59
|
-
if (
|
|
58
|
+
const history = _chunkH3K33HBAcjs.parsePassHistory.call(void 0, passHistory);
|
|
59
|
+
if (_chunkH3K33HBAcjs.isPasswordInHistory.call(void 0, password, history)) return "PASSWORD_REUSED";
|
|
60
60
|
}
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
63
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, validatePasswordChange, "validatePasswordChange");
|
|
64
64
|
function nextPassHistory(password, passHistory, historyCount) {
|
|
65
65
|
if (!historyCount || historyCount <= 0) return "[]";
|
|
66
|
-
const history =
|
|
67
|
-
history.unshift(
|
|
66
|
+
const history = _chunkH3K33HBAcjs.parsePassHistory.call(void 0, passHistory);
|
|
67
|
+
history.unshift(_chunkH3K33HBAcjs.hashPasswordForHistory.call(void 0, password));
|
|
68
68
|
return JSON.stringify(history.slice(0, historyCount));
|
|
69
69
|
}
|
|
70
70
|
_chunkSMVZ3ZDJcjs.__name.call(void 0, nextPassHistory, "nextPassHistory");
|
|
@@ -84,4 +84,4 @@ _chunkSMVZ3ZDJcjs.__name.call(void 0, verifyHostPassword, "verifyHostPassword");
|
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
exports.secureCompare = secureCompare; exports.hashPassword = hashPassword; exports.verifyPassword = verifyPassword; exports.validatePasswordPolicy = validatePasswordPolicy; exports.validatePasswordChange = validatePasswordChange; exports.nextPassHistory = nextPassHistory; exports.verifyHostPassword = verifyHostPassword;
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
87
|
+
//# sourceMappingURL=chunk-K2QPSQEV.cjs.map
|