fiscalia_bo-nest-helpers 0.0.5 → 0.0.7

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 (66) hide show
  1. package/README.md +38 -0
  2. package/dist/helpers/global-exception.filter.d.ts +13 -0
  3. package/dist/helpers/global-exception.filter.js +68 -0
  4. package/dist/helpers/global-exception.filter.js.map +1 -0
  5. package/dist/helpers/package-json.helper.d.ts +1 -0
  6. package/dist/helpers/package-json.helper.js +8 -0
  7. package/dist/helpers/package-json.helper.js.map +1 -0
  8. package/dist/helpers/request.helper.js.map +1 -0
  9. package/dist/index.js +10 -1
  10. package/dist/ms-redis/datapass.interceptor.d.ts +11 -0
  11. package/dist/ms-redis/datapass.interceptor.js +158 -0
  12. package/dist/ms-redis/datapass.interceptor.js.map +1 -0
  13. package/dist/ms-redis/dto/cache.dto.d.ts +12 -0
  14. package/dist/ms-redis/dto/cache.dto.js +87 -0
  15. package/dist/ms-redis/dto/cache.dto.js.map +1 -0
  16. package/dist/ms-redis/dto/cache.options.dto.d.ts +6 -0
  17. package/dist/ms-redis/dto/cache.options.dto.js +7 -0
  18. package/dist/ms-redis/dto/cache.options.dto.js.map +1 -0
  19. package/dist/ms-redis/ms-redis.module.d.ts +11 -0
  20. package/dist/ms-redis/ms-redis.module.js +71 -0
  21. package/dist/ms-redis/ms-redis.module.js.map +1 -0
  22. package/dist/ms-redis/ms-redis.service.d.ts +14 -0
  23. package/dist/ms-redis/ms-redis.service.js +74 -0
  24. package/dist/ms-redis/ms-redis.service.js.map +1 -0
  25. package/dist/ms-redis/request.proto +18 -0
  26. package/dist/ms-seguridad/Seguridad.pb.d.ts +57 -0
  27. package/dist/ms-seguridad/Seguridad.pb.js +23 -0
  28. package/dist/ms-seguridad/Seguridad.pb.js.map +1 -0
  29. package/dist/ms-seguridad/Seguridad.proto +60 -0
  30. package/dist/ms-seguridad/ms-seguridad.decorator.d.ts +11 -0
  31. package/dist/ms-seguridad/ms-seguridad.decorator.js +36 -0
  32. package/dist/ms-seguridad/ms-seguridad.decorator.js.map +1 -0
  33. package/dist/ms-seguridad/ms-seguridad.module.d.ts +13 -0
  34. package/dist/ms-seguridad/ms-seguridad.module.js +80 -0
  35. package/dist/ms-seguridad/ms-seguridad.module.js.map +1 -0
  36. package/dist/ms-seguridad/ms-seguridad.service.d.ts +15 -0
  37. package/dist/ms-seguridad/ms-seguridad.service.js +58 -0
  38. package/dist/ms-seguridad/ms-seguridad.service.js.map +1 -0
  39. package/dist/ms-seguridad/permision.guard.d.ts +13 -0
  40. package/dist/ms-seguridad/permision.guard.js +51 -0
  41. package/dist/ms-seguridad/permision.guard.js.map +1 -0
  42. package/dist/ms-seguridad/token-auth.guard.d.ts +7 -0
  43. package/dist/ms-seguridad/token-auth.guard.js +42 -0
  44. package/dist/ms-seguridad/token-auth.guard.js.map +1 -0
  45. package/dist/{src/services → services}/ms-files.service.js +1 -2
  46. package/dist/services/ms-files.service.js.map +1 -0
  47. package/dist/types/index.js.map +1 -0
  48. package/dist/{src/types → types}/input.type.js.map +1 -1
  49. package/dist/types/response.type.js.map +1 -0
  50. package/package.json +37 -8
  51. package/dist/index.d.ts +0 -1
  52. package/dist/index.js.map +0 -1
  53. package/dist/src/helpers/request.helper.js.map +0 -1
  54. package/dist/src/services/ms-files.service.js.map +0 -1
  55. package/dist/src/types/index.js.map +0 -1
  56. package/dist/src/types/response.type.js.map +0 -1
  57. package/dist/tsconfig.tsbuildinfo +0 -1
  58. /package/dist/{src/helpers → helpers}/request.helper.d.ts +0 -0
  59. /package/dist/{src/helpers → helpers}/request.helper.js +0 -0
  60. /package/dist/{src/services → services}/ms-files.service.d.ts +0 -0
  61. /package/dist/{src/types → types}/index.d.ts +0 -0
  62. /package/dist/{src/types → types}/index.js +0 -0
  63. /package/dist/{src/types → types}/input.type.d.ts +0 -0
  64. /package/dist/{src/types → types}/input.type.js +0 -0
  65. /package/dist/{src/types → types}/response.type.d.ts +0 -0
  66. /package/dist/{src/types → types}/response.type.js +0 -0
