cgserver 12.3.6 → 13.0.1
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/dist/lib/Framework/Config/_error_.js +33 -24
- package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +143 -119
- package/dist/lib/Framework/Database/Mongo/MongoManager.js +18 -561
- package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +1 -5
- package/dist/lib/Framework/Logic/Log.js +20 -5
- package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +11 -25
- package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +0 -26
- package/dist/lib/Framework/Service/MongoAccountService.js +53 -116
- package/dist/lib/Framework/Service/MongoCacheService.js +20 -19
- package/dist/lib/Framework/Service/MongoUserService.js +39 -77
- package/dist/lib/Framework/Service/MysqlUserService.js +3 -12
- package/dist/lib/Framework/Service/ini.js +4 -10
- package/dist/lib/Framework/global.js +0 -2
- package/dist/lib/Framework/index_export_.js +2 -21
- package/dist/types/Framework/Config/_error_.d.ts +28 -92
- package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +35 -113
- package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +4 -145
- package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +1 -2
- package/dist/types/Framework/Logic/Log.d.ts +5 -5
- package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +4 -8
- package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +0 -4
- package/dist/types/Framework/Service/MongoAccountService.d.ts +15 -17
- package/dist/types/Framework/Service/MongoCacheService.d.ts +5 -4
- package/dist/types/Framework/Service/MongoUserService.d.ts +14 -26
- package/dist/types/Framework/Service/MysqlUserService.d.ts +2 -4
- package/dist/types/Framework/Service/ini.d.ts +3 -8
- package/dist/types/Framework/global.d.ts +0 -1
- package/dist/types/Framework/index_export_.d.ts +5 -12
- package/package.json +2 -1
- package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +0 -52
- package/dist/lib/Framework/Decorator/AdminValidate.js +0 -18
- package/dist/lib/Framework/Decorator/AuthorityValidate.js +0 -22
- package/dist/lib/Framework/Decorator/CreatorValidate.js +0 -18
- package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +0 -18
- package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +0 -13
- package/dist/types/Framework/Decorator/AdminValidate.d.ts +0 -1
- package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +0 -2
- package/dist/types/Framework/Decorator/CreatorValidate.d.ts +0 -1
- package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +0 -1
|
@@ -1,43 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.gMongoMgr = exports.MongoExt = exports.MongoManager = exports.MgReturn = exports.MrResult = exports.
|
|
37
|
-
const mongo = __importStar(require("mongodb"));
|
|
38
|
-
const _error_1 = require("../../Config/_error_");
|
|
6
|
+
exports.gMongoMgr = exports.MongoExt = exports.MongoManager = exports.MgReturn = exports.MrResult = exports.MongoConfig = void 0;
|
|
39
7
|
const Core_1 = require("../../Core/Core");
|
|
40
8
|
const Log_1 = require("../../Logic/Log");
|
|
9
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
41
10
|
class MongoConfig {
|
|
42
11
|
open = false;
|
|
43
12
|
host = "127.0.0.1";
|
|
@@ -48,10 +17,6 @@ class MongoConfig {
|
|
|
48
17
|
debug = false;
|
|
49
18
|
}
|
|
50
19
|
exports.MongoConfig = MongoConfig;
|
|
51
|
-
class MongoBaseModel {
|
|
52
|
-
_id;
|
|
53
|
-
}
|
|
54
|
-
exports.MongoBaseModel = MongoBaseModel;
|
|
55
20
|
class MrResult {
|
|
56
21
|
/**
|
|
57
22
|
* select 的数据量
|
|
@@ -130,14 +95,6 @@ exports.MongoManager = MongoManager;
|
|
|
130
95
|
class MongoExt {
|
|
131
96
|
_mongocfg = null;
|
|
132
97
|
_init_cbs = [];
|
|
133
|
-
_mongoDb = null;
|
|
134
|
-
get mongoDb() {
|
|
135
|
-
return this._mongoDb;
|
|
136
|
-
}
|
|
137
|
-
_mongoClient = null;
|
|
138
|
-
get mongoClient() {
|
|
139
|
-
return this._mongoClient;
|
|
140
|
-
}
|
|
141
98
|
_mongo_init_succ = false;
|
|
142
99
|
_inited = false;
|
|
143
100
|
get isValid() {
|
|
@@ -155,26 +112,16 @@ class MongoExt {
|
|
|
155
112
|
this._mongocfg = cfg;
|
|
156
113
|
this._inited = true;
|
|
157
114
|
Log_1.gLog.info("mongo config=" + JSON.stringify(this._mongocfg));
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
await this._mongoClient.connect();
|
|
115
|
+
mongoose_1.default.connection.on("disconnected", this.onClose.bind(this));
|
|
116
|
+
mongoose_1.default.connection.on("open", this.onOpen.bind(this));
|
|
117
|
+
this._mongocfg.options.dbName = this._mongocfg.database;
|
|
118
|
+
await mongoose_1.default.connect("mongodb://" + this._mongocfg.host + ":" + this._mongocfg.port, this._mongocfg.options);
|
|
119
|
+
mongoose_1.default.connection.useDb(this._mongocfg.database);
|
|
120
|
+
console.log("mongo connect success! db=" + this._mongocfg.database);
|
|
165
121
|
return true;
|
|
166
122
|
}
|
|
167
|
-
onConnectionCreated(event) {
|
|
168
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "mongo onConnectionCreated", event });
|
|
169
|
-
}
|
|
170
|
-
onConnectionReady(event) {
|
|
171
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "mongo onConnectionReady", event });
|
|
172
|
-
}
|
|
173
|
-
onConnectionClosed(event) {
|
|
174
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "mongo onConnectionClosed", event });
|
|
175
|
-
}
|
|
176
123
|
close(force = false) {
|
|
177
|
-
|
|
124
|
+
mongoose_1.default.connection.close(force);
|
|
178
125
|
}
|
|
179
126
|
registerInitCb(cb) {
|
|
180
127
|
this._init_cbs.push(cb);
|
|
@@ -182,7 +129,6 @@ class MongoExt {
|
|
|
182
129
|
onOpen() {
|
|
183
130
|
this._mongo_init_succ = true;
|
|
184
131
|
Log_1.gLog.info("mongo has opened!");
|
|
185
|
-
this._mongoDb = this._mongoClient.db(this._mongocfg.database);
|
|
186
132
|
for (let i = 0; i < this._init_cbs.length; ++i) {
|
|
187
133
|
this._init_cbs[i]();
|
|
188
134
|
}
|
|
@@ -191,9 +137,11 @@ class MongoExt {
|
|
|
191
137
|
onClose() {
|
|
192
138
|
this._mongo_init_succ = false;
|
|
193
139
|
Log_1.gLog.info("mongo has closed!");
|
|
194
|
-
this._mongoDb = null;
|
|
195
140
|
this._inited = false;
|
|
196
|
-
this.init(this._mongocfg)
|
|
141
|
+
//this.init(this._mongocfg)
|
|
142
|
+
}
|
|
143
|
+
onError(err) {
|
|
144
|
+
Log_1.gLog.error(err);
|
|
197
145
|
}
|
|
198
146
|
/**
|
|
199
147
|
* 获取自增长id
|
|
@@ -203,15 +151,10 @@ class MongoExt {
|
|
|
203
151
|
async getAutoIds(key) {
|
|
204
152
|
let now = Date.now();
|
|
205
153
|
let dt = 0;
|
|
206
|
-
if (!this._mongoDb) {
|
|
207
|
-
dt = Date.now() - now;
|
|
208
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "getAutoIds", dt, arguments });
|
|
209
|
-
return -1;
|
|
210
|
-
}
|
|
211
154
|
let collection = "auto_ids";
|
|
212
|
-
let col =
|
|
155
|
+
let col = mongoose_1.default.connection.collection(collection);
|
|
213
156
|
try {
|
|
214
|
-
let where =
|
|
157
|
+
let where = { _id: key };
|
|
215
158
|
let rs = await Core_1.core.safeCall(col.findOneAndUpdate, col, where, { $inc: { id: 1 } }, { upsert: true });
|
|
216
159
|
if (rs && rs.id) {
|
|
217
160
|
return rs.id + 1;
|
|
@@ -227,492 +170,6 @@ class MongoExt {
|
|
|
227
170
|
this._mongocfg.debug && Log_1.gLog.info({ key: "getAutoIds", dt, arguments });
|
|
228
171
|
return -2;
|
|
229
172
|
}
|
|
230
|
-
_convertWhere(where) {
|
|
231
|
-
let now = Date.now();
|
|
232
|
-
let dt = 0;
|
|
233
|
-
if (!where || !where._id) {
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
if (Core_1.core.isString(where._id) && where._id.length == 24) {
|
|
237
|
-
let _id = where._id;
|
|
238
|
-
try {
|
|
239
|
-
where._id = this.toObjectId(_id);
|
|
240
|
-
}
|
|
241
|
-
catch (e) {
|
|
242
|
-
where._id = _id;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
return where;
|
|
246
|
-
}
|
|
247
|
-
toObjectId(id) {
|
|
248
|
-
return new mongo.BSON.ObjectId(id);
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* 获取单条消息
|
|
252
|
-
* @param collection
|
|
253
|
-
*/
|
|
254
|
-
async findOne(collection, where = {}, property = {}) {
|
|
255
|
-
let now = Date.now();
|
|
256
|
-
let dt = 0;
|
|
257
|
-
if (!where) {
|
|
258
|
-
where = {};
|
|
259
|
-
}
|
|
260
|
-
this._convertWhere(where);
|
|
261
|
-
let rs = { errcode: null, one: null };
|
|
262
|
-
if (!this._mongoDb) {
|
|
263
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
264
|
-
dt = Date.now() - now;
|
|
265
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "findOne", dt, arguments });
|
|
266
|
-
return rs;
|
|
267
|
-
}
|
|
268
|
-
let one = null;
|
|
269
|
-
try {
|
|
270
|
-
let col = this._mongoDb.collection(collection);
|
|
271
|
-
one = await col.findOne(where, { projection: property });
|
|
272
|
-
}
|
|
273
|
-
catch (e) {
|
|
274
|
-
Log_1.gLog.error({ collection, property, where });
|
|
275
|
-
Log_1.gLog.error(e.stack);
|
|
276
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
277
|
-
}
|
|
278
|
-
rs.one = one;
|
|
279
|
-
dt = Date.now() - now;
|
|
280
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "findOne", dt, arguments });
|
|
281
|
-
return rs;
|
|
282
|
-
}
|
|
283
|
-
async distinct(collection, key, where = {}) {
|
|
284
|
-
let now = Date.now();
|
|
285
|
-
let dt = 0;
|
|
286
|
-
if (!where) {
|
|
287
|
-
where = {};
|
|
288
|
-
}
|
|
289
|
-
this._convertWhere(where);
|
|
290
|
-
let rs = { errcode: null, lst: null };
|
|
291
|
-
if (!this._mongoDb) {
|
|
292
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
293
|
-
dt = Date.now() - now;
|
|
294
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "distinct", dt, arguments });
|
|
295
|
-
return rs;
|
|
296
|
-
}
|
|
297
|
-
let lst = null;
|
|
298
|
-
try {
|
|
299
|
-
let col = this._mongoDb.collection(collection);
|
|
300
|
-
lst = await col.distinct(key, where);
|
|
301
|
-
}
|
|
302
|
-
catch (e) {
|
|
303
|
-
Log_1.gLog.error({ collection, key, where });
|
|
304
|
-
Log_1.gLog.error(e.stack);
|
|
305
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
306
|
-
}
|
|
307
|
-
rs.lst = lst;
|
|
308
|
-
dt = Date.now() - now;
|
|
309
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "distinct", dt, arguments });
|
|
310
|
-
return rs;
|
|
311
|
-
}
|
|
312
|
-
async findMany(collection, where = {}, property = {}, sort, skip = 0, limit = 0) {
|
|
313
|
-
let now = Date.now();
|
|
314
|
-
let dt = 0;
|
|
315
|
-
if (!where) {
|
|
316
|
-
where = {};
|
|
317
|
-
}
|
|
318
|
-
this._convertWhere(where);
|
|
319
|
-
let rs = { errcode: null, list: null };
|
|
320
|
-
if (!this._mongoDb) {
|
|
321
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
322
|
-
dt = Date.now() - now;
|
|
323
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "findMany", dt, arguments });
|
|
324
|
-
return rs;
|
|
325
|
-
}
|
|
326
|
-
let list = [];
|
|
327
|
-
try {
|
|
328
|
-
let col = this._mongoDb.collection(collection);
|
|
329
|
-
let cursor = col.find(where, { projection: property });
|
|
330
|
-
if (sort) {
|
|
331
|
-
cursor = cursor.sort(sort);
|
|
332
|
-
}
|
|
333
|
-
if (skip) {
|
|
334
|
-
cursor = cursor.skip(skip);
|
|
335
|
-
}
|
|
336
|
-
if (limit) {
|
|
337
|
-
cursor = cursor.limit(limit);
|
|
338
|
-
}
|
|
339
|
-
list = await cursor.toArray();
|
|
340
|
-
}
|
|
341
|
-
catch (e) {
|
|
342
|
-
Log_1.gLog.error({ collection, property, where, sort, skip, limit });
|
|
343
|
-
Log_1.gLog.error(e.stack);
|
|
344
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
345
|
-
}
|
|
346
|
-
rs.list = list;
|
|
347
|
-
dt = Date.now() - now;
|
|
348
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "findMany", dt, arguments });
|
|
349
|
-
return rs;
|
|
350
|
-
}
|
|
351
|
-
async countDocuments(collection, where, options) {
|
|
352
|
-
let now = Date.now();
|
|
353
|
-
let dt = 0;
|
|
354
|
-
if (!where) {
|
|
355
|
-
where = {};
|
|
356
|
-
}
|
|
357
|
-
this._convertWhere(where);
|
|
358
|
-
let rs = { errcode: null, count: -1 };
|
|
359
|
-
if (!this._mongoDb) {
|
|
360
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
361
|
-
dt = Date.now() - now;
|
|
362
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "countDocuments", dt, arguments });
|
|
363
|
-
return rs;
|
|
364
|
-
}
|
|
365
|
-
let count = -1;
|
|
366
|
-
try {
|
|
367
|
-
let col = this._mongoDb.collection(collection);
|
|
368
|
-
count = await col.countDocuments(where || {}, options);
|
|
369
|
-
}
|
|
370
|
-
catch (e) {
|
|
371
|
-
Log_1.gLog.error({ collection, where });
|
|
372
|
-
Log_1.gLog.error(e.stack);
|
|
373
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
374
|
-
}
|
|
375
|
-
rs.count = count;
|
|
376
|
-
dt = Date.now() - now;
|
|
377
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "countDocuments", dt, arguments });
|
|
378
|
-
return rs;
|
|
379
|
-
}
|
|
380
|
-
async deleteOne(collection, where) {
|
|
381
|
-
let now = Date.now();
|
|
382
|
-
let dt = 0;
|
|
383
|
-
if (!where) {
|
|
384
|
-
where = {};
|
|
385
|
-
}
|
|
386
|
-
this._convertWhere(where);
|
|
387
|
-
let rs = { errcode: null, count: -1 };
|
|
388
|
-
if (!this._mongoDb) {
|
|
389
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
390
|
-
return rs;
|
|
391
|
-
}
|
|
392
|
-
let del_rs = null;
|
|
393
|
-
try {
|
|
394
|
-
let col = this._mongoDb.collection(collection);
|
|
395
|
-
del_rs = await col.deleteOne(where || {});
|
|
396
|
-
}
|
|
397
|
-
catch (e) {
|
|
398
|
-
Log_1.gLog.error({ collection, where });
|
|
399
|
-
Log_1.gLog.error(e.stack);
|
|
400
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
401
|
-
}
|
|
402
|
-
if (del_rs) {
|
|
403
|
-
rs.count = del_rs.deletedCount;
|
|
404
|
-
}
|
|
405
|
-
dt = Date.now() - now;
|
|
406
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "deleteOne", dt, arguments });
|
|
407
|
-
return rs;
|
|
408
|
-
}
|
|
409
|
-
async deleteMany(collection, where) {
|
|
410
|
-
let now = Date.now();
|
|
411
|
-
let dt = 0;
|
|
412
|
-
if (!where) {
|
|
413
|
-
where = {};
|
|
414
|
-
}
|
|
415
|
-
this._convertWhere(where);
|
|
416
|
-
let rs = { errcode: null, count: -1 };
|
|
417
|
-
if (!this._mongoDb) {
|
|
418
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
419
|
-
dt = Date.now() - now;
|
|
420
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "deleteMany", dt, arguments });
|
|
421
|
-
return rs;
|
|
422
|
-
}
|
|
423
|
-
let del_rs = null;
|
|
424
|
-
try {
|
|
425
|
-
let col = this._mongoDb.collection(collection);
|
|
426
|
-
del_rs = await col.deleteMany(where || {});
|
|
427
|
-
}
|
|
428
|
-
catch (e) {
|
|
429
|
-
Log_1.gLog.error({ collection, where });
|
|
430
|
-
Log_1.gLog.error(e.stack);
|
|
431
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
432
|
-
}
|
|
433
|
-
if (del_rs) {
|
|
434
|
-
rs.count = del_rs.deletedCount;
|
|
435
|
-
}
|
|
436
|
-
dt = Date.now() - now;
|
|
437
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "deleteMany", dt, arguments });
|
|
438
|
-
return rs;
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* 插入数据
|
|
442
|
-
* @param collection
|
|
443
|
-
* @param data
|
|
444
|
-
*/
|
|
445
|
-
async insertOne(collection, data) {
|
|
446
|
-
let now = Date.now();
|
|
447
|
-
let dt = 0;
|
|
448
|
-
let rs = { errcode: null, rs: null };
|
|
449
|
-
if (!this._mongoDb) {
|
|
450
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
451
|
-
dt = Date.now() - now;
|
|
452
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "insertOne", dt, arguments });
|
|
453
|
-
return rs;
|
|
454
|
-
}
|
|
455
|
-
let in_rs = null;
|
|
456
|
-
try {
|
|
457
|
-
let col = this._mongoDb.collection(collection);
|
|
458
|
-
in_rs = await col.insertOne(data);
|
|
459
|
-
}
|
|
460
|
-
catch (e) {
|
|
461
|
-
Log_1.gLog.error({ collection, data });
|
|
462
|
-
Log_1.gLog.error(e.stack);
|
|
463
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
464
|
-
}
|
|
465
|
-
rs.rs = in_rs;
|
|
466
|
-
dt = Date.now() - now;
|
|
467
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "insertOne", dt, arguments });
|
|
468
|
-
return rs;
|
|
469
|
-
}
|
|
470
|
-
async insertManay(collection, data) {
|
|
471
|
-
let now = Date.now();
|
|
472
|
-
let dt = 0;
|
|
473
|
-
let rs = { errcode: null, rs: null };
|
|
474
|
-
if (!this._mongoDb) {
|
|
475
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
476
|
-
dt = Date.now() - now;
|
|
477
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "insertManay", dt, arguments });
|
|
478
|
-
return rs;
|
|
479
|
-
}
|
|
480
|
-
let in_rs = null;
|
|
481
|
-
try {
|
|
482
|
-
let col = this._mongoDb.collection(collection);
|
|
483
|
-
in_rs = await col.insertMany(data);
|
|
484
|
-
}
|
|
485
|
-
catch (e) {
|
|
486
|
-
Log_1.gLog.error({ collection, data });
|
|
487
|
-
Log_1.gLog.error(e.stack);
|
|
488
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
489
|
-
}
|
|
490
|
-
rs.rs = in_rs;
|
|
491
|
-
dt = Date.now() - now;
|
|
492
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "insertManay", dt, arguments });
|
|
493
|
-
return rs;
|
|
494
|
-
}
|
|
495
|
-
async updateOne(collection, where, model, options) {
|
|
496
|
-
let now = Date.now();
|
|
497
|
-
let dt = 0;
|
|
498
|
-
let _id = model["_id"];
|
|
499
|
-
delete model["_id"];
|
|
500
|
-
if (!where && _id) {
|
|
501
|
-
where["_id"] = _id;
|
|
502
|
-
}
|
|
503
|
-
this._convertWhere(where);
|
|
504
|
-
let rs = { errcode: null, rs: null };
|
|
505
|
-
if (!this._mongoDb) {
|
|
506
|
-
if (_id) {
|
|
507
|
-
model["_id"] = _id;
|
|
508
|
-
}
|
|
509
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
510
|
-
dt = Date.now() - now;
|
|
511
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "updateOne", dt, arguments });
|
|
512
|
-
return rs;
|
|
513
|
-
}
|
|
514
|
-
let up_rs = null;
|
|
515
|
-
try {
|
|
516
|
-
let updatemodel = null;
|
|
517
|
-
let money = false;
|
|
518
|
-
for (let key in model) {
|
|
519
|
-
if (key.startsWith("$")) {
|
|
520
|
-
money = true;
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
if (!money) {
|
|
524
|
-
updatemodel = { "$set": model };
|
|
525
|
-
}
|
|
526
|
-
else {
|
|
527
|
-
updatemodel = model;
|
|
528
|
-
}
|
|
529
|
-
let col = this._mongoDb.collection(collection);
|
|
530
|
-
up_rs = await col.updateOne(where, updatemodel, options);
|
|
531
|
-
}
|
|
532
|
-
catch (e) {
|
|
533
|
-
Log_1.gLog.error({ collection, model, where, options });
|
|
534
|
-
Log_1.gLog.error(e.stack);
|
|
535
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
536
|
-
}
|
|
537
|
-
rs.rs = up_rs;
|
|
538
|
-
if (up_rs?.upsertedId || _id) {
|
|
539
|
-
model["_id"] = up_rs?.upsertedId || _id;
|
|
540
|
-
}
|
|
541
|
-
dt = Date.now() - now;
|
|
542
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "updateOne", dt, arguments });
|
|
543
|
-
return rs;
|
|
544
|
-
}
|
|
545
|
-
async updateMany(collection, where, model, options) {
|
|
546
|
-
let now = Date.now();
|
|
547
|
-
let dt = 0;
|
|
548
|
-
this._convertWhere(where);
|
|
549
|
-
let rs = { errcode: null, rs: null };
|
|
550
|
-
if (!this._mongoDb) {
|
|
551
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
552
|
-
dt = Date.now() - now;
|
|
553
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "updateMany", dt, arguments });
|
|
554
|
-
return rs;
|
|
555
|
-
}
|
|
556
|
-
let up_rs = null;
|
|
557
|
-
try {
|
|
558
|
-
let updateModel = null;
|
|
559
|
-
let firstKey = Object.keys(model)[0];
|
|
560
|
-
if (!firstKey.startsWith("$")) {
|
|
561
|
-
updateModel = { $set: model };
|
|
562
|
-
}
|
|
563
|
-
else {
|
|
564
|
-
updateModel = model;
|
|
565
|
-
}
|
|
566
|
-
let col = this._mongoDb.collection(collection);
|
|
567
|
-
up_rs = await col.updateMany(where, updateModel, options);
|
|
568
|
-
}
|
|
569
|
-
catch (e) {
|
|
570
|
-
Log_1.gLog.error({ collection, model, where, options });
|
|
571
|
-
Log_1.gLog.error(e.stack);
|
|
572
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
573
|
-
}
|
|
574
|
-
rs.rs = up_rs;
|
|
575
|
-
dt = Date.now() - now;
|
|
576
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "updateMany", dt, arguments });
|
|
577
|
-
return rs;
|
|
578
|
-
}
|
|
579
|
-
async createIndex(collection, index, options) {
|
|
580
|
-
let now = Date.now();
|
|
581
|
-
let dt = 0;
|
|
582
|
-
let rs = { errcode: null, rs: null };
|
|
583
|
-
if (!this._mongoDb) {
|
|
584
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
585
|
-
dt = Date.now() - now;
|
|
586
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "createIndex", dt, arguments });
|
|
587
|
-
return rs;
|
|
588
|
-
}
|
|
589
|
-
let i_rs = null;
|
|
590
|
-
try {
|
|
591
|
-
let col = this._mongoDb.collection(collection);
|
|
592
|
-
i_rs = await col.createIndex(index, options);
|
|
593
|
-
}
|
|
594
|
-
catch (e) {
|
|
595
|
-
Log_1.gLog.error({ collection, index });
|
|
596
|
-
Log_1.gLog.error(e.stack);
|
|
597
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
598
|
-
}
|
|
599
|
-
rs.rs = i_rs;
|
|
600
|
-
dt = Date.now() - now;
|
|
601
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "createIndex", dt, arguments });
|
|
602
|
-
return rs;
|
|
603
|
-
}
|
|
604
|
-
async simpleAggregate(collection, where, property, size, random_size) {
|
|
605
|
-
let now = Date.now();
|
|
606
|
-
let dt = 0;
|
|
607
|
-
this._convertWhere(where);
|
|
608
|
-
let rs = { errcode: null, list: null };
|
|
609
|
-
if (!this._mongoDb) {
|
|
610
|
-
rs.errcode = _error_1.EErrorCode.No_Mongo;
|
|
611
|
-
dt = Date.now() - now;
|
|
612
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "simpleAggregate", dt, arguments });
|
|
613
|
-
return rs;
|
|
614
|
-
}
|
|
615
|
-
let list = [];
|
|
616
|
-
try {
|
|
617
|
-
let col = this._mongoDb.collection(collection);
|
|
618
|
-
let params = [];
|
|
619
|
-
if (where) {
|
|
620
|
-
params.push({ '$match': where });
|
|
621
|
-
}
|
|
622
|
-
if (property) {
|
|
623
|
-
params.push({ '$project': property });
|
|
624
|
-
}
|
|
625
|
-
if (random_size) {
|
|
626
|
-
params.push({ '$sample': { 'size': random_size } });
|
|
627
|
-
}
|
|
628
|
-
let agg = col.aggregate(params);
|
|
629
|
-
if (size) {
|
|
630
|
-
list = await agg.limit(size).toArray();
|
|
631
|
-
}
|
|
632
|
-
else {
|
|
633
|
-
list = await agg.toArray();
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
catch (e) {
|
|
637
|
-
Log_1.gLog.error(e.stack);
|
|
638
|
-
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
639
|
-
}
|
|
640
|
-
rs.list = list;
|
|
641
|
-
dt = Date.now() - now;
|
|
642
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "simpleAggregate", dt, arguments });
|
|
643
|
-
return rs;
|
|
644
|
-
}
|
|
645
|
-
aggregate(collection, pipeline, options) {
|
|
646
|
-
if (!this._mongoDb) {
|
|
647
|
-
return;
|
|
648
|
-
}
|
|
649
|
-
let col = this._mongoDb.collection(collection);
|
|
650
|
-
let agg = col.aggregate(pipeline, options);
|
|
651
|
-
return agg;
|
|
652
|
-
}
|
|
653
|
-
/**
|
|
654
|
-
* 快速事务
|
|
655
|
-
* @param collection
|
|
656
|
-
* @param cb
|
|
657
|
-
*/
|
|
658
|
-
async quickTransaction(cb, options) {
|
|
659
|
-
let now = Date.now();
|
|
660
|
-
let dt = 0;
|
|
661
|
-
if (!this._mongoDb) {
|
|
662
|
-
dt = Date.now() - now;
|
|
663
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "quickTransaction", dt, arguments });
|
|
664
|
-
return false;
|
|
665
|
-
}
|
|
666
|
-
let session = this._mongoClient.startSession();
|
|
667
|
-
session.startTransaction(options);
|
|
668
|
-
try {
|
|
669
|
-
let rs = await cb(session);
|
|
670
|
-
await session.commitTransaction();
|
|
671
|
-
session.endSession();
|
|
672
|
-
dt = Date.now() - now;
|
|
673
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "quickTransaction", dt, arguments });
|
|
674
|
-
return rs;
|
|
675
|
-
}
|
|
676
|
-
catch (e) {
|
|
677
|
-
await session.abortTransaction();
|
|
678
|
-
Log_1.gLog.error(e.stack);
|
|
679
|
-
}
|
|
680
|
-
finally {
|
|
681
|
-
await session.endSession();
|
|
682
|
-
}
|
|
683
|
-
dt = Date.now() - now;
|
|
684
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "quickTransaction", dt, arguments });
|
|
685
|
-
return false;
|
|
686
|
-
}
|
|
687
|
-
async bulkWrite(collection, operations, options) {
|
|
688
|
-
let now = Date.now();
|
|
689
|
-
let dt = 0;
|
|
690
|
-
if (!this._mongoDb) {
|
|
691
|
-
dt = Date.now() - now;
|
|
692
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "bulkWrite", dt, arguments });
|
|
693
|
-
return;
|
|
694
|
-
}
|
|
695
|
-
let bulk = this._mongoDb.collection(collection);
|
|
696
|
-
let bwr = bulk.bulkWrite(operations, options);
|
|
697
|
-
dt = Date.now() - now;
|
|
698
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "bulkWrite", dt, arguments });
|
|
699
|
-
return bwr;
|
|
700
|
-
}
|
|
701
|
-
async findOneAndUpdate(collection, filter, update, options) {
|
|
702
|
-
this._convertWhere(filter);
|
|
703
|
-
let now = Date.now();
|
|
704
|
-
let dt = 0;
|
|
705
|
-
if (!this._mongoDb) {
|
|
706
|
-
dt = Date.now() - now;
|
|
707
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "findOneAndUpdate", dt, arguments });
|
|
708
|
-
return;
|
|
709
|
-
}
|
|
710
|
-
let col = this._mongoDb.collection(collection);
|
|
711
|
-
let rs = await col.findOneAndUpdate(filter, update, options);
|
|
712
|
-
dt = Date.now() - now;
|
|
713
|
-
this._mongocfg.debug && Log_1.gLog.info({ key: "findOneAndUpdate", dt, arguments });
|
|
714
|
-
return rs;
|
|
715
|
-
}
|
|
716
173
|
}
|
|
717
174
|
exports.MongoExt = MongoExt;
|
|
718
175
|
exports.gMongoMgr = new MongoManager();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JsonAuthorityValidate = void 0;
|
|
4
|
-
let JsonAuthorityValidate = function (
|
|
4
|
+
let JsonAuthorityValidate = function () {
|
|
5
5
|
return function (target, propertyName, descriptor) {
|
|
6
6
|
let method = descriptor.value;
|
|
7
7
|
descriptor.value = function () {
|
|
@@ -9,10 +9,6 @@ let JsonAuthorityValidate = function (rg) {
|
|
|
9
9
|
if (!self.isLogin) {
|
|
10
10
|
self.showJson({ errcode: { id: 1, des: "未登陆" }, err: "未登陆" });
|
|
11
11
|
}
|
|
12
|
-
if (rg && self.selfUser.role_group != rg) {
|
|
13
|
-
self.showJson({ errcode: { id: 2, des: "权限不足" }, err: "权限不足" });
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
12
|
return method.apply(this, arguments);
|
|
17
13
|
};
|
|
18
14
|
};
|
|
@@ -88,22 +88,37 @@ class Log {
|
|
|
88
88
|
}
|
|
89
89
|
return message;
|
|
90
90
|
}
|
|
91
|
-
error(message) {
|
|
91
|
+
error(message, obj) {
|
|
92
|
+
if (obj) {
|
|
93
|
+
message = { key: message, value: obj };
|
|
94
|
+
}
|
|
92
95
|
message = this._convertMsg(message);
|
|
93
96
|
this._error_logger?.error(message);
|
|
94
97
|
}
|
|
95
|
-
info(message) {
|
|
98
|
+
info(message, obj) {
|
|
99
|
+
if (obj) {
|
|
100
|
+
message = { key: message, value: obj };
|
|
101
|
+
}
|
|
96
102
|
message = this._convertMsg(message);
|
|
97
103
|
this._logger?.info(message);
|
|
98
104
|
}
|
|
99
|
-
warn(message) {
|
|
105
|
+
warn(message, obj) {
|
|
106
|
+
if (obj) {
|
|
107
|
+
message = { key: message, value: obj };
|
|
108
|
+
}
|
|
100
109
|
message = this._convertMsg(message);
|
|
101
110
|
this._error_logger?.warn(message);
|
|
102
111
|
}
|
|
103
|
-
record(message) {
|
|
112
|
+
record(message, obj) {
|
|
113
|
+
if (obj) {
|
|
114
|
+
message = { key: message, value: obj };
|
|
115
|
+
}
|
|
104
116
|
this.info(message);
|
|
105
117
|
}
|
|
106
|
-
clientLog(message) {
|
|
118
|
+
clientLog(message, obj) {
|
|
119
|
+
if (obj) {
|
|
120
|
+
message = { key: message, value: obj };
|
|
121
|
+
}
|
|
107
122
|
message = this._convertMsg(message);
|
|
108
123
|
this._client_logger?.info(message);
|
|
109
124
|
}
|