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.
- package/README.md +38 -0
- package/dist/helpers/global-exception.filter.d.ts +13 -0
- package/dist/helpers/global-exception.filter.js +68 -0
- package/dist/helpers/global-exception.filter.js.map +1 -0
- package/dist/helpers/package-json.helper.d.ts +1 -0
- package/dist/helpers/package-json.helper.js +8 -0
- package/dist/helpers/package-json.helper.js.map +1 -0
- package/dist/helpers/request.helper.js.map +1 -0
- package/dist/index.js +10 -1
- package/dist/ms-redis/datapass.interceptor.d.ts +11 -0
- package/dist/ms-redis/datapass.interceptor.js +158 -0
- package/dist/ms-redis/datapass.interceptor.js.map +1 -0
- package/dist/ms-redis/dto/cache.dto.d.ts +12 -0
- package/dist/ms-redis/dto/cache.dto.js +87 -0
- package/dist/ms-redis/dto/cache.dto.js.map +1 -0
- package/dist/ms-redis/dto/cache.options.dto.d.ts +6 -0
- package/dist/ms-redis/dto/cache.options.dto.js +7 -0
- package/dist/ms-redis/dto/cache.options.dto.js.map +1 -0
- package/dist/ms-redis/ms-redis.module.d.ts +11 -0
- package/dist/ms-redis/ms-redis.module.js +71 -0
- package/dist/ms-redis/ms-redis.module.js.map +1 -0
- package/dist/ms-redis/ms-redis.service.d.ts +14 -0
- package/dist/ms-redis/ms-redis.service.js +74 -0
- package/dist/ms-redis/ms-redis.service.js.map +1 -0
- package/dist/ms-redis/request.proto +18 -0
- package/dist/ms-seguridad/Seguridad.pb.d.ts +57 -0
- package/dist/ms-seguridad/Seguridad.pb.js +23 -0
- package/dist/ms-seguridad/Seguridad.pb.js.map +1 -0
- package/dist/ms-seguridad/Seguridad.proto +60 -0
- package/dist/ms-seguridad/ms-seguridad.decorator.d.ts +11 -0
- package/dist/ms-seguridad/ms-seguridad.decorator.js +36 -0
- package/dist/ms-seguridad/ms-seguridad.decorator.js.map +1 -0
- package/dist/ms-seguridad/ms-seguridad.module.d.ts +13 -0
- package/dist/ms-seguridad/ms-seguridad.module.js +80 -0
- package/dist/ms-seguridad/ms-seguridad.module.js.map +1 -0
- package/dist/ms-seguridad/ms-seguridad.service.d.ts +15 -0
- package/dist/ms-seguridad/ms-seguridad.service.js +58 -0
- package/dist/ms-seguridad/ms-seguridad.service.js.map +1 -0
- package/dist/ms-seguridad/permision.guard.d.ts +13 -0
- package/dist/ms-seguridad/permision.guard.js +51 -0
- package/dist/ms-seguridad/permision.guard.js.map +1 -0
- package/dist/ms-seguridad/token-auth.guard.d.ts +7 -0
- package/dist/ms-seguridad/token-auth.guard.js +42 -0
- package/dist/ms-seguridad/token-auth.guard.js.map +1 -0
- package/dist/{src/services → services}/ms-files.service.js +1 -2
- package/dist/services/ms-files.service.js.map +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/{src/types → types}/input.type.js.map +1 -1
- package/dist/types/response.type.js.map +1 -0
- package/package.json +37 -8
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +0 -1
- package/dist/src/helpers/request.helper.js.map +0 -1
- package/dist/src/services/ms-files.service.js.map +0 -1
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/response.type.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/{src/helpers → helpers}/request.helper.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/request.helper.js +0 -0
- /package/dist/{src/services → services}/ms-files.service.d.ts +0 -0
- /package/dist/{src/types → types}/index.d.ts +0 -0
- /package/dist/{src/types → types}/index.js +0 -0
- /package/dist/{src/types → types}/input.type.d.ts +0 -0
- /package/dist/{src/types → types}/input.type.js +0 -0
- /package/dist/{src/types → types}/response.type.d.ts +0 -0
- /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
|
-
|
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 @@
|
|
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
|
+
}
|