fiscalia_bo-nest-helpers 1.1.24 → 1.1.26
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/.vscode/settings.json +1 -0
- package/dist/modules/ms-redis/ms-redis.module.d.ts +5 -0
- package/dist/modules/ms-redis/ms-redis.module.js +5 -1
- package/dist/modules/ms-redis/ms-redis.module.js.map +1 -1
- package/dist/modules/ms-redis/services/http-client-redis.service.d.ts +13 -0
- package/dist/modules/ms-redis/services/http-client-redis.service.js +121 -0
- package/dist/modules/ms-redis/services/http-client-redis.service.js.map +1 -0
- package/dist/modules/ms-seguridad/guards/permision.guard.d.ts +3 -1
- package/dist/modules/ms-seguridad/guards/permision.guard.js +14 -4
- package/dist/modules/ms-seguridad/guards/permision.guard.js.map +1 -1
- package/dist/modules/ms-seguridad/ms-seguridad.controller.js +4 -3
- package/dist/modules/ms-seguridad/ms-seguridad.controller.js.map +1 -1
- package/dist/modules/ms-seguridad/ms-seguridad.http.service.d.ts +5 -3
- package/dist/modules/ms-seguridad/ms-seguridad.http.service.js +40 -10
- package/dist/modules/ms-seguridad/ms-seguridad.http.service.js.map +1 -1
- package/dist/modules/ms-seguridad/ms-seguridad.module.d.ts +8 -3
- package/dist/modules/ms-seguridad/ms-seguridad.module.js +10 -0
- package/dist/modules/ms-seguridad/ms-seguridad.module.js.map +1 -1
- package/package.json +1 -1
package/.vscode/settings.json
CHANGED
@@ -3,6 +3,11 @@ import { ClientProxy } from '@nestjs/microservices';
|
|
3
3
|
export type RedisModuleOptions = {
|
4
4
|
global?: boolean;
|
5
5
|
urlGrpcRedis?: string;
|
6
|
+
urlHttpRedis?: string;
|
7
|
+
useHttp?: boolean;
|
8
|
+
httpTimeout?: number;
|
9
|
+
maxBodyLength?: number;
|
10
|
+
maxContentLength?: number;
|
6
11
|
tcpHostMsRedis?: string;
|
7
12
|
tcpPortMsRedis?: number;
|
8
13
|
keepaliveTimeMs?: number;
|
@@ -14,10 +14,14 @@ const datapass_interceptor_1 = require("./datapass.interceptor");
|
|
14
14
|
const chalk_1 = require("chalk");
|
15
15
|
const tcp_client_redis_service_1 = require("./services/tcp-client-redis.service");
|
16
16
|
const grpc_client_redis_service_1 = require("./services/grpc-client-redis.service");
|
17
|
+
const http_client_redis_service_1 = require("./services/http-client-redis.service");
|
17
18
|
let MsRedisModule = MsRedisModule_1 = class MsRedisModule {
|
18
19
|
static register(options) {
|
19
20
|
let redisClient;
|
20
|
-
if (
|
21
|
+
if (options.useHttp && !!options.urlHttpRedis) {
|
22
|
+
redisClient = new http_client_redis_service_1.HttpClientRedisService(options);
|
23
|
+
}
|
24
|
+
else if (!!options.tcpHostMsRedis && !!options.tcpPortMsRedis) {
|
21
25
|
redisClient = new tcp_client_redis_service_1.TcpClientRedisService(options);
|
22
26
|
}
|
23
27
|
else if (!!options.urlGrpcRedis) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-redis.module.js","sourceRoot":"","sources":["../../../src/modules/ms-redis/ms-redis.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAEvD,yDAAoD;AACpD,iEAA6D;AAC7D,iCAA6B;AAC7B,kFAA4E;AAE5E,oFAA8E;
|
1
|
+
{"version":3,"file":"ms-redis.module.js","sourceRoot":"","sources":["../../../src/modules/ms-redis/ms-redis.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AAEvD,yDAAoD;AACpD,iEAA6D;AAC7D,iCAA6B;AAC7B,kFAA4E;AAE5E,oFAA8E;AAC9E,oFAA8E;AAoBvE,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAMxB,MAAM,CAAC,QAAQ,CAAC,OAA2B;QACzC,IAAI,WAAmC,CAAC;QACxC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9C,WAAW,GAAG,IAAI,kDAAsB,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChE,WAAW,GAAG,IAAI,gDAAqB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAClC,WAAW,GAAG,IAAI,kDAAsB,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,YAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAElE,OAAO,EAAE,MAAM,EAAE,eAAa,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,eAAa;YACrB,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE;gBAC/C,iCAAc;gBACd,0CAAmB;aACpB;YACD,OAAO,EAAE,CAAC,iCAAc,EAAE,WAAW,CAAC;SACvC,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,sCAAa;wBAAb,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CA+BzB"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { BaseClientRedisService } from './base.service';
|
2
|
+
import { ResponseDTO } from 'src/dto';
|
3
|
+
import { RedisModuleOptions } from '../ms-redis.module';
|
4
|
+
import { IResponseCache } from '../dto/types';
|
5
|
+
import { HttpService } from '@nestjs/axios';
|
6
|
+
export declare class HttpClientRedisService extends BaseClientRedisService {
|
7
|
+
client: HttpService;
|
8
|
+
constructor(options: RedisModuleOptions);
|
9
|
+
SetCache(key: string, value: any, ttl: number, db: number): Promise<ResponseDTO<string>>;
|
10
|
+
getCache<T>(key: string, db: number): Promise<IResponseCache<T>>;
|
11
|
+
DeleteCache(key: string, db: number): Promise<ResponseDTO<number>>;
|
12
|
+
DeleteCacheInBlock(key: string, db: number): Promise<ResponseDTO<any>>;
|
13
|
+
}
|
@@ -0,0 +1,121 @@
|
|
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.HttpClientRedisService = void 0;
|
13
|
+
const common_1 = require("@nestjs/common");
|
14
|
+
const base_service_1 = require("./base.service");
|
15
|
+
const dto_1 = require("../../../dto");
|
16
|
+
const rxjs_1 = require("rxjs");
|
17
|
+
const axios_1 = require("@nestjs/axios");
|
18
|
+
const axios_2 = require("axios");
|
19
|
+
let HttpClientRedisService = class HttpClientRedisService extends base_service_1.BaseClientRedisService {
|
20
|
+
constructor(options) {
|
21
|
+
super();
|
22
|
+
const axiosInstance = axios_2.default.create({
|
23
|
+
baseURL: options.urlHttpRedis,
|
24
|
+
timeout: options.httpTimeout || 5000,
|
25
|
+
maxRedirects: 5,
|
26
|
+
maxBodyLength: options.maxBodyLength || 100 * 1024 * 1024,
|
27
|
+
maxContentLength: options.maxContentLength || 100 * 1024 * 1024,
|
28
|
+
});
|
29
|
+
this.client = new axios_1.HttpService(axiosInstance);
|
30
|
+
}
|
31
|
+
async SetCache(key, value, ttl, db) {
|
32
|
+
const resp = await (0, rxjs_1.firstValueFrom)(this.client.post('/ms/set-cache', { key, value, ttl, db }))
|
33
|
+
.then((resp) => {
|
34
|
+
var _a;
|
35
|
+
if ((_a = resp === null || resp === void 0 ? void 0 : resp.data) === null || _a === void 0 ? void 0 : _a.response)
|
36
|
+
return (0, dto_1.dataResponseSuccess)({ data: resp.data.response }, { status: 200 });
|
37
|
+
else
|
38
|
+
return (0, dto_1.dataResponseError)(resp.statusText, { status: 500 });
|
39
|
+
})
|
40
|
+
.catch((err) => {
|
41
|
+
console.log('Error de ms-redis por TCP: ', err);
|
42
|
+
return (0, dto_1.dataResponseError)(err.message, { status: 500 });
|
43
|
+
});
|
44
|
+
return resp;
|
45
|
+
}
|
46
|
+
async getCache(key, db) {
|
47
|
+
const resp = await (0, rxjs_1.firstValueFrom)(this.client.post('/ms/get-cache', { key, db }))
|
48
|
+
.then((respAxios) => {
|
49
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
50
|
+
let respData = null;
|
51
|
+
if (!(respAxios === null || respAxios === void 0 ? void 0 : respAxios.data)) {
|
52
|
+
return {
|
53
|
+
error: true,
|
54
|
+
message: `MS-REDIS ${respAxios.statusText}`,
|
55
|
+
status: 503,
|
56
|
+
cache: false,
|
57
|
+
response: null,
|
58
|
+
};
|
59
|
+
}
|
60
|
+
if ((_a = respAxios.data) === null || _a === void 0 ? void 0 : _a.foundCache) {
|
61
|
+
if (typeof ((_b = respAxios.data) === null || _b === void 0 ? void 0 : _b.response) === 'string') {
|
62
|
+
try {
|
63
|
+
respData = JSON.parse((_c = respAxios.data) === null || _c === void 0 ? void 0 : _c.response);
|
64
|
+
}
|
65
|
+
catch (error) {
|
66
|
+
respData = (_d = respAxios.data) === null || _d === void 0 ? void 0 : _d.response;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
else
|
70
|
+
respData = (_e = respAxios.data) === null || _e === void 0 ? void 0 : _e.response;
|
71
|
+
}
|
72
|
+
return {
|
73
|
+
error: !((_f = respAxios === null || respAxios === void 0 ? void 0 : respAxios.data) === null || _f === void 0 ? void 0 : _f.foundCache),
|
74
|
+
status: ((_g = respAxios === null || respAxios === void 0 ? void 0 : respAxios.data) === null || _g === void 0 ? void 0 : _g.foundCache) ? 200 : 404,
|
75
|
+
cache: (_j = (_h = respAxios === null || respAxios === void 0 ? void 0 : respAxios.data) === null || _h === void 0 ? void 0 : _h.foundCache) !== null && _j !== void 0 ? _j : false,
|
76
|
+
response: respData,
|
77
|
+
};
|
78
|
+
})
|
79
|
+
.catch((err) => {
|
80
|
+
console.log('Error de ms-redis por TCP: ', err);
|
81
|
+
return {
|
82
|
+
error: true,
|
83
|
+
message: `MS-REDIS ${err.message}`,
|
84
|
+
status: 503,
|
85
|
+
cache: false,
|
86
|
+
response: null,
|
87
|
+
};
|
88
|
+
});
|
89
|
+
return resp;
|
90
|
+
}
|
91
|
+
async DeleteCache(key, db) {
|
92
|
+
const resp = await (0, rxjs_1.firstValueFrom)(this.client.post('/ms/delete-cache', { key, db }))
|
93
|
+
.then((resp) => {
|
94
|
+
var _a;
|
95
|
+
return (0, dto_1.dataResponseSuccess)({ data: (_a = resp === null || resp === void 0 ? void 0 : resp.data) === null || _a === void 0 ? void 0 : _a.response });
|
96
|
+
})
|
97
|
+
.catch((err) => {
|
98
|
+
console.log('Error de ms-redis por TCP: ', err);
|
99
|
+
return (0, dto_1.dataResponseError)(err.message, { status: 500 });
|
100
|
+
});
|
101
|
+
return resp;
|
102
|
+
}
|
103
|
+
async DeleteCacheInBlock(key, db) {
|
104
|
+
const resp = await (0, rxjs_1.firstValueFrom)(this.client.post('/ms/delete-cache-in-block', { key, db }))
|
105
|
+
.then((resp) => {
|
106
|
+
var _a;
|
107
|
+
return (0, dto_1.dataResponseSuccess)({ data: (_a = resp === null || resp === void 0 ? void 0 : resp.data) === null || _a === void 0 ? void 0 : _a.response });
|
108
|
+
})
|
109
|
+
.catch((err) => {
|
110
|
+
console.log('Error de ms-redis por TCP: ', err);
|
111
|
+
return (0, dto_1.dataResponseError)(err.message, { status: 500 });
|
112
|
+
});
|
113
|
+
return resp;
|
114
|
+
}
|
115
|
+
};
|
116
|
+
exports.HttpClientRedisService = HttpClientRedisService;
|
117
|
+
exports.HttpClientRedisService = HttpClientRedisService = __decorate([
|
118
|
+
(0, common_1.Injectable)(),
|
119
|
+
__metadata("design:paramtypes", [Object])
|
120
|
+
], HttpClientRedisService);
|
121
|
+
//# sourceMappingURL=http-client-redis.service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-client-redis.service.js","sourceRoot":"","sources":["../../../../src/modules/ms-redis/services/http-client-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,iDAAwD;AACxD,sCAA8E;AAC9E,+BAAsC;AAGtC,yCAA4C;AAC5C,iCAA0B;AAGnB,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,qCAAsB;IAGhE,YAAY,OAA2B;QACrC,KAAK,EAAE,CAAC;QACR,MAAM,aAAa,GAAG,eAAK,CAAC,MAAM,CAAC;YACjC,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACpC,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI;YACzD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI;SAChE,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAW,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,KAAU,EAAE,GAAW,EAAE,EAAU;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAuB,eAAe,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjF;aACE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;YACb,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ;gBACtB,OAAO,IAAA,yBAAmB,EAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;;gBAC/E,OAAO,IAAA,uBAAiB,EAAS,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAChD,OAAO,IAAA,uBAAiB,EAAS,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,GAAW,EAAE,EAAU;QACvC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAA4C,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAC1F;aACE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;;YAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAA,EAAE,CAAC;gBACrB,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,YAAY,SAAS,CAAC,UAAU,EAAE;oBAC3C,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI;iBACM,CAAC;YACzB,CAAC;YACD,IAAI,MAAA,SAAS,CAAC,IAAI,0CAAE,UAAU,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,QAAQ,CAAA,KAAK,QAAQ,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAA,SAAS,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC;oBAClD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,QAAQ,GAAG,MAAA,SAAS,CAAC,IAAI,0CAAE,QAAQ,CAAC;oBACtC,CAAC;gBACH,CAAC;;oBAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,IAAI,0CAAE,QAAQ,CAAC;YAC7C,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,UAAU,CAAA;gBACnC,MAAM,EAAE,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,UAAU,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gBAC/C,KAAK,EAAE,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,UAAU,mCAAI,KAAK;gBAC3C,QAAQ,EAAE,QAAQ;aACE,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAChD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,YAAY,GAAG,CAAC,OAAO,EAAE;gBAClC,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,IAAI;aACM,CAAC;QACzB,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,EAAU;QACvC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAuB,kBAAkB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACxE;aACE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;YACb,OAAO,IAAA,yBAAmB,EAAC,EAAE,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAChD,OAAO,IAAA,uBAAiB,EAAO,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,GAAW,EAAE,EAAU;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAc,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAuB,2BAA2B,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjF;aACE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;YACb,OAAO,IAAA,yBAAmB,EAAC,EAAE,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAChD,OAAO,IAAA,uBAAiB,EAAO,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAxGY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;;GACA,sBAAsB,CAwGlC"}
|
@@ -4,10 +4,12 @@ import { MsSeguridadHttpService } from '../ms-seguridad.http.service';
|
|
4
4
|
export declare const RequiredPermissions: (...permissions: string[]) => import("@nestjs/common").CustomDecorator<string>;
|
5
5
|
export declare class PermissionsGuard implements CanActivate {
|
6
6
|
private readonly seguridadService;
|
7
|
+
private readonly aplicationTag;
|
7
8
|
private readonly useHttpService;
|
8
9
|
private readonly seguridadHttpService;
|
9
|
-
constructor(seguridadService: MsSeguridadService, useHttpService: boolean, seguridadHttpService: MsSeguridadHttpService);
|
10
|
+
constructor(seguridadService: MsSeguridadService, aplicationTag: string, useHttpService: boolean, seguridadHttpService: MsSeguridadHttpService);
|
10
11
|
canActivate(context: ExecutionContext): Promise<boolean>;
|
11
12
|
private getRequiredPermissions;
|
13
|
+
private getAplications;
|
12
14
|
private hasPermission;
|
13
15
|
}
|
@@ -22,8 +22,9 @@ const PERMISSIONS_KEY = 'permissions_headers_key';
|
|
22
22
|
const RequiredPermissions = (...permissions) => (0, common_1.SetMetadata)(PERMISSIONS_KEY, permissions);
|
23
23
|
exports.RequiredPermissions = RequiredPermissions;
|
24
24
|
let PermissionsGuard = class PermissionsGuard {
|
25
|
-
constructor(seguridadService, useHttpService, seguridadHttpService) {
|
25
|
+
constructor(seguridadService, aplicationTag, useHttpService, seguridadHttpService) {
|
26
26
|
this.seguridadService = seguridadService;
|
27
|
+
this.aplicationTag = aplicationTag;
|
27
28
|
this.useHttpService = useHttpService;
|
28
29
|
this.seguridadHttpService = seguridadHttpService;
|
29
30
|
}
|
@@ -32,8 +33,9 @@ let PermissionsGuard = class PermissionsGuard {
|
|
32
33
|
const request = context.switchToHttp().getRequest();
|
33
34
|
const token = request.headers.authorization.split(' ')[1];
|
34
35
|
const requiredPermissions = this.getRequiredPermissions(context);
|
36
|
+
const allpermissions = this.getAplications(context);
|
35
37
|
const response = this.useHttpService
|
36
|
-
? await this.seguridadHttpService.userListPermissions(request.userHeader, { token })
|
38
|
+
? await this.seguridadHttpService.userListPermissions(request.userHeader, { token }, allpermissions)
|
37
39
|
: await this.seguridadService.userListPermissions(request.userHeader, { token });
|
38
40
|
if (!(response === null || response === void 0 ? void 0 : response.data)) {
|
39
41
|
console.info('---------------------------------------------------------------');
|
@@ -63,6 +65,13 @@ let PermissionsGuard = class PermissionsGuard {
|
|
63
65
|
getRequiredPermissions(context) {
|
64
66
|
return Reflect.getMetadata(PERMISSIONS_KEY, context.getHandler());
|
65
67
|
}
|
68
|
+
getAplications(context) {
|
69
|
+
const options = Reflect.getMetadata('validate_token_extra_values', context.getHandler());
|
70
|
+
const aplications = (options === null || options === void 0 ? void 0 : options.applications) && options.applications.length
|
71
|
+
? [...new Set([...options.applications, this.aplicationTag])]
|
72
|
+
: [];
|
73
|
+
return aplications;
|
74
|
+
}
|
66
75
|
hasPermission(userPermissions, requiredPermissions) {
|
67
76
|
return requiredPermissions.some((permission) => userPermissions.includes(permission));
|
68
77
|
}
|
@@ -70,7 +79,8 @@ let PermissionsGuard = class PermissionsGuard {
|
|
70
79
|
exports.PermissionsGuard = PermissionsGuard;
|
71
80
|
exports.PermissionsGuard = PermissionsGuard = __decorate([
|
72
81
|
(0, common_1.Injectable)(),
|
73
|
-
__param(1, (0, common_1.Inject)('
|
74
|
-
|
82
|
+
__param(1, (0, common_1.Inject)('APPLICATION_CODE_TAG')),
|
83
|
+
__param(2, (0, common_1.Inject)('PROVIDER_USE_HTTP_SERVICE')),
|
84
|
+
__metadata("design:paramtypes", [ms_seguridad_service_1.MsSeguridadService, String, Boolean, ms_seguridad_http_service_1.MsSeguridadHttpService])
|
75
85
|
], PermissionsGuard);
|
76
86
|
//# sourceMappingURL=permision.guard.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../../../src/modules/ms-seguridad/guards/permision.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgG;AAChG,kEAA6D;AAC7D,sFAA2E;AAC3E,wDAAqD;AACrD,4EAAsE;AAEtE,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,YACmB,gBAAoC,
|
1
|
+
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../../../src/modules/ms-seguridad/guards/permision.guard.ts"],"names":[],"mappings":"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"}
|
@@ -72,9 +72,10 @@ __decorate([
|
|
72
72
|
], MsSeguridadController.prototype, "login", null);
|
73
73
|
__decorate([
|
74
74
|
(0, common_1.Get)('information'),
|
75
|
-
(0, ms_seguridad_decorator_1.BearerAuthPermision)(),
|
76
|
-
(0,
|
77
|
-
|
75
|
+
(0, ms_seguridad_decorator_1.BearerAuthPermision)(['SGSI_POLITICAS_LISTAR_TIPO'], { applications: ['mp', 'sgsi'] }),
|
76
|
+
(0, controller_decorator_1.VersionDescription)('1', 'Servicio obtener la información de token.', [
|
77
|
+
'SGSI_POLITICAS_LISTAR_TIPO',
|
78
|
+
]),
|
78
79
|
__param(0, (0, ms_seguridad_decorator_2.AuthToken)()),
|
79
80
|
__metadata("design:type", Function),
|
80
81
|
__metadata("design:paramtypes", [String]),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.controller.js","sourceRoot":"","sources":["../../../src/modules/ms-seguridad/ms-seguridad.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,6CAAwD;AACxD,qEAA+D;AAC/D,qEAAqD;AACrD,iEAA4D;AAC5D,yCAAyC;AACzC,mFAA2E;AAC3E,gFAAyE;AACzE,mEAAuE;AAIhE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YAA6B,gBAAoC;QAApC,qBAAgB,GAAhB,gBAAgB,CAAoB;IAAG,CAAC;IAU/D,AAAN,KAAK,CAAC,KAAK,CAAQ,GAAY,EAAQ,EAAE,EAAU,IAAc;QAC/D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,iCAAM,IAAI,KAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAG,CAAC;QAC5F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,8CAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;
|
1
|
+
{"version":3,"file":"ms-seguridad.controller.js","sourceRoot":"","sources":["../../../src/modules/ms-seguridad/ms-seguridad.controller.ts"],"names":[],"mappings":"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"}
|
@@ -12,9 +12,11 @@ export declare class MsSeguridadHttpService {
|
|
12
12
|
userData(data: TokenBody): Promise<IResponseDTO<ResponseUserData_UserPayload>>;
|
13
13
|
validToken(data: TokenBody): Promise<ResponseValidToken>;
|
14
14
|
getTokenInformation(data: TokenBody): Promise<LoginResponse>;
|
15
|
-
registerUser(data: RegisterUserRequest): Promise<RegisterUserResponse>;
|
16
|
-
updateRoleAplication(data: UpdateRoleAppRequest): Promise<UpdateRoleAppResponse>;
|
17
|
-
userListPermissions(user: UserPayload, tokenBody: TokenBody): Promise<ResponseListPermissions_ResponseListPermisoMsn>;
|
15
|
+
registerUser(data: RegisterUserRequest, token: string): Promise<RegisterUserResponse>;
|
16
|
+
updateRoleAplication(data: UpdateRoleAppRequest, token: string): Promise<UpdateRoleAppResponse>;
|
17
|
+
userListPermissions(user: UserPayload, tokenBody: TokenBody, aplications?: string[]): Promise<ResponseListPermissions_ResponseListPermisoMsn>;
|
18
|
+
private loadPermisionByApps;
|
19
|
+
private listPermissionsByApps;
|
18
20
|
private listPermissions;
|
19
21
|
private saveInRedisCache;
|
20
22
|
}
|
@@ -26,42 +26,44 @@ let MsSeguridadHttpService = class MsSeguridadHttpService {
|
|
26
26
|
url: '/api/seguridad/userdata/bytoken',
|
27
27
|
method: 'post',
|
28
28
|
data,
|
29
|
-
});
|
29
|
+
}, { Authorization: `bearer ${data.token}` });
|
30
30
|
}
|
31
31
|
validToken(data) {
|
32
32
|
return this.requestHttpService({
|
33
33
|
url: '/api/seguridad/validate/token',
|
34
34
|
method: 'post',
|
35
35
|
data,
|
36
|
-
});
|
36
|
+
}, { Authorization: `bearer ${data.token}` });
|
37
37
|
}
|
38
38
|
getTokenInformation(data) {
|
39
39
|
return this.requestHttpService({
|
40
40
|
url: '/api/seguridad/token/information',
|
41
41
|
method: 'post',
|
42
42
|
data,
|
43
|
-
});
|
43
|
+
}, { Authorization: `bearer ${data.token}` });
|
44
44
|
}
|
45
|
-
registerUser(data) {
|
45
|
+
registerUser(data, token) {
|
46
46
|
return this.requestHttpService({
|
47
47
|
url: '/api/seguridad/register/user',
|
48
48
|
method: 'post',
|
49
49
|
data,
|
50
|
-
});
|
50
|
+
}, { Authorization: `bearer ${token}` });
|
51
51
|
}
|
52
|
-
updateRoleAplication(data) {
|
52
|
+
updateRoleAplication(data, token) {
|
53
53
|
return this.requestHttpService({
|
54
54
|
url: '/api/seguridad/update/roles/app',
|
55
55
|
method: 'post',
|
56
56
|
data,
|
57
|
-
});
|
57
|
+
}, { Authorization: `bearer ${token}` });
|
58
58
|
}
|
59
|
-
async userListPermissions(user, tokenBody) {
|
59
|
+
async userListPermissions(user, tokenBody, aplications = []) {
|
60
60
|
if (!user) {
|
61
61
|
throw new helpers_1.MsSeguridadHttpError('usuario no logueado', 401);
|
62
62
|
}
|
63
|
+
if (aplications.length > 0) {
|
64
|
+
return await this.loadPermisionByApps(user, tokenBody.token, aplications);
|
65
|
+
}
|
63
66
|
const keyCache = `cache_user_permissions_${user.usuarioId}_app_${user.aplicacionId}`;
|
64
|
-
null;
|
65
67
|
try {
|
66
68
|
const resultCache = await this.msRedisService.getCache(keyCache);
|
67
69
|
if (resultCache &&
|
@@ -82,12 +84,40 @@ let MsSeguridadHttpService = class MsSeguridadHttpService {
|
|
82
84
|
}
|
83
85
|
return this.saveInRedisCache(resultGrpc === null || resultGrpc === void 0 ? void 0 : resultGrpc.response, keyCache);
|
84
86
|
}
|
87
|
+
async loadPermisionByApps(user, token, applications) {
|
88
|
+
const keyCache = `cache_user_permissions_${user.usuarioId}_apps_${applications.join()}`;
|
89
|
+
try {
|
90
|
+
const resultCache = await this.msRedisService.getCache(keyCache);
|
91
|
+
if (resultCache &&
|
92
|
+
!resultCache.error &&
|
93
|
+
resultCache.cache &&
|
94
|
+
(resultCache === null || resultCache === void 0 ? void 0 : resultCache.response) !== null) {
|
95
|
+
return resultCache.response;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
catch (error) {
|
99
|
+
console.error(error);
|
100
|
+
}
|
101
|
+
const resultGrpc = await this.listPermissionsByApps({
|
102
|
+
applications,
|
103
|
+
token,
|
104
|
+
});
|
105
|
+
const { error, message, response, status } = resultGrpc;
|
106
|
+
if (error) {
|
107
|
+
this.msRedisService.DeleteCache(keyCache);
|
108
|
+
throw new helpers_1.MsSeguridadHttpError(message, status, response, error);
|
109
|
+
}
|
110
|
+
return this.saveInRedisCache(resultGrpc === null || resultGrpc === void 0 ? void 0 : resultGrpc.response, keyCache);
|
111
|
+
}
|
112
|
+
listPermissionsByApps(inputDto) {
|
113
|
+
return this.requestHttpService({ url: '/api/seguridad/permissions/by/apps', method: 'post', data: inputDto }, { Authorization: `bearer ${inputDto.token}` });
|
114
|
+
}
|
85
115
|
listPermissions(inputDto) {
|
86
116
|
return this.requestHttpService({
|
87
117
|
url: '/api/seguridad/list/permissions',
|
88
118
|
method: 'post',
|
89
119
|
data: inputDto,
|
90
|
-
});
|
120
|
+
}, { Authorization: `bearer ${inputDto.token}` });
|
91
121
|
}
|
92
122
|
saveInRedisCache(response, keyCache) {
|
93
123
|
var _a, _b;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.http.service.js","sourceRoot":"","sources":["../../../src/modules/ms-seguridad/ms-seguridad.http.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAA4C;AAC5C,qDAAyD;AAczD,2CAAmD;AACnD,0CAA6C;AAItC,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEjC,YACmB,WAAwB,EACxB,cAA8B;QAD9B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAE/C,IAAI,CAAC,kBAAkB,GAAG,IAAA,oCAAqB,EAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAQD,KAAK,CAAC,QAAQ,CAAC,IAAe;QAC5B,OAAO,IAAI,CAAC,kBAAkB,
|
1
|
+
{"version":3,"file":"ms-seguridad.http.service.js","sourceRoot":"","sources":["../../../src/modules/ms-seguridad/ms-seguridad.http.service.ts"],"names":[],"mappings":"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"}
|
@@ -2,9 +2,6 @@ import { DynamicModule } from '@nestjs/common';
|
|
2
2
|
import { ClientProxy } from '@nestjs/microservices';
|
3
3
|
type SeguridadModuleOptions = {
|
4
4
|
urlGrpcSeguridad: string;
|
5
|
-
urlGrpcRedis?: string;
|
6
|
-
tcpHostMsRedis?: string;
|
7
|
-
tcpPortMsRedis?: number;
|
8
5
|
applicationCodeTag?: string;
|
9
6
|
global?: boolean;
|
10
7
|
loadRoute?: boolean;
|
@@ -15,6 +12,14 @@ type SeguridadModuleOptions = {
|
|
15
12
|
maxBodyLength?: number;
|
16
13
|
timeout?: number;
|
17
14
|
maxContentLength?: number;
|
15
|
+
urlGrpcRedis?: string;
|
16
|
+
tcpHostMsRedis?: string;
|
17
|
+
tcpPortMsRedis?: number;
|
18
|
+
urlHttpRedis?: string;
|
19
|
+
useHttpRedis?: boolean;
|
20
|
+
httpTimeoutRedis?: number;
|
21
|
+
maxBodyLengthHttpRedis?: number;
|
22
|
+
maxContentLengthHttpRedis?: number;
|
18
23
|
};
|
19
24
|
export declare class MsSeguridadModule {
|
20
25
|
static client: ClientProxy;
|
@@ -51,6 +51,11 @@ let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
|
51
51
|
urlGrpcRedis: options.urlGrpcRedis,
|
52
52
|
tcpHostMsRedis: options.tcpHostMsRedis,
|
53
53
|
tcpPortMsRedis: options.tcpPortMsRedis,
|
54
|
+
urlHttpRedis: options.urlHttpRedis,
|
55
|
+
useHttp: options.useHttpRedis,
|
56
|
+
httpTimeout: options.httpTimeoutRedis,
|
57
|
+
maxBodyLength: options.maxBodyLengthHttpRedis,
|
58
|
+
maxContentLength: options.maxContentLengthHttpRedis,
|
54
59
|
}),
|
55
60
|
axios_1.HttpModule.register({
|
56
61
|
baseURL: options.urlHttps,
|
@@ -111,6 +116,11 @@ let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
|
111
116
|
urlGrpcRedis: options.urlGrpcRedis,
|
112
117
|
tcpHostMsRedis: options.tcpHostMsRedis,
|
113
118
|
tcpPortMsRedis: options.tcpPortMsRedis,
|
119
|
+
urlHttpRedis: options.urlHttpRedis,
|
120
|
+
useHttp: options.useHttpRedis,
|
121
|
+
httpTimeout: options.httpTimeoutRedis,
|
122
|
+
maxBodyLength: options.maxBodyLengthHttpRedis,
|
123
|
+
maxContentLength: options.maxContentLengthHttpRedis,
|
114
124
|
}),
|
115
125
|
axios_1.HttpModule.register({
|
116
126
|
baseURL: options.urlHttps,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../../src/modules/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,yDAAmF;AACnF,iEAA4D;AAC5D,iEAAqE;AACrE,+BAA4B;AAC5B,iCAA6B;AAC7B,uCAAyC;AACzC,uEAAkE;AAClE,wEAAmE;AACnE,uDAAuE;AACvE,2EAAqE;AACrE,yCAA2C;
|
1
|
+
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../../src/modules/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":"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"}
|