@eventista/ticketing-common 1.0.79 → 1.0.80

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,8 +1,10 @@
1
- import { Document, FilterQuery, Model, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult } from 'mongoose';
1
+ import { Document, FilterQuery, Model, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult, Connection, ClientSession } from 'mongoose';
2
2
  import { IBaseRepository } from './base.repository.interface';
3
3
  export declare class BaseRepository<T extends Document> implements IBaseRepository<T> {
4
4
  protected readonly model: Model<T>;
5
- constructor(model: Model<T>);
5
+ protected readonly connection?: Connection;
6
+ constructor(model: Model<T>, connection?: Connection);
7
+ withTransaction<TResult>(callback: (session: ClientSession) => Promise<TResult>, options?: any): Promise<TResult>;
6
8
  explain(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions, verbosity?: 'queryPlanner' | 'executionStats' | 'allPlansExecution'): Promise<any>;
7
9
  findOne(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T | null>;
8
10
  findOneOrFail(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T>;
@@ -1,5 +1,6 @@
1
- import { Document, FilterQuery, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult } from 'mongoose';
1
+ import { Document, FilterQuery, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult, ClientSession } from 'mongoose';
2
2
  export interface IBaseRepository<T extends Document> {
3
+ withTransaction<TResult>(callback: (session: ClientSession) => Promise<TResult>, options?: any): Promise<TResult>;
3
4
  explain(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions, verbosity?: 'queryPlanner' | 'executionStats' | 'allPlansExecution'): Promise<any>;
4
5
  findOne(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T | null>;
5
6
  findOneOrFail(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T>;
@@ -1,10 +1,41 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.BaseRepository = void 0;
16
+ const mongoose_1 = require("mongoose");
4
17
  const common_1 = require("@nestjs/common");
5
- class BaseRepository {
6
- constructor(model) {
18
+ const mongoose_2 = require("@nestjs/mongoose");
19
+ let BaseRepository = class BaseRepository {
20
+ constructor(model, connection) {
7
21
  this.model = model;
22
+ this.connection = connection;
23
+ }
24
+ async withTransaction(callback, options) {
25
+ if (!this.connection) {
26
+ throw new Error('Connection is not available for transactions');
27
+ }
28
+ const session = await this.connection.startSession();
29
+ let result;
30
+ try {
31
+ await session.withTransaction(async () => {
32
+ result = await callback(session);
33
+ }, options);
34
+ return result;
35
+ }
36
+ finally {
37
+ await session.endSession();
38
+ }
8
39
  }
9
40
  async explain(filterQuery, projection, options, verbosity = 'executionStats') {
10
41
  return this.model.find(filterQuery, projection, options).explain(verbosity);
@@ -99,6 +130,11 @@ class BaseRepository {
99
130
  },
100
131
  };
101
132
  }
102
- }
133
+ };
103
134
  exports.BaseRepository = BaseRepository;
135
+ exports.BaseRepository = BaseRepository = __decorate([
136
+ __param(1, (0, mongoose_2.InjectConnection)()),
137
+ __metadata("design:paramtypes", [mongoose_1.Model,
138
+ mongoose_1.Connection])
139
+ ], BaseRepository);
104
140
  //# sourceMappingURL=base.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../src/generic-repository/repositories/base.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../src/generic-repository/repositories/base.repository.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { Document, FilterQuery, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult } from 'mongoose';
1
+ import { Document, FilterQuery, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult, ClientSession } from 'mongoose';
2
2
  import { IBaseRepository } from '../repositories/base.repository.interface';
3
3
  import { IBaseService } from './base.service.interface';
4
4
  export declare class BaseService<T extends Document> implements IBaseService<T> {
5
5
  protected readonly repository: IBaseRepository<T>;
6
6
  constructor(repository: IBaseRepository<T>, context?: string);
7
+ withTransaction<TResult>(callback: (session: ClientSession) => Promise<TResult>, options?: any): Promise<TResult>;
7
8
  explain(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions, verbosity?: 'queryPlanner' | 'executionStats' | 'allPlansExecution'): Promise<any>;
8
9
  findOne(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T | null>;
9
10
  findOneOrFail(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T>;
@@ -1,5 +1,6 @@
1
- import { Document, FilterQuery, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult } from 'mongoose';
1
+ import { Document, FilterQuery, UpdateQuery, QueryOptions, PipelineStage, UpdateWriteOpResult, ClientSession } from 'mongoose';
2
2
  export interface IBaseService<T extends Document> {
3
+ withTransaction<TResult>(callback: (session: ClientSession) => Promise<TResult>, options?: any): Promise<TResult>;
3
4
  explain(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions, verbosity?: 'queryPlanner' | 'executionStats' | 'allPlansExecution'): Promise<any>;
4
5
  findOne(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T | null>;
5
6
  findOneOrFail(filterQuery: FilterQuery<T>, projection?: Record<string, unknown>, options?: QueryOptions): Promise<T>;
@@ -5,6 +5,9 @@ class BaseService {
5
5
  constructor(repository, context) {
6
6
  this.repository = repository;
7
7
  }
8
+ async withTransaction(callback, options) {
9
+ return this.repository.withTransaction(callback, options);
10
+ }
8
11
  async explain(filterQuery, projection, options, verbosity = 'executionStats') {
9
12
  return this.repository.explain(filterQuery, projection, options, verbosity);
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../src/generic-repository/services/base.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../src/generic-repository/services/base.service.ts"],"names":[],"mappings":";;;AAIA,MAAa,WAAW;IACtB,YACqB,UAA8B,EACjD,OAAgB;QADG,eAAU,GAAV,UAAU,CAAoB;IAE/C,CAAC;IAKL,KAAK,CAAC,eAAe,CACnB,QAAsD,EACtD,OAAa;QAEb,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAMD,KAAK,CAAC,OAAO,CACX,WAA2B,EAC3B,UAAoC,EACpC,OAAsB,EACtB,YAAqE,gBAAgB;QAErF,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IAKD,KAAK,CAAC,OAAO,CACX,WAA2B,EAC3B,UAAoC,EACpC,OAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAKD,KAAK,CAAC,aAAa,CACjB,WAA2B,EAC3B,UAAoC,EACpC,OAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAKD,KAAK,CAAC,IAAI,CACR,WAA2B,EAC3B,UAAoC,EACpC,OAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,SAAqB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,UAAwB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAKD,KAAK,CAAC,MAAM,CACV,WAA2B,EAC3B,WAA2B,EAC3B,UAAwB,EAAE,GAAG,EAAE,IAAI,EAAE;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS,CACP,WAA2B,EAC3B,WAA2B,EAC3B,OAAa;QAEb,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAKD,KAAK,CAAC,YAAY,CAChB,WAA2B,EAC3B,WAA2B,EAC3B,UAAwB,EAAE,GAAG,EAAE,IAAI,EAAE;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAKD,KAAK,CAAC,UAAU,CACd,WAA2B,EAC3B,WAA2B;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAKD,KAAK,CAAC,MAAM,CACV,WAA2B,EAC3B,OAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAKD,KAAK,CAAC,YAAY,CAChB,WAA2B,EAC3B,OAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,WAA2B;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,KAAK,CAAC,WAA2B;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,WAA2B;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAKD,KAAK,CAAC,SAAS,CAAC,QAAyB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAKD,KAAK,CAAC,UAAU,CACd,WAA2B,EAC3B,UAKI,EAAE;QAUN,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAKD,KAAK,CAAC,gBAAgB,CACpB,WAA2B,EAC3B,WAA2B,EAC3B,UAAwB,EAAE,GAAG,EAAE,IAAI,EAAE;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAKD,KAAK,CAAC,sBAAsB,CAC1B,WAA2B,EAC3B,WAA2B,EAC3B,UAAwB,EAAE,GAAG,EAAE,IAAI,EAAE;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;CAEF;AAjND,kCAiNC"}