@6thbridge/utils 0.3.7 → 0.3.8-0

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.
@@ -1,4 +1,36 @@
1
- export declare class FindOptions {
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
25
+ /// <reference types="mongoose/types/inferrawdoctype" />
26
+ /// <reference types="mongoose-paginate-v2" />
27
+ import { ClientSession, CreateOptions, ProjectionType, QueryOptions } from 'mongoose';
28
+ import { TypedModel } from './MongoDBTypeRepository';
29
+ export declare class MongooseOptions {
30
+ session: ClientSession | null;
31
+ [x: string]: any;
32
+ }
33
+ export declare class FindOptions extends MongooseOptions {
2
34
  [x: string]: any;
3
35
  page?: number;
4
36
  limit?: number;
@@ -6,18 +38,18 @@ export declare class FindOptions {
6
38
  }
7
39
  export declare class MongoDBRepository {
8
40
  private readonly Model;
9
- constructor(Model: any);
10
- getModel(): any;
11
- create(payload: Record<string, any>): any;
12
- findById(id: string): any;
13
- findOne(condition?: any, sort?: any, options?: FindOptions): any;
14
- find(condition: any, sort?: any, options?: FindOptions): any;
15
- deleteMany(condition?: any): any;
16
- insertMany(data?: any[]): any;
17
- countDocuments(condition?: any): any;
18
- updateOne(query?: any, update?: any): any;
19
- updateMany(query?: any, update?: any): any;
20
- upsert(query?: any, update?: any): any;
21
- findOneAndUpdate(filter: any, update: any, options?: any): any;
22
- bulkWrite(bulkWritePayload: any): any;
41
+ constructor(Model: TypedModel<any>);
42
+ getModel(): TypedModel<any>;
43
+ create(payload: Record<string, any>, options?: CreateOptions): Promise<any>;
44
+ findById(id: string, projection?: ProjectionType<any>, options?: QueryOptions): import("mongoose").Query<any, any, {}, any, "findOne", {}, Record<string, never>>;
45
+ findOne(condition?: Record<string, any>, sort?: Record<string, number>, options?: FindOptions): import("mongoose").Query<any, any, {}, any, "findOne", {}, Record<string, never>>;
46
+ find(condition: Record<string, any>, sort?: Record<string, any>, options?: FindOptions): Promise<import("mongoose").PaginateResult<any>> | import("mongoose").Query<any[], any, {}, any, "find", {}, Record<string, never>>;
47
+ deleteMany(condition?: Record<string, any>, options?: MongooseOptions): import("mongoose").Query<import("mongodb").DeleteResult, any, {}, any, "deleteMany", {}, Record<string, never>>;
48
+ insertMany(data?: any[]): never[] | Promise<any[]>;
49
+ countDocuments(condition?: Record<string, any>, options?: MongooseOptions): import("mongoose").Query<number, any, {}, any, "countDocuments", {}, Record<string, never>>;
50
+ updateOne(query?: Record<string, any>, update?: Record<string, any>, options?: MongooseOptions): import("mongoose").Query<import("mongoose").UpdateWriteOpResult, any, {}, any, "updateOne", {}, Record<string, never>>;
51
+ updateMany(query?: Record<string, any>, update?: Record<string, any>, options?: MongooseOptions): import("mongoose").Query<import("mongoose").UpdateWriteOpResult, any, {}, any, "updateMany", {}, Record<string, never>>;
52
+ upsert(query?: Record<string, any>, update?: any, options?: MongooseOptions): import("mongoose").Query<import("mongoose").UpdateWriteOpResult, any, {}, any, "updateOne", {}, Record<string, never>>;
53
+ findOneAndUpdate(filter: any, update: any, options?: MongooseOptions): import("mongoose").Query<any, any, {}, any, "findOneAndUpdate", {}, Record<string, never>>;
54
+ bulkWrite(bulkWritePayload: any): Promise<import("mongodb").BulkWriteResult>;
23
55
  }
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongoDBRepository = exports.FindOptions = void 0;
4
- class FindOptions {
3
+ exports.MongoDBRepository = exports.FindOptions = exports.MongooseOptions = void 0;
4
+ class MongooseOptions {
5
+ }
6
+ exports.MongooseOptions = MongooseOptions;
7
+ class FindOptions extends MongooseOptions {
5
8
  constructor() {
9
+ super(...arguments);
6
10
  this.limit = 100;
7
11
  this.lean = false;
8
12
  }
@@ -15,11 +19,11 @@ class MongoDBRepository {
15
19
  getModel() {
16
20
  return this.Model;
17
21
  }
18
- create(payload) {
19
- return this.Model.create(payload);
22
+ create(payload, options) {
23
+ return this.Model.insertOne(payload, options);
20
24
  }
21
- findById(id) {
22
- return this.Model.findOne({ _id: id });
25
+ findById(id, projection, options) {
26
+ return this.Model.findOne({ _id: id }, projection, options);
23
27
  }
24
28
  findOne(condition = {}, sort, options) {
25
29
  const result = this.Model.findOne(condition).sort(sort);
@@ -28,17 +32,11 @@ class MongoDBRepository {
28
32
  return result;
29
33
  }
30
34
  find(condition, sort, options) {
35
+ var _a, _b;
31
36
  try {
32
37
  if (options === null || options === void 0 ? void 0 : options.page) {
33
38
  delete condition.page;
34
39
  delete condition.limit;
35
- if (options.lean) {
36
- return this.Model.paginate(condition, {
37
- sort,
38
- page: options.page,
39
- limit: options.limit,
40
- }).lean();
41
- }
42
40
  return this.Model.paginate(condition, {
43
41
  sort,
44
42
  page: options.page,
@@ -47,8 +45,8 @@ class MongoDBRepository {
47
45
  }
48
46
  else {
49
47
  if (options === null || options === void 0 ? void 0 : options.lean)
50
- return this.Model.find(condition).sort(sort).lean();
51
- return this.Model.find(condition).sort(sort);
48
+ return this.Model.find(condition).sort(sort).lean().session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
49
+ return this.Model.find(condition).sort(sort).session((_b = options === null || options === void 0 ? void 0 : options.session) !== null && _b !== void 0 ? _b : null);
52
50
  }
53
51
  }
54
52
  catch (e) {
@@ -56,31 +54,37 @@ class MongoDBRepository {
56
54
  return this.Model.find(condition).sort(sort);
57
55
  }
58
56
  }
59
- deleteMany(condition = {}) {
60
- return this.Model.deleteMany(condition);
57
+ deleteMany(condition = {}, options) {
58
+ var _a;
59
+ return this.Model.deleteMany(condition).session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
61
60
  }
62
61
  insertMany(data = []) {
63
62
  if (data.length === 0)
64
63
  return [];
65
64
  return this.Model.insertMany(data);
66
65
  }
67
- countDocuments(condition = {}) {
68
- return this.Model.countDocuments(condition);
66
+ countDocuments(condition = {}, options) {
67
+ var _a;
68
+ return this.Model.countDocuments(condition).session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
69
69
  }
70
- updateOne(query = {}, update = {}) {
71
- return this.Model.updateOne(query, update);
70
+ updateOne(query = {}, update = {}, options) {
71
+ var _a;
72
+ return this.Model.updateOne(query, update).session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
72
73
  }
73
- updateMany(query = {}, update = {}) {
74
- return this.Model.updateMany(query, update);
74
+ updateMany(query = {}, update = {}, options) {
75
+ var _a;
76
+ return this.Model.updateMany(query, update).session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
75
77
  }
76
- upsert(query = {}, update = {}) {
78
+ upsert(query = {}, update = {}, options) {
79
+ var _a;
77
80
  return this.Model.updateOne(query, update, {
78
81
  upsert: true,
79
82
  setDefaultsOnInsert: true,
80
- });
83
+ }).session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
81
84
  }
82
- findOneAndUpdate(filter, update, options = {}) {
83
- return this.Model.findOneAndUpdate(filter, update, Object.assign({ new: true }, options));
85
+ findOneAndUpdate(filter, update, options) {
86
+ var _a;
87
+ return this.Model.findOneAndUpdate(filter, update, Object.assign({ new: true }, options)).session((_a = options === null || options === void 0 ? void 0 : options.session) !== null && _a !== void 0 ? _a : null);
84
88
  }
85
89
  bulkWrite(bulkWritePayload) {
86
90
  return this.Model.bulkWrite(bulkWritePayload);
@@ -1 +1 @@
1
- {"version":3,"file":"MongoDBRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoDBRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBRepository.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,8 @@ export declare class MongoDBTypedRepository<T extends BaseDocument> {
44
44
  generateObjectId(): mongoose.Types.ObjectId;
45
45
  getModel(): TypedModel<T>;
46
46
  create(payload: Partial<T>): Promise<T>;
47
- findById(id: string): Promise<T | null>;
48
- findOne(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>): Promise<T | null>;
47
+ findById(id: string, options?: Record<string, any>): Promise<T | null>;
48
+ findOne(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>, options?: Record<string, any>): Promise<T | null>;
49
49
  paginate(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>, options?: FindOptions): Promise<{
50
50
  docs: T[];
51
51
  [x: string]: any;
@@ -29,11 +29,11 @@ class MongoDBTypedRepository {
29
29
  create(payload) {
30
30
  return this.Model.create(payload);
31
31
  }
32
- findById(id) {
33
- return this.Model.findOne({ _id: id });
32
+ findById(id, options) {
33
+ return this.Model.findOne({ _id: id }, options).session(options === null || options === void 0 ? void 0 : options.session);
34
34
  }
35
- findOne(condition = {}, sort) {
36
- return this.Model.findOne(condition).sort(sort);
35
+ findOne(condition = {}, sort, options) {
36
+ return this.Model.findOne(condition).sort(sort).session(options === null || options === void 0 ? void 0 : options.session);
37
37
  }
38
38
  paginate(condition = {}, sort, options) {
39
39
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"MongoDBTypeRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBTypeRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoDBTypeRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBTypeRepository.ts"],"names":[],"mappings":"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"}