@mondart/nestjs-common-module 2.5.0 → 2.6.5

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.
Files changed (39) hide show
  1. package/dist/decorators/iam-context.decorator.d.ts +2 -0
  2. package/dist/decorators/iam-context.decorator.js +25 -15
  3. package/dist/dto/response/iam-context.dto.d.ts +4 -5
  4. package/dist/dto/response/iam-context.dto.js +10 -15
  5. package/dist/interfaces/get-agent.interface.d.ts +0 -1
  6. package/dist/lib/captcha/captcha.decorator.d.ts +4 -0
  7. package/dist/lib/captcha/captcha.decorator.js +7 -0
  8. package/dist/lib/captcha/captcha.exception.d.ts +4 -0
  9. package/dist/lib/captcha/captcha.exception.js +11 -0
  10. package/dist/lib/captcha/captcha.guard.d.ts +16 -0
  11. package/dist/lib/captcha/captcha.guard.js +83 -0
  12. package/dist/lib/captcha/captcha.interface.d.ts +26 -0
  13. package/dist/lib/captcha/captcha.interface.js +4 -0
  14. package/dist/lib/captcha/captcha.module.d.ts +8 -0
  15. package/dist/lib/captcha/captcha.module.js +97 -0
  16. package/dist/lib/captcha/enums/captcha-decorators.enum.d.ts +3 -0
  17. package/dist/lib/captcha/enums/captcha-decorators.enum.js +7 -0
  18. package/dist/lib/captcha/enums/captcha-messages.enum.d.ts +3 -0
  19. package/dist/lib/captcha/enums/captcha-messages.enum.js +7 -0
  20. package/dist/lib/captcha/index.d.ts +5 -0
  21. package/dist/lib/captcha/index.js +9 -0
  22. package/dist/lib/core-crud/controllers/core-crud.controller.js +10 -7
  23. package/dist/lib/core-crud/services/core-crud.service.d.ts +16 -16
  24. package/dist/lib/core-crud/services/core-crud.service.js +16 -16
  25. package/dist/lib/index.d.ts +2 -0
  26. package/dist/lib/index.js +2 -0
  27. package/dist/lib/request/enums/http-methods.enum.d.ts +7 -0
  28. package/dist/lib/request/enums/http-methods.enum.js +11 -0
  29. package/dist/lib/request/index.d.ts +4 -0
  30. package/dist/lib/request/index.js +9 -0
  31. package/dist/lib/request/request.module.d.ts +2 -0
  32. package/dist/lib/request/request.module.js +23 -0
  33. package/dist/lib/request/request.service.d.ts +31 -0
  34. package/dist/lib/request/request.service.js +75 -0
  35. package/dist/lib/saga/exceptions/saga-invocation.exception.js +1 -1
  36. package/dist/lib/saga/index.d.ts +1 -0
  37. package/dist/lib/saga/index.js +3 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +2 -2
@@ -12,7 +12,7 @@ class CoreCrudService {
12
12
  const metadata = this.repository.metadata;
13
13
  this.relationsPath = metadata.relations.map((relation) => relation.propertyPath);
14
14
  }
