cgserver 13.2.9 → 13.2.11

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 CHANGED
@@ -1,4 +1,6 @@
1
1
  # 版本更新日志
2
+ ## v13.2.10
3
+ - Refactor auto-increment ID logic for MongoDB
2
4
  ## v13.2.3
3
5
  - Improve MongoDB connection validation and error handling
4
6
  ## v13.2.2
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +1,53 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
2
41
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
42
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
43
  };
5
44
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MongoBaseService = void 0;
7
- const mongoose_1 = __importDefault(require("mongoose"));
45
+ exports.GMongoAutoIdsSer = exports.MongoBaseService = void 0;
46
+ const mongoose_1 = __importStar(require("mongoose"));
8
47
  const Log_1 = require("../../Logic/Log");
9
48
  const MongoManager_1 = require("./MongoManager");
49
+ const SyncCall_1 = require("../../Decorator/SyncCall");
50
+ const underscore_1 = __importDefault(require("underscore"));
10
51
  class MongoBaseService {
11
52
  _model;
12
53
  _schema;
@@ -101,8 +142,27 @@ class MongoBaseService {
101
142
  return ret;
102
143
  }
103
144
  async getAutoIds() {
104
- let id = await this.mongo.getAutoIds(this.model.collection.name);
145
+ let id = await exports.GMongoAutoIdsSer.getIncressId(this._collection_name);
105
146
  return id;
106
147
  }
107
148
  }
108
149
  exports.MongoBaseService = MongoBaseService;
150
+ const autoIdSchema = new mongoose_1.Schema({
151
+ autoid: { type: Number, required: true, default: 0 }
152
+ });
153
+ class MongoAutoIdsService extends MongoBaseService {
154
+ constructor() {
155
+ super('auto_ids', autoIdSchema);
156
+ }
157
+ async getIncressId(key) {
158
+ let md = await this.findOneAndUpdate({ _id: key }, { $inc: { autoid: 1 } }, { upsert: true });
159
+ if (md && md.autoid) {
160
+ return md.autoid + 1;
161
+ }
162
+ return -underscore_1.default.random(2, 999999999);
163
+ }
164
+ }
165
+ __decorate([
166
+ (0, SyncCall_1.SyncCall2)(0)
167
+ ], MongoAutoIdsService.prototype, "getIncressId", null);
168
+ exports.GMongoAutoIdsSer = new MongoAutoIdsService();
@@ -196,21 +196,6 @@ class MongoExt {
196
196
  onError(err) {
197
197
  Log_1.gLog.error(err);
198
198
  }
199
- /**
200
- * 获取自增长id
201
- * @param key
202
- * @returns 小于等于0为异常
203
- */
204
- async getAutoIds(key) {
205
- let collection = "auto_ids";
206
- let col = mongoose_2.default.connection.collection(collection);
207
- let where = { _id: key };
208
- let rs = await Core_1.core.safeCall(col.findOneAndUpdate, col, where, { $inc: { id: 1 } }, { upsert: true });
209
- if (rs && rs.id) {
210
- return rs.id + 1;
211
- }
212
- return 1;
213
- }
214
199
  async findOne(model, filter, projection, options) {
215
200
  filter = this._convertFilter(filter);
216
201
  if (!model) {
@@ -363,9 +348,6 @@ exports.MongoExt = MongoExt;
363
348
  __decorate([
364
349
  (0, MongoActionCheck_1.MongoActionCheck)(false)
365
350
  ], MongoExt.prototype, "init", null);
366
- __decorate([
367
- (0, MongoActionCheck_1.MongoActionCheck)(-1)
368
- ], MongoExt.prototype, "getAutoIds", null);
369
351
  __decorate([
370
352
  (0, MongoActionCheck_1.MongoActionCheck)(null)
371
353
  ], MongoExt.prototype, "findOne", null);
@@ -24,3 +24,12 @@ export declare class MongoBaseService<T extends IMongoBaseModel> {
24
24
  countDocuments(filter?: FilterQuery<T>): Promise<number>;
25
25
  getAutoIds(): Promise<number>;
26
26
  }
27
+ export interface IAutoIdModel extends IMongoBaseModel {
28
+ autoid: number;
29
+ }
30
+ declare class MongoAutoIdsService extends MongoBaseService<IAutoIdModel> {
31
+ constructor();
32
+ getIncressId(key: string): Promise<number>;
33
+ }
34
+ export declare let GMongoAutoIdsSer: MongoAutoIdsService;
35
+ export {};
@@ -75,12 +75,6 @@ export declare class MongoExt {
75
75
  available: any;
76
76
  }>;
77
77
  onError(err: Error): void;
78
- /**
79
- * 获取自增长id
80
- * @param key
81
- * @returns 小于等于0为异常
82
- */
83
- getAutoIds(key: string): Promise<number>;
84
78
  findOne<T>(model: mongoose.Model<T>, filter?: FilterQuery<T>, projection?: any, options?: any): Promise<T | null>;
85
79
  find<T>(model: mongoose.Model<T>, filter?: FilterQuery<T>, projection?: mongoose.ProjectionType<T>, options?: MongooseQueryOptions): Promise<T[]>;
86
80
  findById<T>(model: mongoose.Model<T>, id: any, projection?: mongoose.ProjectionType<T>, options?: MongooseQueryOptions): Promise<T | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cgserver",
3
- "version": "13.2.9",
3
+ "version": "13.2.11",
4
4
  "author": "trojan",
5
5
  "type": "commonjs",
6
6
  "description": "free for all.Websocket or Http",