package/README.md CHANGED
@@ -42,6 +42,44 @@ import { MsFilesService } from 'fiscalia_bo-nest-helpers';
42
42
  ENV_SERVICE_MS_FILES='https://ms-files.url'
43
43
  ```
44
44
 
45
+ # USO DEL MODULO `MS-SEGURIDAD`
46
+
47
+ El módulo MsSeguridadModule proporciona una manera fácil de comunicarse con un servicio de seguridad a través de gRPC.
48
+
49
+ ## Servicios disponibles
50
+
51
+ - MsSeguridadModule
52
+ - MsSeguridadService
53
+
54
+ ## Configuración
55
+
56
+ Antes de utilizar el módulo, asegúrese de tener las siguientes variables de entorno configuradas:
57
+
58
+ - `ENV_GRPC_MS_SEGURIDAD`: la URL del servidor de seguridad a través de gRPC.
59
+
60
+ ## Uso
61
+
62
+ Para utilizar el módulo, primero importe `MsSeguridadModule` en su módulo principal:
63
+
64
+ ```typescript
65
+ import { Module } from '@nestjs/common';
66
+ import { MsSeguridadModule } from 'fiscalia_bo-nest-helpers/seguridad';
67
+
68
+ @Module({
69
+ imports: [
70
+ ConfigModule.forRoot({ isGlobal: true }),
71
+ MsSeguridadModule.register({ url: process.env.ENV_GRPC_MS_SEGURIDAD || '' }),
72
+ ],
73
+ controllers: [],
74
+ providers: [],
75
+ })
76
+ export class AppModule {}
77
+ ```
78
+
79
+ > **NOTA IMPORTANTE:** previo al uso del modulO debe importarse el [`ConfigModule`](https://docs.nestjs.com/techniques/configuration#getting-started "Nestjs Docs") de nestjs y configurarlo para uso global
80
+
81
+ En este ejemplo, estamos utilizando el método register para cargar la configuración de forma `síncrona`
82
+
45
83
  ## Información
46
84
 
47
85
  - Author - [UTIC](mailto:informatica@fiscalia.gob.bo)
@@ -0,0 +1,13 @@
1
+ import { ExceptionFilter, ArgumentsHost, BadRequestException, HttpException, NotAcceptableException } from '@nestjs/common';
2
+ export declare class GlobalExceptionFilter implements ExceptionFilter {
3
+ catch(error: Error, host: ArgumentsHost): void;
4
+ }
5
+ export declare class CustomHttpError extends HttpException {
6
+ constructor(message?: string, status?: number, response?: any, error?: boolean);
7
+ }
8
+ export declare class ApiBadRequestError extends BadRequestException {
9
+ constructor(message?: string, status?: number, response?: any, error?: boolean);
10
+ }
11
+ export declare class NotAcceptableError extends NotAcceptableException {
12
+ constructor(message?: string, status?: number, response?: any, error?: boolean);
13
+ }
@@ -0,0 +1,68 @@
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.NotAcceptableError = exports.ApiBadRequestError = exports.CustomHttpError = exports.GlobalExceptionFilter = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let GlobalExceptionFilter = class GlobalExceptionFilter {
12
+ catch(error, host) {
13
+ const response = host.switchToHttp().getResponse();
14
+ let resp = {
15
+ error: true,
16
+ message: 'Error interno del servidor',
17
+ response: null,
18
+ status: 500,
19
+ };
20
+ if (error instanceof common_1.BadRequestException) {
21
+ resp.message = `Excepción de solicitud incorrecta, ${error.getResponse().message}`;
22
+ resp.status = 400;
23
+ }
24
+ else if (error instanceof common_1.NotFoundException) {
25
+ resp.message = 'No encontrado';
26
+ resp.status = 404;
27
+ }
28
+ else if (error instanceof common_1.UnprocessableEntityException) {
29
+ resp.message = 'Entidad no processable';
30
+ resp.status = 422;
31
+ }
32
+ else if (error instanceof common_1.HttpException) {
33
+ const respErr = error.getResponse();
34
+ if (typeof (respErr === null || respErr === void 0 ? void 0 : respErr.error) !== 'boolean' && typeof (respErr === null || respErr === void 0 ? void 0 : respErr.message) !== 'string') {
35
+ if (typeof respErr === 'string')
36
+ response.message = respErr;
37
+ }
38
+ else
39
+ resp = respErr;
40
+ if (!resp.status || resp.status < 200)
41
+ resp.status = 400;
42
+ }
43
+ response.status(resp.status).json(resp);
44
+ }
45
+ };
46
+ GlobalExceptionFilter = __decorate([
47
+ (0, common_1.Catch)()
48
+ ], GlobalExceptionFilter);
49
+ exports.GlobalExceptionFilter = GlobalExceptionFilter;
50
+ class CustomHttpError extends common_1.HttpException {
51
+ constructor(message = 'Ocurrio un error', status = 400, response = null, error = true) {
52
+ super({ error, message, status, response }, status);
53
+ }
54
+ }
55
+ exports.CustomHttpError = CustomHttpError;
56
+ class ApiBadRequestError extends common_1.BadRequestException {
57
+ constructor(message = 'Ocurrio un error', status = 400, response = null, error = true) {
58
+ super({ error, message, status, response });
59
+ }
60
+ }
61
+ exports.ApiBadRequestError = ApiBadRequestError;
62
+ class NotAcceptableError extends common_1.NotAcceptableException {
63
+ constructor(message = 'no es posible devolver datos por un error', status = 406, response = null, error = true) {
64
+ super({ error, message, status, response });
65
+ }
66
+ }
67
+ exports.NotAcceptableError = NotAcceptableError;
68
+ //# sourceMappingURL=global-exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/helpers/global-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CASwB;AAIjB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,KAAK,CAAC,KAAY,EAAE,IAAmB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,IAAI,GAAqB;YAC3B,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,4BAA4B;YACrC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG;SACZ,CAAC;QAEF,IAAI,KAAK,YAAY,4BAAmB,EAAE;YACxC,IAAI,CAAC,OAAO,GAAG,sCACZ,KAAK,CAAC,WAAW,EAA2B,CAAC,OAChD,EAAE,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;aAAM,IAAI,KAAK,YAAY,0BAAiB,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;aAAM,IAAI,KAAK,YAAY,qCAA4B,EAAE;YACxD,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SACnB;aAAM,IAAI,KAAK,YAAY,sBAAa,EAAE;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAsB,CAAC;YACxD,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA,KAAK,SAAS,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,KAAK,QAAQ,EAAE;gBAC/E,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;aAC7D;;gBAAM,IAAI,GAAG,OAA2B,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;SAC1D;QAED,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAhCY,qBAAqB;IADjC,IAAA,cAAK,GAAE;GACK,qBAAqB,CAgCjC;AAhCY,sDAAqB;AAyClC,MAAa,eAAgB,SAAQ,sBAAa;IAChD,YAAY,OAAO,GAAG,kBAAkB,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI;QACnF,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;CACF;AAJD,0CAIC;AAKD,MAAa,kBAAmB,SAAQ,4BAAmB;IACzD,YAAY,OAAO,GAAG,kBAAkB,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI;QACnF,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,gDAIC;AAKD,MAAa,kBAAmB,SAAQ,+BAAsB;IAC5D,YACE,OAAO,GAAG,2CAA2C,EACrD,MAAM,GAAG,GAAG,EACZ,QAAQ,GAAG,IAAI,EACf,KAAK,GAAG,IAAI;QAEZ,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF;AATD,gDASC"}
@@ -0,0 +1 @@
1
+ export declare const nameParsePresentation: (name: string) => string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nameParsePresentation = void 0;
4
+ const nameParsePresentation = (name) => {
5
+ return name.toUpperCase().replace(/-/g, ' ');
6
+ };
7
+ exports.nameParsePresentation = nameParsePresentation;
8
+ //# sourceMappingURL=package-json.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-json.helper.js","sourceRoot":"","sources":["../../src/helpers/package-json.helper.ts"],"names":[],"mappings":";;;AAKO,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.helper.js","sourceRoot":"","sources":["../../src/helpers/request.helper.ts"],"names":[],"mappings":";;;AAAA,iCAAmD;AAU5C,KAAK,UAAU,WAAW,CAC/B,IAAiB,EACjB,OAAgB,EAChB,UAAe,EAAE;IAEjB,IAAI,QAAQ,GAAqB;QAC/B,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG;KACZ,CAAC;IACF,MAAM,IAAA,eAAK,EAAC;QACV,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;QACvE,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,aAAa,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;QAChC,OAAO,EAAE,IAAI,GAAG,GAAG;KACpB,CAAC;SACC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;QAClB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC5B,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;iBAC9B;qBAAM;oBACL,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC/C;aACF;iBAAM;gBACL,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;aAClC;SACF;aAAM;YACL,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;IACL,OAAO,QAAQ,CAAC;AAClB,CAAC;AAxCD,kCAwCC;AAQD,SAAgB,cAAc,CAAC,OAAe,EAAE,gBAA8C,EAAE;IAO9F,MAAM,iBAAiB,GAAG,CACxB,IAAiB,EACjB,UAAe,EAAE,EACe,EAAE;QAClC,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,kCAAO,aAAa,GAAK,OAAO,EAAG,CAAC;IACtE,CAAC,CAAC;IACF,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAdD,wCAcC"}
package/dist/index.js CHANGED
@@ -14,5 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./src/services/ms-files.service"), exports);
17
+ exports.PermissionsGuard = void 0;
18
+ __exportStar(require("./services/ms-files.service"), exports);
19
+ __exportStar(require("./ms-redis/ms-redis.module"), exports);
20
+ __exportStar(require("./ms-redis/ms-redis.service"), exports);
21
+ __exportStar(require("./ms-redis/datapass.interceptor"), exports);
22
+ __exportStar(require("./ms-seguridad/ms-seguridad.module"), exports);
23
+ __exportStar(require("./ms-seguridad/ms-seguridad.service"), exports);
24
+ var permision_guard_1 = require("./ms-seguridad/permision.guard");
25
+ Object.defineProperty(exports, "PermissionsGuard", { enumerable: true, get: function () { return permision_guard_1.PermissionsGuard; } });
26
+ __exportStar(require("./ms-seguridad/token-auth.guard"), exports);
18
27
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor, OnModuleInit } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ import 'reflect-metadata';
4
+ import { ClientGrpc } from '@nestjs/microservices';
5
+ export declare class DatapassInterceptor implements NestInterceptor, OnModuleInit {
6
+ private readonly client;
7
+ private cacheService;
8
+ constructor(client: ClientGrpc);
9
+ onModuleInit(): void;
10
+ intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<any>>;
11
+ }
@@ -0,0 +1,158 @@
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
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DatapassInterceptor = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const rxjs_1 = require("rxjs");
18
+ const operators_1 = require("rxjs/operators");
19
+ const class_validator_1 = require("class-validator");
20
+ require("reflect-metadata");
21
+ const class_transformer_1 = require("class-transformer");
22
+ const decorators_1 = require("@nestjs/common/decorators");
23
+ const cache_dto_1 = require("./dto/cache.dto");
24
+ const parseErrorReturn = (responseHttp, response, responseError) => {
25
+ if (!responseHttp) {
26
+ return (0, rxjs_1.throwError)(responseError);
27
+ }
28
+ else {
29
+ response.status(common_1.HttpStatus.BAD_REQUEST).json(responseError);
30
+ return (0, rxjs_1.throwError)(new common_1.HttpException(responseError, common_1.HttpStatus.BAD_REQUEST));
31
+ }
32
+ };
33
+ const parseResponseReturn = (responseHttp, response, dataCache, dataResponse) => {
34
+ if (responseHttp) {
35
+ response
36
+ .status(common_1.HttpStatus.OK)
37
+ .json(dataCache.keyResponse ? { [dataCache.keyResponse]: dataResponse } : dataResponse);
38
+ }
39
+ else {
40
+ return dataCache.keyResponse ? { [dataCache.keyResponse]: dataResponse } : dataResponse;
41
+ }
42
+ };
43
+ let DatapassInterceptor = class DatapassInterceptor {
44
+ constructor(client) {
45
+ this.client = client;
46
+ }
47
+ onModuleInit() {
48
+ this.cacheService = this.client.getService('RequestService');
49
+ }
50
+ async intercept(context, next) {
51
+ const request = context.switchToHttp().getRequest();
52
+ const response = context.switchToHttp().getResponse();
53
+ const { method, url, query } = request;
54
+ const dataQuery = (0, class_transformer_1.plainToClass)(cache_dto_1.parametersClientCacheDTO, query);
55
+ const TTL = dataQuery.ttl;
56
+ const dataCache = (0, class_transformer_1.plainToClass)(cache_dto_1.parametersControllerCacheDTO, TTL
57
+ ? Object.assign(Object.assign({}, Reflect.getMetadata('data-cache', context.getHandler())), { ttl: TTL }) : Reflect.getMetadata('data-cache', context.getHandler()));
58
+ const KEY = dataCache.useKeyUrl ? `${method}-${url.split('?')[0]}` : dataCache.key;
59
+ const valid = await (0, class_validator_1.validate)(dataCache);
60
+ if (valid.length) {
61
+ const responseError = {
62
+ message: Object.values(valid[0].constraints),
63
+ error: 'BAD_REQUEST',
64
+ status: 400,
65
+ };
66
+ return parseErrorReturn(dataCache.responseHttp, response, responseError);
67
+ }
68
+ let getData;
69
+ try {
70
+ getData = !dataQuery.noCache
71
+ ? await this.cacheService.GetCache({ request: JSON.stringify({ key: KEY }) }).toPromise()
72
+ : null;
73
+ getData = !dataQuery.noCache ? JSON.parse(getData.response) : null;
74
+ }
75
+ catch (error) {
76
+ if (!dataCache.ignoreExceptions) {
77
+ const responseError = {
78
+ message: error.message ? error.message : error,
79
+ error: 'BAD_REQUEST',
80
+ status: 400,
81
+ };
82
+ return parseErrorReturn(dataCache.responseHttp, response, responseError);
83
+ }
84
+ }
85
+ if (getData && getData.foundCache) {
86
+ try {
87
+ return (0, rxjs_1.of)(dataCache.keyResponse
88
+ ? { [dataCache.keyResponse]: getData.response, cache: true }
89
+ : Object.assign(Object.assign({}, getData.response), { cache: true }));
90
+ }
91
+ catch (error) {
92
+ if (!dataCache.ignoreExceptions) {
93
+ const responseError = {
94
+ message: error.message ? error.message : error,
95
+ error: 'BAD_REQUEST',
96
+ status: 400,
97
+ };
98
+ return parseErrorReturn(dataCache.responseHttp, response, responseError);
99
+ }
100
+ }
101
+ }
102
+ else {
103
+ let checkError;
104
+ let responseSent;
105
+ return next.handle().pipe((0, operators_1.switchMap)(async (data) => {
106
+ const dataResponse = data;
107
+ try {
108
+ await this.cacheService
109
+ .SetCache({
110
+ request: JSON.stringify({
111
+ key: KEY,
112
+ value: data,
113
+ ttl: dataCache.ttl,
114
+ }),
115
+ })
116
+ .toPromise();
117
+ const resp = parseResponseReturn(dataCache.responseHttp, response, dataCache, dataResponse);
118
+ if (resp) {
119
+ return resp;
120
+ }
121
+ else {
122
+ responseSent = true;
123
+ }
124
+ }
125
+ catch (error) {
126
+ if (!dataCache.ignoreExceptions) {
127
+ checkError = error.message ? error.message : error;
128
+ throw checkError;
129
+ }
130
+ }
131
+ finally {
132
+ if (dataCache.ignoreExceptions && !responseSent) {
133
+ return parseResponseReturn(dataCache.responseHttp, response, dataCache, dataResponse);
134
+ }
135
+ else if (!checkError && !responseSent) {
136
+ return parseResponseReturn(dataCache.responseHttp, response, dataCache, dataResponse);
137
+ }
138
+ }
139
+ }), (0, operators_1.catchError)(() => {
140
+ if (!dataCache.ignoreExceptions) {
141
+ const responseError = {
142
+ message: checkError,
143
+ error: 'BAD_REQUEST',
144
+ status: 400,
145
+ };
146
+ return parseErrorReturn(dataCache.responseHttp, response, responseError);
147
+ }
148
+ }));
149
+ }
150
+ }
151
+ };
152
+ DatapassInterceptor = __decorate([
153
+ (0, common_1.Injectable)(),
154
+ __param(0, (0, decorators_1.Inject)('RQ_PACKAGE')),
155
+ __metadata("design:paramtypes", [Object])
156
+ ], DatapassInterceptor);
157
+ exports.DatapassInterceptor = DatapassInterceptor;
158
+ //# sourceMappingURL=datapass.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapass.interceptor.js","sourceRoot":"","sources":["../../src/ms-redis/datapass.interceptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare class parametersClientCacheDTO {
2
+ 'noCache': boolean;
3
+ 'ttl': number;
4
+ }
5
+ export declare class parametersControllerCacheDTO {
6
+ 'key': string;
7
+ 'ttl': number;
8
+ 'keyResponse': string;
9
+ 'useKeyUrl': boolean;
10
+ 'ignoreExceptions': boolean;
11
+ responseHttp: boolean;
12
+ }
@@ -0,0 +1,87 @@
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.parametersControllerCacheDTO = exports.parametersClientCacheDTO = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class parametersClientCacheDTO {
16
+ constructor() {
17
+ this['noCache'] = false;
18
+ }
19
+ }
20
+ __decorate([
21
+ (0, class_transformer_1.Type)(() => String),
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_transformer_1.Transform)(({ value }) => {
24
+ return value === 'true' ? true : false;
25
+ }),
26
+ __metadata("design:type", Object)
27
+ ], parametersClientCacheDTO.prototype, "noCache", void 0);
28
+ __decorate([
29
+ (0, class_transformer_1.Type)(() => Number),
30
+ (0, class_validator_1.IsNumber)(),
31
+ (0, class_transformer_1.Transform)(({ value }) => {
32
+ let setValue = 0;
33
+ if (!isNaN(parseFloat(value)) && isFinite(value)) {
34
+ setValue = parseInt(value);
35
+ }
36
+ return setValue;
37
+ }),
38
+ __metadata("design:type", Number)
39
+ ], parametersClientCacheDTO.prototype, "ttl", void 0);
40
+ exports.parametersClientCacheDTO = parametersClientCacheDTO;
41
+ class parametersControllerCacheDTO {
42
+ constructor() {
43
+ this['useKeyUrl'] = false;
44
+ this['ignoreExceptions'] = false;
45
+ this.responseHttp = true;
46
+ }
47
+ }
48
+ __decorate([
49
+ (0, class_validator_1.ValidateIf)((o) => !o.useKeyUrl),
50
+ (0, class_validator_1.IsDefined)({ message: 'key o useKeyUrl es obligatorio' }),
51
+ (0, class_transformer_1.Type)(() => String),
52
+ (0, class_validator_1.IsString)(),
53
+ __metadata("design:type", String)
54
+ ], parametersControllerCacheDTO.prototype, "key", void 0);
55
+ __decorate([
56
+ (0, class_validator_1.IsDefined)({ message: 'TTL es obligatorio' }),
57
+ (0, class_transformer_1.Type)(() => Number),
58
+ (0, class_validator_1.IsNumber)(),
59
+ __metadata("design:type", Number)
60
+ ], parametersControllerCacheDTO.prototype, "ttl", void 0);
61
+ __decorate([
62
+ (0, class_validator_1.IsOptional)(),
63
+ (0, class_transformer_1.Type)(() => String),
64
+ (0, class_validator_1.IsString)(),
65
+ __metadata("design:type", String)
66
+ ], parametersControllerCacheDTO.prototype, "keyResponse", void 0);
67
+ __decorate([
68
+ (0, class_validator_1.ValidateIf)((o) => !o.key),
69
+ (0, class_validator_1.IsDefined)({ message: 'key o useKeyUrl es obligatorio' }),
70
+ (0, class_transformer_1.Type)(() => Boolean),
71
+ (0, class_validator_1.IsBoolean)(),
72
+ __metadata("design:type", Object)
73
+ ], parametersControllerCacheDTO.prototype, "useKeyUrl", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsOptional)(),
76
+ (0, class_transformer_1.Type)(() => Boolean),
77
+ (0, class_validator_1.IsBoolean)(),
78
+ __metadata("design:type", Object)
79
+ ], parametersControllerCacheDTO.prototype, "ignoreExceptions", void 0);
80
+ __decorate([
81
+ (0, class_validator_1.IsOptional)(),
82
+ (0, class_transformer_1.Type)(() => Boolean),
83
+ (0, class_validator_1.IsBoolean)(),
84
+ __metadata("design:type", Object)
85
+ ], parametersControllerCacheDTO.prototype, "responseHttp", void 0);
86
+ exports.parametersControllerCacheDTO = parametersControllerCacheDTO;
87
+ //# sourceMappingURL=cache.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.dto.js","sourceRoot":"","sources":["../../../src/ms-redis/dto/cache.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAAmG;AAEnG,MAAa,wBAAwB;IAArC;QAME,eAAS,GAAG,KAAK,CAAC;IAapB,CAAC;CAAA;AAlBC;IAAC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC;;yDACgB;AAElB;IAAC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YAChD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC5B;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;;qDACY;AAjBhB,4DAmBC;AAED,MAAa,4BAA4B;IAAzC;QA0BE,iBAAW,GAAG,KAAK,CAAC;QAKpB,wBAAkB,GAAG,KAAK,CAAC;QAK3B,iBAAY,GAAG,IAAI,CAAC;IACtB,CAAC;CAAA;AA/BC;IAAC,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/B,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;IACxD,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;yDACG;AAEd;IAAC,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC5C,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;yDACG;AAEd;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;iEACW;AAEtB;IAAC,IAAA,4BAAU,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzB,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;IACxD,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACnB,IAAA,2BAAS,GAAE;;+DACQ;AAEpB;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACnB,IAAA,2BAAS,GAAE;;sEACe;AAE3B;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACnB,IAAA,2BAAS,GAAE;;kEACQ;AApCtB,oEAqCC"}
@@ -0,0 +1,6 @@
1
+ export declare class cacheOptionsDTO {
2
+ host: string;
3
+ port: number;
4
+ password: string;
5
+ Reflector: any;
6
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheOptionsDTO = void 0;
4
+ class cacheOptionsDTO {
5
+ }
6
+ exports.cacheOptionsDTO = cacheOptionsDTO;
7
+ //# sourceMappingURL=cache.options.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.options.dto.js","sourceRoot":"","sources":["../../../src/ms-redis/dto/cache.options.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;CAK3B;AALD,0CAKC"}
@@ -0,0 +1,11 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { ClientProxy } from '@nestjs/microservices';
3
+ interface RedisModuleOptions {
4
+ urlRedisCache: string | undefined;
5
+ }
6
+ export declare class MsRedisModule {
7
+ static client: ClientProxy;
8
+ static register(options: RedisModuleOptions): DynamicModule;
9
+ static registerAsync(options: RedisModuleOptions): Promise<DynamicModule>;
10
+ }
11
+ export {};
@@ -0,0 +1,71 @@
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 MsRedisModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MsRedisModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const microservices_1 = require("@nestjs/microservices");
13
+ const path_1 = require("path");
14
+ const ms_redis_service_1 = require("./ms-redis.service");
15
+ const datapass_interceptor_1 = require("./datapass.interceptor");
16
+ const chalk_1 = require("chalk");
17
+ let MsRedisModule = MsRedisModule_1 = class MsRedisModule {
18
+ static register(options) {
19
+ const url = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
20
+ if (!url)
21
+ console.warn(chalk_1.bold.red(`ENV_GRPC_MS_REDIS_CACHE no definido en variables de entorno`));
22
+ this.client = microservices_1.ClientProxyFactory.create({
23
+ transport: microservices_1.Transport.GRPC,
24
+ options: {
25
+ url: url.trim(),
26
+ package: 'request',
27
+ protoPath: (0, path_1.join)(__dirname, './request.proto'),
28
+ loader: { keepCase: true },
29
+ },
30
+ });
31
+ return {
32
+ module: MsRedisModule_1,
33
+ imports: [],
34
+ providers: [
35
+ { provide: 'RQ_PACKAGE', useValue: this.client },
36
+ ms_redis_service_1.AppServiceRedisClient,
37
+ datapass_interceptor_1.DatapassInterceptor,
38
+ ],
39
+ exports: [ms_redis_service_1.AppServiceRedisClient, 'RQ_PACKAGE'],
40
+ };
41
+ }
42
+ static async registerAsync(options) {
43
+ const url = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
44
+ if (!url)
45
+ console.warn(chalk_1.bold.red(`ENV_GRPC_MS_REDIS_CACHE no definido en variables de entorno`));
46
+ this.client = await microservices_1.ClientProxyFactory.create({
47
+ transport: microservices_1.Transport.GRPC,
48
+ options: {
49
+ url: url.trim(),
50
+ package: 'request',
51
+ protoPath: (0, path_1.join)(__dirname, './request.proto'),
52
+ loader: { keepCase: true },
53
+ },
54
+ }).connect();
55
+ return {
56
+ module: MsRedisModule_1,
57
+ imports: [],
58
+ providers: [
59
+ { provide: 'RQ_PACKAGE', useValue: this.client },
60
+ ms_redis_service_1.AppServiceRedisClient,
61
+ datapass_interceptor_1.DatapassInterceptor,
62
+ ],
63
+ exports: [ms_redis_service_1.AppServiceRedisClient, 'RQ_PACKAGE'],
64
+ };
65
+ }
66
+ };
67
+ MsRedisModule = MsRedisModule_1 = __decorate([
68
+ (0, common_1.Module)({})
69
+ ], MsRedisModule);
70
+ exports.MsRedisModule = MsRedisModule;
71
+ //# sourceMappingURL=ms-redis.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ms-redis.module.js","sourceRoot":"","sources":["../../src/ms-redis/ms-redis.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,yDAAmF;AACnF,+BAA4B;AAC5B,yDAA2D;AAC3D,iEAA6D;AAC7D,iCAA6B;AAOtB,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAMxB,MAAM,CAAC,QAAQ,CAAC,OAA2B;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,YAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEhG,IAAI,CAAC,MAAM,GAAG,kCAAkB,CAAC,MAAM,CAAC;YACtC,SAAS,EAAE,yBAAS,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;gBACf,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B;SACF,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;gBAChD,wCAAqB;gBACrB,0CAAmB;aACpB;YACD,OAAO,EAAE,CAAC,wCAAqB,EAAE,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAA2B;QACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,YAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEhG,IAAI,CAAC,MAAM,GAAG,MAAM,kCAAkB,CAAC,MAAM,CAAC;YAC5C,SAAS,EAAE,yBAAS,CAAC,IAAI;YACzB,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;gBACf,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC;gBAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B;SACF,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;gBAChD,wCAAqB;gBACrB,0CAAmB;aACpB;YACD,OAAO,EAAE,CAAC,wCAAqB,EAAE,YAAY,CAAC;SAC/C,CAAC;IACJ,CAAC;CACF,CAAA;AA5DY,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CA4DzB;AA5DY,sCAAa"}
@@ -0,0 +1,14 @@
1
+ import { ClientGrpc } from '@nestjs/microservices';
2
+ export declare class AppServiceRedisClient {
3
+ private readonly client;
4
+ private cacheService;
5
+ constructor(client: ClientGrpc);
6
+ onModuleInit(): void;
7
+ SetCache(key: string, value: string, ttl: number): Promise<any>;
8
+ getCacheResponse(key: string): Promise<any>;
9
+ getCache(key: string): Promise<{
10
+ cache: any;
11
+ response: any;
12
+ }>;
13
+ DeleteCache(key: string): Promise<any>;
14
+ }