15
- async create(createDto, options) {
15
+ async create(createDto, options, ...args) {
16
16
  createDto = this.relatedPropertyTransformer(createDto);
17
17
  const entity = this.repository.create(createDto);
18
18
  if (options?.entityManager) {
@@ -22,7 +22,7 @@ class CoreCrudService {
22
22
  return await this.repository.save(entity);
23
23
  }
24
24
  }
25
- async update(id, updateDto, options) {
25
+ async update(id, updateDto, options, ...args) {
26
26
  updateDto = this.relatedPropertyTransformer(updateDto);
27
27
  if (!options?.entityManager) {
28
28
  const selectFields = Object.keys(updateDto);
@@ -67,13 +67,13 @@ class CoreCrudService {
67
67
  };
68
68
  }
69
69
  }
70
- async updateMany(query, updateDto, options) {
70
+ async updateMany(query, updateDto, options, ...args) {
71
71
  const foundEntities = await this.findAll(query, options);
72
72
  for await (const entity of foundEntities) {
73
73
  await this.update(entity.id, updateDto, options).catch((err) => console.log(err));
74
74
  }
75
75
  }
76
- async upsert(upsertDto, upsertOptions, options) {
76
+ async upsert(upsertDto, upsertOptions, options, ...args) {
77
77
  try {
78
78
  upsertDto = this.relatedPropertyTransformer(upsertDto);
79
79
  let conflictPaths = [];
@@ -110,7 +110,7 @@ class CoreCrudService {
110
110
  throw new common_1.BadRequestException(helpers_1.MessageFormatter.replace(enums_1.SharedMessages.UPSERT_FAILED, error));
111
111
  }
112
112
  }
113
- async findAllWithPagination(query, paginateConfig, options) {
113
+ async findAllWithPagination(query, paginateConfig, options, ...args) {
114
114
  return await (0, nestjs_paginate_1.paginate)(query, options?.selectQueryBuilder
115
115
  ? options.selectQueryBuilder
116
116
  : this.repository, {
@@ -122,7 +122,7 @@ class CoreCrudService {
122
122
  : undefined,
123
123
  });
124
124
  }
125
- async findAll(query, options) {
125
+ async findAll(query, options, ...args) {
126
126
  let result;
127
127
  query.where = this.whereQueryTransformer(query.where) ?? undefined;
128
128
  if (!options?.entityManager)
@@ -144,7 +144,7 @@ class CoreCrudService {
144
144
  }
145
145
  return result;
146
146
  }
147
- async findOneById(id, options) {
147
+ async findOneById(id, options, ...args) {
148
148
  let result;
149
149
  if (options?.entityManager) {
150
150
  result = await options.entityManager.findOne(this.repository.target, {
@@ -175,7 +175,7 @@ class CoreCrudService {
175
175
  }
176
176
  return result;
177
177
  }
178
- async findOne(query, options) {
178
+ async findOne(query, options, ...args) {
179
179
  let result;
180
180
  query.where = this.whereQueryTransformer(query.where) ?? undefined;
181
181
  if (options?.entityManager) {
@@ -199,7 +199,7 @@ class CoreCrudService {
199
199
  }
200
200
  return result;
201
201
  }
202
- async isExists(query, options) {
202
+ async isExists(query, options, ...args) {
203
203
  let result;
204
204
  query.where = this.whereQueryTransformer(query.where) ?? undefined;
205
205
  if (options?.entityManager) {
@@ -210,7 +210,7 @@ class CoreCrudService {
210
210
  }
211
211
  return result;
212
212
  }
213
- async count(query, options) {
213
+ async count(query, options, ...args) {
214
214
  let result;
215
215
  query.where = this.whereQueryTransformer(query.where) ?? undefined;
216
216
  if (options?.entityManager) {
@@ -221,7 +221,7 @@ class CoreCrudService {
221
221
  }
222
222
  return result;
223
223
  }
224
- async softDelete(query, options) {
224
+ async softDelete(query, options, ...args) {
225
225
  const formatedQuery = this.whereQueryTransformer(query) ?? undefined;
226
226
  if (options?.entityManager) {
227
227
  return await options?.entityManager.softDelete(this.repository.target, formatedQuery);
@@ -230,7 +230,7 @@ class CoreCrudService {
230
230
  return await this.repository.softDelete(formatedQuery);
231
231
  }
232
232
  }
233
- async softDeleteById(id, options) {
233
+ async softDeleteById(id, options, ...args) {
234
234
  if (options?.entityManager) {
235
235
  return await options?.entityManager.softDelete(this.repository.target, id);
236
236
  }
@@ -238,7 +238,7 @@ class CoreCrudService {
238
238
  return await this.repository.softDelete(id);
239
239
  }
240
240
  }
241
- async restore(query, options) {
241
+ async restore(query, options, ...args) {
242
242
  const formatedQuery = this.whereQueryTransformer(query) ?? undefined;
243
243
  if (options?.entityManager) {
244
244
  return await options?.entityManager.restore(this.repository.target, formatedQuery);
@@ -247,7 +247,7 @@ class CoreCrudService {
247
247
  return await this.repository.restore(formatedQuery);
248
248
  }
249
249
  }
250
- async restoreById(id, options) {
250
+ async restoreById(id, options, ...args) {
251
251
  if (options?.entityManager) {
252
252
  return await options?.entityManager.restore(this.repository.target, id);
253
253
  }
@@ -255,7 +255,7 @@ class CoreCrudService {
255
255
  return await this.repository.restore(id);
256
256
  }
257
257
  }
258
- async delete(query, options) {
258
+ async delete(query, options, ...args) {
259
259
  const formatedQuery = this.whereQueryTransformer(query) ?? undefined;
260
260
  if (options?.entityManager) {
261
261
  return await options?.entityManager.delete(this.repository.target, formatedQuery);
@@ -264,7 +264,7 @@ class CoreCrudService {
264
264
  return await this.repository.delete(formatedQuery);
265
265
  }
266
266
  }
267
- async deleteById(id, options) {
267
+ async deleteById(id, options, ...args) {
268
268
  if (options?.entityManager) {
269
269
  return await options?.entityManager.delete(this.repository.target, id);
270
270
  }
@@ -5,3 +5,5 @@ export * from './keycloak';
5
5
  export * from './core-crud';
6
6
  export * from './health-check';
7
7
  export * from './bottleneck';
8
+ export * from './captcha';
9
+ export * from './request';
package/dist/lib/index.js CHANGED
@@ -21,3 +21,5 @@ __exportStar(require("./keycloak"), exports);
21
21
  __exportStar(require("./core-crud"), exports);
22
22
  __exportStar(require("./health-check"), exports);
23
23
  __exportStar(require("./bottleneck"), exports);
24
+ __exportStar(require("./captcha"), exports);
25
+ __exportStar(require("./request"), exports);
@@ -0,0 +1,7 @@
1
+ export declare enum HttpMethods {
2
+ POST = "post",
3
+ GET = "get",
4
+ DELETE = "delete",
5
+ PUT = "put",
6
+ PATCH = "patch"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpMethods = void 0;
4
+ var HttpMethods;
5
+ (function (HttpMethods) {
6
+ HttpMethods["POST"] = "post";
7
+ HttpMethods["GET"] = "get";
8
+ HttpMethods["DELETE"] = "delete";
9
+ HttpMethods["PUT"] = "put";
10
+ HttpMethods["PATCH"] = "patch";
11
+ })(HttpMethods || (exports.HttpMethods = HttpMethods = {}));
@@ -0,0 +1,4 @@
1
+ import { RequestModule } from './request.module';
2
+ import { RequestService } from './request.service';
3
+ import { HttpMethods } from './enums/http-methods.enum';
4
+ export { RequestModule, RequestService, HttpMethods };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpMethods = exports.RequestService = exports.RequestModule = void 0;
4
+ const request_module_1 = require("./request.module");
5
+ Object.defineProperty(exports, "RequestModule", { enumerable: true, get: function () { return request_module_1.RequestModule; } });
6
+ const request_service_1 = require("./request.service");
7
+ Object.defineProperty(exports, "RequestService", { enumerable: true, get: function () { return request_service_1.RequestService; } });
8
+ const http_methods_enum_1 = require("./enums/http-methods.enum");
9
+ Object.defineProperty(exports, "HttpMethods", { enumerable: true, get: function () { return http_methods_enum_1.HttpMethods; } });
@@ -0,0 +1,2 @@
1
+ export declare class RequestModule {
2
+ }
@@ -0,0 +1,23 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RequestModule = void 0;
10
+ const axios_1 = require("@nestjs/axios");
11
+ const common_1 = require("@nestjs/common");
12
+ const request_service_1 = require("./request.service");
13
+ let RequestModule = class RequestModule {
14
+ };
15
+ exports.RequestModule = RequestModule;
16
+ exports.RequestModule = RequestModule = __decorate([
17
+ (0, common_1.Global)(),
18
+ (0, common_1.Module)({
19
+ imports: [axios_1.HttpModule],
20
+ providers: [request_service_1.RequestService],
21
+ exports: [request_service_1.RequestService],
22
+ })
23
+ ], RequestModule);
@@ -0,0 +1,31 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { HttpMethods } from './enums/http-methods.enum';
3
+ import { ConfigService } from '@nestjs/config';
4
+ interface ISendRequest {
5
+ method: HttpMethods;
6
+ body?: object;
7
+ path: string;
8
+ isAdditionalPath?: boolean;
9
+ token?: string;
10
+ headers?: object;
11
+ params?: string;
12
+ }
13
+ interface ISubRequest {
14
+ body?: any;
15
+ path: string;
16
+ token?: string;
17
+ headers?: object;
18
+ params?: string;
19
+ }
20
+ export declare class RequestService<T> {
21
+ private readonly configService;
22
+ private readonly httpService;
23
+ constructor(configService: ConfigService, httpService: HttpService);
24
+ sendRaw({ method, body, isAdditionalPath, path, headers, token, }: ISendRequest): Promise<any>;
25
+ send({ method, body, path, headers, token, params, }: ISendRequest): Promise<any>;
26
+ post(payload: ISubRequest): Promise<any>;
27
+ get(payload: ISubRequest): Promise<any>;
28
+ patch(payload: ISubRequest): Promise<any>;
29
+ remove(payload: Omit<ISubRequest, 'body'>): Promise<any>;
30
+ }
31
+ export { HttpMethods };
@@ -0,0 +1,75 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HttpMethods = exports.RequestService = void 0;
13
+ const axios_1 = require("@nestjs/axios");
14
+ const common_1 = require("@nestjs/common");
15
+ const rxjs_1 = require("rxjs");
16
+ const http_methods_enum_1 = require("./enums/http-methods.enum");
17
+ Object.defineProperty(exports, "HttpMethods", { enumerable: true, get: function () { return http_methods_enum_1.HttpMethods; } });
18
+ const config_1 = require("@nestjs/config");
19
+ let RequestService = class RequestService {
20
+ constructor(configService, httpService) {
21
+ this.configService = configService;
22
+ this.httpService = httpService;
23
+ }
24
+ async sendRaw({ method, body, isAdditionalPath, path, headers, token, }) {
25
+ const url = isAdditionalPath
26
+ ? this.configService.get('app.baseUrl') + path
27
+ : path;
28
+ const result = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
29
+ method,
30
+ data: body || {},
31
+ url: url,
32
+ headers: {
33
+ ...headers,
34
+ Authorization: `Bearer ${token}`,
35
+ },
36
+ }));
37
+ return result;
38
+ }
39
+ async send({ method, body, path, headers, token, params, }) {
40
+ try {
41
+ const url = params ? path + `?${params}` : path;
42
+ const result = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
43
+ method,
44
+ url,
45
+ data: body || {},
46
+ headers: {
47
+ ...headers,
48
+ Authorization: token ? `Bearer ${token}` : undefined,
49
+ },
50
+ }));
51
+ return result?.data;
52
+ }
53
+ catch (err) {
54
+ return err;
55
+ }
56
+ }
57
+ post(payload) {
58
+ return this.send({ ...payload, method: http_methods_enum_1.HttpMethods.POST });
59
+ }
60
+ get(payload) {
61
+ return this.send({ ...payload, method: http_methods_enum_1.HttpMethods.GET });
62
+ }
63
+ patch(payload) {
64
+ return this.send({ ...payload, method: http_methods_enum_1.HttpMethods.PATCH });
65
+ }
66
+ remove(payload) {
67
+ return this.send({ ...payload, method: http_methods_enum_1.HttpMethods.DELETE });
68
+ }
69
+ };
70
+ exports.RequestService = RequestService;
71
+ exports.RequestService = RequestService = __decorate([
72
+ (0, common_1.Injectable)(),
73
+ __metadata("design:paramtypes", [config_1.ConfigService,
74
+ axios_1.HttpService])
75
+ ], RequestService);
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SagaInvocationException = void 0;
4
4
  class SagaInvocationException extends Error {
5
5
  constructor(originalError, step) {
6
- super(originalError.message);
6
+ super(`${step}: ${originalError.message}`);
7
7
  this.originalError = originalError;
8
8
  this.step = step;
9
9
  Object.setPrototypeOf(this, SagaInvocationException.prototype);
@@ -4,3 +4,4 @@ export { SagaStatus } from './enums';
4
4
  export { SagaBuilder } from './services';
5
5
  export { SagaModule } from './saga.module';
6
6
  export { Saga } from './decorators';
7
+ export { SagaStep } from './types';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Saga = exports.SagaModule = exports.SagaBuilder = exports.SagaStatus = exports.SagaInvocationException = exports.SagaCompensationException = void 0;
3
+ exports.SagaStep = exports.Saga = exports.SagaModule = exports.SagaBuilder = exports.SagaStatus = exports.SagaInvocationException = exports.SagaCompensationException = void 0;
4
4
  var exceptions_1 = require("./exceptions");
5
5
  Object.defineProperty(exports, "SagaCompensationException", { enumerable: true, get: function () { return exceptions_1.SagaCompensationException; } });
6
6
  Object.defineProperty(exports, "SagaInvocationException", { enumerable: true, get: function () { return exceptions_1.SagaInvocationException; } });
@@ -12,3 +12,5 @@ var saga_module_1 = require("./saga.module");
12
12
  Object.defineProperty(exports, "SagaModule", { enumerable: true, get: function () { return saga_module_1.SagaModule; } });
13
13
  var decorators_1 = require("./decorators");
14
14
  Object.defineProperty(exports, "Saga", { enumerable: true, get: function () { return decorators_1.Saga; } });
15
+ var types_1 = require("./types");
16
+ Object.defineProperty(exports, "SagaStep", { enumerable: true, get: function () { return types_1.SagaStep; } });