@6thbridge/utils 0.3.1-0 → 0.3.1-2

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.
@@ -24,7 +24,7 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  /// <reference types="mongoose-paginate-v2" />
27
- import mongoose, { Document, FilterQuery, PaginateModel, SortOrder, UpdateQuery } from 'mongoose';
27
+ import mongoose, { Model, Document, FilterQuery, PaginateModel, SortOrder, UpdateQuery } from 'mongoose';
28
28
  export interface BaseDocument extends Document {
29
29
  _id: mongoose.Types.ObjectId;
30
30
  id?: string;
@@ -37,10 +37,12 @@ export declare class FindOptions {
37
37
  lean?: boolean;
38
38
  select?: string[];
39
39
  }
40
+ export type TypedModel<T> = PaginateModel<T> | Model<T>;
40
41
  export declare class MongoDBTypedRepository<T extends BaseDocument> {
41
42
  private readonly Model;
42
- constructor(Model: PaginateModel<T>);
43
- getModel(): PaginateModel<T>;
43
+ constructor(Model: TypedModel<T>);
44
+ generateObjectId(): mongoose.Types.ObjectId;
45
+ getModel(): TypedModel<T>;
44
46
  create(payload: Partial<T>): Promise<T>;
45
47
  findById(id: string): Promise<T | null>;
46
48
  findOne(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>): Promise<T | null>;
@@ -16,6 +16,9 @@ class MongoDBTypedRepository {
16
16
  constructor(Model) {
17
17
  this.Model = Model;
18
18
  }
19
+ generateObjectId() {
20
+ return new mongoose_1.default.Types.ObjectId();
21
+ }
19
22
  getModel() {
20
23
  return this.Model;
21
24
  }
@@ -31,11 +34,17 @@ class MongoDBTypedRepository {
31
34
  return this.Model.findOne(condition).sort(sort);
32
35
  }
33
36
  paginate(condition = {}, sort, options) {
34
- return this.Model.paginate(condition, {
35
- sort,
36
- page: (options === null || options === void 0 ? void 0 : options.page) || 1,
37
- limit: (options === null || options === void 0 ? void 0 : options.limit) || 50,
38
- });
37
+ try {
38
+ return this.Model.paginate(condition, {
39
+ sort,
40
+ page: (options === null || options === void 0 ? void 0 : options.page) || 1,
41
+ limit: (options === null || options === void 0 ? void 0 : options.limit) || 50,
42
+ });
43
+ }
44
+ catch (e) {
45
+ console.log("Please confirm if the pagination plugin is installed and enabled for this model");
46
+ throw e;
47
+ }
39
48
  }
40
49
  find(condition = {}, sort) {
41
50
  return this.Model.find(condition).sort(sort);
@@ -1 +1 @@
1
- {"version":3,"file":"MongoDBTypeRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBTypeRepository.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkG;AASlG,MAAa,WAAW;IAAxB;QAGE,UAAK,GAAY,GAAG,CAAC;QACrB,SAAI,GAAa,KAAK,CAAC;IAEzB,CAAC;CAAA;AAND,kCAMC;AAED,MAAa,sBAAsB;IACjC,YAA6B,KAAuB;QAAvB,UAAK,GAAL,KAAK,CAAkB;IAAG,CAAC;IAExD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,YAA4B,EAAE,EAAE,IAAgC;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ,CACN,YAA4B,EAAE,EAC9B,IAAgC,EAChC,OAAqB;QAErB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE;YACpC,IAAI;YACJ,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC;YACxB,KAAK,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CACF,YAA4B,EAAE,EAC9B,IAAgC;QAEhC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,YAA2B,EAAE;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,OAAqB,EAAE;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,YAA4B,EAAE;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAGD,UAAU,CACR,QAAwB,EAAE,EAC1B,SAAyB,EAAE;QAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAID,SAAS,CACP,QAAwB,EAAE,EAC1B,SAAyB,EAAE;QAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAGD,MAAM,CACJ,QAAwB,EAAE,EAC1B,SAAyB,EAAE;QAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;YACzC,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAGD,gBAAgB,CACd,MAAsB,EACtB,MAAsB,EACtB,UAGI,EAAE;QAEN,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,kBAC/C,GAAG,EAAE,IAAI,IACN,OAAO,EACV,CAAC;IACL,CAAC;IAED,SAAS,CACP,gBAAqD;QAErD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAuB,CAAC,CAAC;IACvD,CAAC;CAEF;AA5GD,wDA4GC"}
1
+ {"version":3,"file":"MongoDBTypeRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBTypeRepository.ts"],"names":[],"mappings":"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"}