fiscalia_bo-nest-helpers 0.2.8 → 0.2.10
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 +7 -6
- package/dist/ms-redis/datapass.interceptor.js +4 -1
- package/dist/ms-redis/datapass.interceptor.js.map +1 -1
- package/dist/ms-redis/dto/cache.dto.d.ts +1 -0
- package/dist/ms-redis/dto/cache.dto.js +7 -0
- package/dist/ms-redis/dto/cache.dto.js.map +1 -1
- package/dist/ms-redis/ms-redis.service.d.ts +4 -4
- package/dist/ms-redis/ms-redis.service.js +10 -10
- package/dist/ms-redis/ms-redis.service.js.map +1 -1
- package/dist/ms-seguridad/ms-seguridad.module.js +6 -6
- package/dist/ms-seguridad/ms-seguridad.module.js.map +1 -1
- package/dist/ms-seguridad/ms-seguridad.service.d.ts +1 -1
- package/dist/ms-seguridad/ms-seguridad.service.js +32 -16
- package/dist/ms-seguridad/ms-seguridad.service.js.map +1 -1
- package/dist/ms-seguridad/permision.guard.js +1 -1
- package/dist/ms-seguridad/permision.guard.js.map +1 -1
- package/dist/ms-seguridad/token-auth.guard.js +26 -2
- package/dist/ms-seguridad/token-auth.guard.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -61,7 +61,7 @@ para utilizar el servicio de seguridad es necesario importar el modulo `MsSeguri
|
|
61
61
|
Antes de utilizar el módulo, asegúrese de tener las siguientes variables de entorno configuradas:
|
62
62
|
|
63
63
|
- `ENV_GRPC_MS_SEGURIDAD`: la URL del servidor de seguridad a través de gRPC.
|
64
|
-
- `
|
64
|
+
- `ENV_GRPC_MS_REDIS_CACHE`: la URL del servidor de cacheo de redis a través de gRPC.
|
65
65
|
|
66
66
|
## Uso
|
67
67
|
|
@@ -79,7 +79,7 @@ import { MsSeguridadModule } from 'fiscalia_bo-nest-helpers/seguridad';
|
|
79
79
|
MsSeguridadModule.register({
|
80
80
|
global: true,
|
81
81
|
urlSeguridad: process.env.ENV_GRPC_MS_SEGURIDAD,
|
82
|
-
urlRedisCache: process.env.
|
82
|
+
urlRedisCache: process.env.ENV_GRPC_MS_REDIS_CACHE,
|
83
83
|
}),
|
84
84
|
],
|
85
85
|
controllers: [],
|
@@ -140,11 +140,11 @@ ejempos de uso:
|
|
140
140
|
}
|
141
141
|
```
|
142
142
|
|
143
|
-
# USO DEL SERVICIO `MS-REDIS`
|
143
|
+
# USO DEL SERVICIO `MS-REDIS`z
|
144
144
|
|
145
145
|
Antes de utilizar el módulo, asegúrese de tener las siguientes variables de entorno configuradas:
|
146
146
|
|
147
|
-
- `
|
147
|
+
- `ENV_GRPC_MS_REDIS_CACHE`: la URL del servidor de cacheo de redis a través de gRPC.
|
148
148
|
|
149
149
|
## Uso
|
150
150
|
|
@@ -159,7 +159,7 @@ import { MsRedisModule } from 'fiscalia_bo-nest-helpers/seguridad';
|
|
159
159
|
ConfigModule.forRoot({ isGlobal: true }),
|
160
160
|
|
161
161
|
// Register ms-seguridad module global
|
162
|
-
MsRedisModule.register({ urlRedisCache: process.env.
|
162
|
+
MsRedisModule.register({ urlRedisCache: process.env.ENV_GRPC_MS_REDIS_CACHE || '' }),
|
163
163
|
],
|
164
164
|
controllers: [],
|
165
165
|
providers: [],
|
@@ -173,7 +173,8 @@ Configuracion de Paquete en el archivo my.montroller.ts
|
|
173
173
|
import { DatapassInterceptor } from 'ms-redis-cliente'
|
174
174
|
|
175
175
|
@Get('/my-rest-api')
|
176
|
-
|
176
|
+
//db: es la base de datos en la cual se trabajara es opcional por defecto se guarda en la 0
|
177
|
+
@SetMetadata("data-cache", {key:"key-name-cache",ttl:15,db:0})
|
177
178
|
@UseInterceptors(DatapassInterceptor)
|
178
179
|
/*Configuracion de Res() obligatoria
|
179
180
|
{ passthrough: true }
|
@@ -69,7 +69,9 @@ let DatapassInterceptor = class DatapassInterceptor {
|
|
69
69
|
let getData;
|
70
70
|
try {
|
71
71
|
getData = !noCache
|
72
|
-
? await this.cacheService
|
72
|
+
? await this.cacheService
|
73
|
+
.GetCache({ request: JSON.stringify({ key: KEY, dataCache: dataCache.db || 0 }) })
|
74
|
+
.toPromise()
|
73
75
|
: null;
|
74
76
|
getData = !noCache ? JSON.parse(getData.response) : null;
|
75
77
|
}
|
@@ -112,6 +114,7 @@ let DatapassInterceptor = class DatapassInterceptor {
|
|
112
114
|
key: KEY,
|
113
115
|
value: data,
|
114
116
|
ttl: dataCache.ttl,
|
117
|
+
db: dataCache.db || 0,
|
115
118
|
}),
|
116
119
|
})
|
117
120
|
.toPromise();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"datapass.interceptor.js","sourceRoot":"","sources":["../../src/ms-redis/datapass.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,+BAAkD;AAClD,8CAAuD;AACvD,qDAA2C;AAC3C,4BAA0B;AAE1B,yDAAiD;AACjD,0DAAmD;AACnD,+CAAyF;AAQzF,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE;IACjE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,IAAA,iBAAU,EAAC,aAAa,CAAC,CAAC;KAClC;SAAM;QACL,QAAQ,CAAC,MAAM,CAAC,mBAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,OAAO,IAAA,iBAAU,EAAC,IAAI,sBAAa,CAAC,aAAa,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC,CAAC;KAC7E;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE;IAC9E,IAAI,YAAY,EAAE;QAChB,QAAQ;aACL,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC;aACrB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KAC3F;SAAM;QACL,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;KACzF;AACH,CAAC,CAAC;AAGK,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,YAAmD,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEzE,YAAY;QACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACvC,MAAM,SAAS,GAAG,IAAA,gCAAY,EAAC,oCAAwB,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAK,KAAK,CAAC;QAChD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAA,gCAAY,EAC5B,wCAA4B,EAC5B,GAAG;YACD,CAAC,iCACM,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,KAC1D,GAAG,EAAE,GAAG,IAEZ,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAC5D,CAAC;QACF,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAQ,EAAC,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC5C,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,GAAG;aACZ,CAAC;YACF,OAAO,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;SAC1E;QACD,IAAI,OAAO,CAAC;QACZ,IAAI;YACF,OAAO,GAAG,CAAC,OAAO;gBAChB,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,
|
1
|
+
{"version":3,"file":"datapass.interceptor.js","sourceRoot":"","sources":["../../src/ms-redis/datapass.interceptor.ts"],"names":[],"mappings":"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"}
|
@@ -43,6 +43,7 @@ class parametersControllerCacheDTO {
|
|
43
43
|
this['useKeyUrl'] = false;
|
44
44
|
this['ignoreExceptions'] = false;
|
45
45
|
this.responseHttp = true;
|
46
|
+
this.db = 0;
|
46
47
|
}
|
47
48
|
}
|
48
49
|
__decorate([
|
@@ -83,5 +84,11 @@ __decorate([
|
|
83
84
|
(0, class_validator_1.IsBoolean)(),
|
84
85
|
__metadata("design:type", Object)
|
85
86
|
], parametersControllerCacheDTO.prototype, "responseHttp", void 0);
|
87
|
+
__decorate([
|
88
|
+
(0, class_validator_1.IsOptional)(),
|
89
|
+
(0, class_transformer_1.Type)(() => Number),
|
90
|
+
(0, class_validator_1.IsNumber)(),
|
91
|
+
__metadata("design:type", Object)
|
92
|
+
], parametersControllerCacheDTO.prototype, "db", void 0);
|
86
93
|
exports.parametersControllerCacheDTO = parametersControllerCacheDTO;
|
87
94
|
//# sourceMappingURL=cache.dto.js.map
|
@@ -1 +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,kBAAY,GAAG,IAAI,CAAC;
|
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,kBAAY,GAAG,IAAI,CAAC;IAYtB,CAAC;CAAA;AAjBC;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,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC,CAAC;;4DACkB;AAEpB;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,4DAkBC;AAED,MAAa,4BAA4B;IAAzC;QAqBE,iBAAW,GAAG,KAAK,CAAC;QAKpB,wBAAkB,GAAG,KAAK,CAAC;QAK3B,iBAAY,GAAG,IAAI,CAAC;QAKpB,OAAE,GAAG,CAAC,CAAC;IACT,CAAC;CAAA;AApCC;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;AAEpB;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;wDACJ;AApCT,oEAqCC"}
|
@@ -4,14 +4,14 @@ export declare class MsRedisService {
|
|
4
4
|
private cacheService;
|
5
5
|
constructor(client: ClientGrpc);
|
6
6
|
onModuleInit(): void;
|
7
|
-
SetCache(key: string, value: string, ttl: number): Promise<any>;
|
7
|
+
SetCache(key: string, value: string, ttl: number, db?: number): Promise<any>;
|
8
8
|
private getCacheResponse;
|
9
|
-
getCache(key: string): Promise<import("src/dto/response.dto").ResponseDTO<unknown> | {
|
9
|
+
getCache(key: string, db?: number): Promise<import("src/dto/response.dto").ResponseDTO<unknown> | {
|
10
10
|
error: boolean;
|
11
11
|
status: number;
|
12
12
|
cache: any;
|
13
13
|
response: any;
|
14
14
|
}>;
|
15
|
-
DeleteCache(key: string): Promise<any>;
|
16
|
-
DeleteCacheInBlock(key: string): Promise<any>;
|
15
|
+
DeleteCache(key: string, db?: number): Promise<any>;
|
16
|
+
DeleteCacheInBlock(key: string, db?: number): Promise<any>;
|
17
17
|
}
|
@@ -23,10 +23,10 @@ let MsRedisService = class MsRedisService {
|
|
23
23
|
onModuleInit() {
|
24
24
|
this.cacheService = this.client.getService('RequestService');
|
25
25
|
}
|
26
|
-
async SetCache(key, value, ttl) {
|
26
|
+
async SetCache(key, value, ttl, db = 0) {
|
27
27
|
try {
|
28
28
|
const dataSetCache = await await (0, rxjs_1.firstValueFrom)(this.cacheService.SetCache({
|
29
|
-
request: JSON.stringify({ key
|
29
|
+
request: JSON.stringify({ key, value, ttl, db }),
|
30
30
|
}));
|
31
31
|
return dataSetCache;
|
32
32
|
}
|
@@ -37,14 +37,14 @@ let MsRedisService = class MsRedisService {
|
|
37
37
|
throw error;
|
38
38
|
}
|
39
39
|
}
|
40
|
-
async getCacheResponse(key) {
|
41
|
-
const getDataFromCache = await (0, rxjs_1.firstValueFrom)(this.cacheService.GetCache({ request: JSON.stringify({ key
|
40
|
+
async getCacheResponse(key, db = 0) {
|
41
|
+
const getDataFromCache = await (0, rxjs_1.firstValueFrom)(this.cacheService.GetCache({ request: JSON.stringify({ key, db }) }));
|
42
42
|
return getDataFromCache;
|
43
43
|
}
|
44
|
-
async getCache(key) {
|
44
|
+
async getCache(key, db = 0) {
|
45
45
|
var _a;
|
46
46
|
try {
|
47
|
-
const dataGetCache = await this.getCacheResponse(key);
|
47
|
+
const dataGetCache = await this.getCacheResponse(key, db);
|
48
48
|
const parseData = JSON.parse(dataGetCache['response']);
|
49
49
|
return {
|
50
50
|
error: false,
|
@@ -60,9 +60,9 @@ let MsRedisService = class MsRedisService {
|
|
60
60
|
throw error;
|
61
61
|
}
|
62
62
|
}
|
63
|
-
async DeleteCache(key) {
|
63
|
+
async DeleteCache(key, db = 0) {
|
64
64
|
try {
|
65
|
-
const dataDeleteCache = await (0, rxjs_1.firstValueFrom)(this.cacheService.DeleteCache({ request: JSON.stringify({ key
|
65
|
+
const dataDeleteCache = await (0, rxjs_1.firstValueFrom)(this.cacheService.DeleteCache({ request: JSON.stringify({ key, db }) }));
|
66
66
|
return dataDeleteCache;
|
67
67
|
}
|
68
68
|
catch (error) {
|
@@ -72,9 +72,9 @@ let MsRedisService = class MsRedisService {
|
|
72
72
|
throw error;
|
73
73
|
}
|
74
74
|
}
|
75
|
-
async DeleteCacheInBlock(key) {
|
75
|
+
async DeleteCacheInBlock(key, db = 0) {
|
76
76
|
try {
|
77
|
-
const dataDeleteCache = await (0, rxjs_1.firstValueFrom)(this.cacheService.DeleteCacheInBlock({ request: JSON.stringify({ key
|
77
|
+
const dataDeleteCache = await (0, rxjs_1.firstValueFrom)(this.cacheService.DeleteCacheInBlock({ request: JSON.stringify({ key, db }) }));
|
78
78
|
return dataDeleteCache;
|
79
79
|
}
|
80
80
|
catch (error) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-redis.service.js","sourceRoot":"","sources":["../../src/ms-redis/ms-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,+BAAkD;AAClD,sDAAyD;AAUlD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEzB,YAAmD,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEzE,YAAY;QACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,gBAAgB,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW;
|
1
|
+
{"version":3,"file":"ms-redis.service.js","sourceRoot":"","sources":["../../src/ms-redis/ms-redis.service.ts"],"names":[],"mappings":"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"}
|
@@ -21,13 +21,13 @@ const seguridad_pb_1 = require("./seguridad.pb");
|
|
21
21
|
let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
22
22
|
static register(options) {
|
23
23
|
const urlSeguridad = process.env.ENV_GRPC_MS_SEGURIDAD || (options && options.urlSeguridad);
|
24
|
-
const urlRedisCache = process.env.
|
24
|
+
const urlRedisCache = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
|
25
25
|
if (!urlSeguridad)
|
26
26
|
this.showError('ENV_GRPC_MS_SEGURIDAD');
|
27
27
|
if (!urlRedisCache)
|
28
|
-
this.showError('
|
28
|
+
this.showError('ENV_GRPC_MS_REDIS_CACHE');
|
29
29
|
if (!urlSeguridad || !urlRedisCache) {
|
30
|
-
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y
|
30
|
+
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y ENV_GRPC_MS_REDIS_CACHE no estan definidos en las variables de entorno`));
|
31
31
|
return { module: MsSeguridadModule_1 };
|
32
32
|
}
|
33
33
|
this.client = microservices_1.ClientProxyFactory.create({
|
@@ -54,13 +54,13 @@ let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
|
54
54
|
}
|
55
55
|
static async registerAsync(options) {
|
56
56
|
const urlSeguridad = process.env.ENV_GRPC_MS_SEGURIDAD || (options && options.urlSeguridad);
|
57
|
-
const urlRedisCache = process.env.
|
57
|
+
const urlRedisCache = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
|
58
58
|
if (!urlSeguridad)
|
59
59
|
this.showError('ENV_GRPC_MS_SEGURIDAD');
|
60
60
|
if (!urlRedisCache)
|
61
|
-
this.showError('
|
61
|
+
this.showError('ENV_GRPC_MS_REDIS_CACHE');
|
62
62
|
if (!urlSeguridad || !urlRedisCache) {
|
63
|
-
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y
|
63
|
+
console.warn(chalk_1.bold.red(`ENV_GRPC_MS_SEGURIDAD y ENV_GRPC_MS_REDIS_CACHE no estan definidos en las variables de entorno`));
|
64
64
|
return { module: MsSeguridadModule_1 };
|
65
65
|
}
|
66
66
|
this.client = await microservices_1.ClientProxyFactory.create({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,yDAAmF;AACnF,iEAA4D;AAC5D,iEAA6D;AAC7D,+BAA4B;AAC5B,iCAA6B;AAC7B,uCAAyC;AACzC,uEAAkE;AAClE,wEAAmE;AACnE,iDAAiE;AAW1D,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAM5B,MAAM,CAAC,QAAQ,CAAC,OAA+B;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":"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"}
|
@@ -8,7 +8,7 @@ export declare class MsSeguridadService {
|
|
8
8
|
private seguridadService;
|
9
9
|
constructor(client: ClientGrpc, redisCache: MsRedisService);
|
10
10
|
private onModuleInit;
|
11
|
-
|
11
|
+
userListPermissions(user: UserPayload, tokenBody: TokenBody): Promise<ResponseListPermissions_ResponseListPermisoMsn>;
|
12
12
|
validToken(tokenBody: TokenBody): Promise<import("./seguridad.pb").ResponseValidToken>;
|
13
13
|
userData(tokenBody: TokenBody): Promise<import("./seguridad.pb").ResponseUserData>;
|
14
14
|
login(data: LoginRequest): Promise<import("./seguridad.pb").LoginResponse>;
|
@@ -18,7 +18,6 @@ const seguridad_pb_1 = require("./seguridad.pb");
|
|
18
18
|
const rxjs_1 = require("rxjs");
|
19
19
|
const ms_redis_service_1 = require("../ms-redis/ms-redis.service");
|
20
20
|
const global_exception_filter_1 = require("../helpers/global-exception.filter");
|
21
|
-
const chalk_1 = require("chalk");
|
22
21
|
let MsSeguridadService = class MsSeguridadService {
|
23
22
|
constructor(client, redisCache) {
|
24
23
|
this.client = client;
|
@@ -27,14 +26,39 @@ let MsSeguridadService = class MsSeguridadService {
|
|
27
26
|
onModuleInit() {
|
28
27
|
this.seguridadService = this.client.getService(seguridad_pb_1.SEGURIDAD_SERVICE_NAME);
|
29
28
|
}
|
30
|
-
async
|
29
|
+
async userListPermissions(user, tokenBody) {
|
30
|
+
if (!user) {
|
31
|
+
throw new global_exception_filter_1.MsSeguridadHttpError('usuario no logueado', 401);
|
32
|
+
}
|
31
33
|
const keyCache = `cache_user_permissions_${user.usuarioId}_app_${user.aplicacionId}`;
|
32
|
-
const
|
33
|
-
if (
|
34
|
-
return
|
34
|
+
const resultCache = await this.redisCache.getCache(keyCache);
|
35
|
+
if (resultCache && !resultCache.error && resultCache.cache) {
|
36
|
+
return resultCache.response;
|
37
|
+
}
|
38
|
+
const resultGrpc = await (0, rxjs_1.firstValueFrom)(this.seguridadService.listPermissions(tokenBody)).catch((anyError) => {
|
39
|
+
const resp = {
|
40
|
+
error: true,
|
41
|
+
message: 'Error de conexion con ms-seguridad:v2 helpers',
|
42
|
+
response: null,
|
43
|
+
status: 503,
|
44
|
+
};
|
45
|
+
if (anyError.code === 14 && anyError.details.includes('No connection established')) {
|
46
|
+
resp.message = 'conexion no establecida con ms-seguridad:v2 helpers:permisos';
|
47
|
+
resp.status = 503;
|
48
|
+
}
|
49
|
+
else if (anyError.code === 13 &&
|
50
|
+
anyError.details.includes('Response message parsing error:')) {
|
51
|
+
resp.message = 'Error de conversion de datos grpc ms-seguridad:v2';
|
52
|
+
resp.status = 422;
|
53
|
+
}
|
54
|
+
return resp;
|
55
|
+
});
|
56
|
+
const { error, message, response, status } = resultGrpc;
|
57
|
+
if (error) {
|
58
|
+
this.redisCache.DeleteCache(keyCache);
|
59
|
+
throw new global_exception_filter_1.MsSeguridadHttpError(message, status, response, error);
|
35
60
|
}
|
36
|
-
|
37
|
-
return this.saveInRedisCache(response, keyCache);
|
61
|
+
return this.saveInRedisCache(resultGrpc.response, keyCache);
|
38
62
|
}
|
39
63
|
validToken(tokenBody) {
|
40
64
|
return (0, rxjs_1.firstValueFrom)(this.seguridadService.validToken(tokenBody));
|
@@ -71,16 +95,8 @@ let MsSeguridadService = class MsSeguridadService {
|
|
71
95
|
throw new global_exception_filter_1.MsSeguridadHttpError(error.message, error.status, error.response, error.error);
|
72
96
|
}
|
73
97
|
}
|
74
|
-
saveInRedisCache(
|
75
|
-
const { message, status, response, error } = inputData;
|
76
|
-
if (error) {
|
77
|
-
console.log(chalk_1.bold.red('ERROR: saveInRedisCache', message));
|
78
|
-
console.log(chalk_1.bold.red('ms-seguridad:saveInRedisCache, error string : ', JSON.stringify(error)));
|
79
|
-
this.redisCache.DeleteCache(keyCache);
|
80
|
-
throw new global_exception_filter_1.MsSeguridadHttpError(message, status, response, error);
|
81
|
-
}
|
98
|
+
saveInRedisCache(response, keyCache) {
|
82
99
|
this.redisCache.SetCache(keyCache, JSON.stringify(response), 30);
|
83
|
-
console.log(chalk_1.bold.blue('ms-seguridad:saveInRedisCache, se guarda permisos en cache ms-seguridad = ', inputData.response.data.total));
|
84
100
|
return response;
|
85
101
|
}
|
86
102
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.service.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,iDAYwB;AACxB,+BAAsC;AAEtC,mEAA+D;AAC/D,gFAA2E;
|
1
|
+
{"version":3,"file":"ms-seguridad.service.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.service.ts"],"names":[],"mappings":"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"}
|
@@ -25,7 +25,7 @@ let PermissionsGuard = class PermissionsGuard {
|
|
25
25
|
const request = context.switchToHttp().getRequest();
|
26
26
|
const token = request.headers.authorization.split(' ')[1];
|
27
27
|
const requiredPermissions = this.getRequiredPermissions(context);
|
28
|
-
const response = await this.seguridadService.
|
28
|
+
const response = await this.seguridadService.userListPermissions(request.userHeader, { token });
|
29
29
|
const userPermissions = (_a = response.data.permisos) !== null && _a !== void 0 ? _a : [];
|
30
30
|
request.permissions = userPermissions;
|
31
31
|
if (!requiredPermissions) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/permision.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwF;AACxF,iEAA4D;AAC5D,gFAA2E;AAE3E,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,CAAC,GAAG,WAAqB,EAAE,EAAE,CAC9D,IAAA,oBAAW,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAD/B,QAAA,mBAAmB,uBACY;AAGrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAErE,KAAK,CAAC,WAAW,CAAC,OAAyB;;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,
|
1
|
+
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/permision.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwF;AACxF,iEAA4D;AAC5D,gFAA2E;AAE3E,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,CAAC,GAAG,WAAqB,EAAE,EAAE,CAC9D,IAAA,oBAAW,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAD/B,QAAA,mBAAmB,uBACY;AAGrC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAErE,KAAK,CAAC,WAAW,CAAC,OAAyB;;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhG,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,mCAAI,EAAE,CAAC;QACrD,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QAEtC,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAGxE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,8CAAoB,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QAErF,OAAO,IAAI,CAAC;IACd,CAAC;IAGO,sBAAsB,CAAC,OAAyB;QACtD,OAAO,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IAGO,aAAa,CAAC,eAAyB,EAAE,mBAA6B;QAC5E,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACzF,CAAC;CACF,CAAA;AAlCY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAEoC,yCAAkB;GADtD,gBAAgB,CAkC5B;AAlCY,4CAAgB"}
|
@@ -27,9 +27,33 @@ let TokenAuthGuard = class TokenAuthGuard {
|
|
27
27
|
if (`${bearer}`.toLowerCase() !== 'bearer' || !token) {
|
28
28
|
throw new global_exception_filter_1.MsSeguridadHttpError('la peticion debe contener un jwt de autorización válido', 401);
|
29
29
|
}
|
30
|
-
const { error, response, message } = await this.seguridadService
|
30
|
+
const { error, response, message, status } = await this.seguridadService
|
31
|
+
.userData({ token })
|
32
|
+
.catch((anyError) => {
|
33
|
+
const resp = {
|
34
|
+
error: true,
|
35
|
+
message: 'Error de conexion con ms-seguridad:v2 helpers',
|
36
|
+
response: null,
|
37
|
+
status: 503,
|
38
|
+
};
|
39
|
+
if (anyError.code === 14 && anyError.details.includes('No connection established')) {
|
40
|
+
resp.message = 'conexion no establecida con ms-seguridad:v2 helpers:TokenAuthGuard';
|
41
|
+
resp.status = 503;
|
42
|
+
}
|
43
|
+
else if (anyError.code === 13 &&
|
44
|
+
anyError.details.includes('Response message parsing error:')) {
|
45
|
+
resp.message = 'Error de conversion de datos grpc ms-seguridad:v2';
|
46
|
+
resp.status = 422;
|
47
|
+
}
|
48
|
+
else if (anyError.code === 12 && anyError.details.includes('[object Object]')) {
|
49
|
+
resp.message =
|
50
|
+
'Error: el servicio GRPC de ms-seguridad:v2 no tiene implementado este método';
|
51
|
+
resp.status = 501;
|
52
|
+
}
|
53
|
+
return resp;
|
54
|
+
});
|
31
55
|
if (error) {
|
32
|
-
throw new global_exception_filter_1.MsSeguridadHttpError(message !== null && message !== void 0 ? message : 'el token no es válido',
|
56
|
+
throw new global_exception_filter_1.MsSeguridadHttpError(message !== null && message !== void 0 ? message : 'el token no es válido', status);
|
33
57
|
}
|
34
58
|
request.userHeader = response;
|
35
59
|
return true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"token-auth.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/token-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2E;AAC3E,iEAA4D;AAC5D,gFAA2E;
|
1
|
+
{"version":3,"file":"token-auth.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/token-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2E;AAC3E,iEAA4D;AAC5D,gFAA2E;AAIpE,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAErE,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAEjD,IAAI,CAAC,UAAU,EAAE;YAEf,MAAM,IAAI,8CAAoB,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;SAC3F;QAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;YAEpD,MAAM,IAAI,8CAAoB,CAC5B,yDAAyD,EACzD,GAAG,CACJ,CAAC;SACH;QAGD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB;aACrE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;aACnB,KAAK,CAAC,CAAC,QAAa,EAAE,EAAE;YACvB,MAAM,IAAI,GAAsB;gBAC9B,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,+CAA+C;gBACxD,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,GAAG;aACZ,CAAC;YAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;gBAClF,IAAI,CAAC,OAAO,GAAG,oEAAoE,CAAC;gBACpF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aACnB;iBAAM,IACL,QAAQ,CAAC,IAAI,KAAK,EAAE;gBACpB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAC5D;gBACA,IAAI,CAAC,OAAO,GAAG,mDAAmD,CAAC;gBACnE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aACnB;iBAEI,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;gBAC7E,IAAI,CAAC,OAAO;oBACV,8EAA8E,CAAC;gBACjF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aACnB;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,8CAAoB,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,uBAAuB,EAAE,MAAM,CAAC,CAAC;SAC5E;QAED,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA5DY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEoC,yCAAkB;GADtD,cAAc,CA4D1B;AA5DY,wCAAc"}
|