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
@@ -0,0 +1,74 @@
|
|
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.AppServiceRedisClient = void 0;
|
16
|
+
const common_1 = require("@nestjs/common");
|
17
|
+
let AppServiceRedisClient = class AppServiceRedisClient {
|
18
|
+
constructor(client) {
|
19
|
+
this.client = client;
|
20
|
+
}
|
21
|
+
onModuleInit() {
|
22
|
+
this.cacheService = this.client.getService('RequestService');
|
23
|
+
}
|
24
|
+
async SetCache(key, value, ttl) {
|
25
|
+
try {
|
26
|
+
const dataSetCache = await this.cacheService
|
27
|
+
.SetCache({
|
28
|
+
request: JSON.stringify({ key: key, value: value, ttl: ttl }),
|
29
|
+
})
|
30
|
+
.toPromise();
|
31
|
+
return dataSetCache;
|
32
|
+
}
|
33
|
+
catch (error) {
|
34
|
+
throw error;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
async getCacheResponse(key) {
|
38
|
+
const getCache = await this.cacheService
|
39
|
+
.GetCache({ request: JSON.stringify({ key: key }) })
|
40
|
+
.toPromise();
|
41
|
+
return getCache;
|
42
|
+
}
|
43
|
+
async getCache(key) {
|
44
|
+
try {
|
45
|
+
const dataGetCache = await this.getCacheResponse(key);
|
46
|
+
const parseData = JSON.parse(dataGetCache['response']);
|
47
|
+
return {
|
48
|
+
cache: parseData.foundCache,
|
49
|
+
response: JSON.parse(parseData.response),
|
50
|
+
};
|
51
|
+
}
|
52
|
+
catch (error) {
|
53
|
+
throw error;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
async DeleteCache(key) {
|
57
|
+
try {
|
58
|
+
const dataDeleteCache = await this.cacheService
|
59
|
+
.DeleteCache({ request: JSON.stringify({ key: key }) })
|
60
|
+
.toPromise();
|
61
|
+
return dataDeleteCache;
|
62
|
+
}
|
63
|
+
catch (error) {
|
64
|
+
throw error;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
};
|
68
|
+
AppServiceRedisClient = __decorate([
|
69
|
+
(0, common_1.Injectable)(),
|
70
|
+
__param(0, (0, common_1.Inject)('RQ_PACKAGE')),
|
71
|
+
__metadata("design:paramtypes", [Object])
|
72
|
+
], AppServiceRedisClient);
|
73
|
+
exports.AppServiceRedisClient = AppServiceRedisClient;
|
74
|
+
//# sourceMappingURL=ms-redis.service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ms-redis.service.js","sourceRoot":"","sources":["../../src/ms-redis/ms-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAW7C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAEhC,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;QACpD,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY;iBACzC,QAAQ,CAAC;gBACR,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aAC9D,CAAC;iBACD,SAAS,EAAE,CAAC;YACf,OAAO,YAAY,CAAC;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY;aACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;aACnD,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,IAAI;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;aACzC,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,IAAI;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY;iBAC5C,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;iBACtD,SAAS,EAAE,CAAC;YACf,OAAO,eAAe,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF,CAAA;AAnDY,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAGE,WAAA,IAAA,eAAM,EAAC,YAAY,CAAC,CAAA;;GAFtB,qBAAqB,CAmDjC;AAnDY,sDAAqB"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
package request;
|
4
|
+
|
5
|
+
service RequestService {
|
6
|
+
rpc GetCache (Request) returns (Response);
|
7
|
+
rpc SetCache (Request) returns (Response);
|
8
|
+
rpc DeleteCache (Request) returns (Response);
|
9
|
+
rpc DeleteAllCache (Request) returns (Response);
|
10
|
+
}
|
11
|
+
|
12
|
+
message Request {
|
13
|
+
string request = 1;
|
14
|
+
}
|
15
|
+
|
16
|
+
message Response {
|
17
|
+
string response = 1;
|
18
|
+
}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { Observable } from "rxjs";
|
2
|
+
export declare const protobufPackage = "seguridad.Seguridad";
|
3
|
+
export interface TokenBody {
|
4
|
+
token: string;
|
5
|
+
}
|
6
|
+
export interface ResponseListPermissions {
|
7
|
+
error: boolean;
|
8
|
+
message: string;
|
9
|
+
status: number;
|
10
|
+
response: ResponseListPermissions_ResponseListPermisoMsn | undefined;
|
11
|
+
}
|
12
|
+
export interface ResponseListPermissions_ResponseListPermisoMsn {
|
13
|
+
data: ResponseListPermissions_Response | undefined;
|
14
|
+
validationErrors: string;
|
15
|
+
suggestions: string;
|
16
|
+
}
|
17
|
+
export interface ResponseListPermissions_Response {
|
18
|
+
permisos: string[];
|
19
|
+
total: number;
|
20
|
+
}
|
21
|
+
export interface ResponseValidToken {
|
22
|
+
error: boolean;
|
23
|
+
message: string;
|
24
|
+
status: number;
|
25
|
+
response: ResponseValidToken_ResponseValidTokenMsn | undefined;
|
26
|
+
}
|
27
|
+
export interface ResponseValidToken_ResponseValidTokenMsn {
|
28
|
+
data: boolean;
|
29
|
+
validationErrors: string;
|
30
|
+
suggestions: string;
|
31
|
+
}
|
32
|
+
export interface ResponseUserData {
|
33
|
+
error: boolean;
|
34
|
+
message: string;
|
35
|
+
status: number;
|
36
|
+
response: ResponseUserData_UserPayload | undefined;
|
37
|
+
}
|
38
|
+
export interface ResponseUserData_UserPayload {
|
39
|
+
ci: string;
|
40
|
+
idAplicacion: number;
|
41
|
+
idFuncionario: number;
|
42
|
+
idPersona: number;
|
43
|
+
usuarioId: number;
|
44
|
+
}
|
45
|
+
export declare const SEGURIDAD__SEGURIDAD_PACKAGE_NAME = "seguridad.Seguridad";
|
46
|
+
export interface SeguridadControllerClient {
|
47
|
+
listPermissions(request: TokenBody): Observable<ResponseListPermissions>;
|
48
|
+
validToken(request: TokenBody): Observable<ResponseValidToken>;
|
49
|
+
userDataByToken(request: TokenBody): Observable<ResponseUserData>;
|
50
|
+
}
|
51
|
+
export interface SeguridadControllerController {
|
52
|
+
listPermissions(request: TokenBody): Promise<ResponseListPermissions> | Observable<ResponseListPermissions> | ResponseListPermissions;
|
53
|
+
validToken(request: TokenBody): Promise<ResponseValidToken> | Observable<ResponseValidToken> | ResponseValidToken;
|
54
|
+
userDataByToken(request: TokenBody): Promise<ResponseUserData> | Observable<ResponseUserData> | ResponseUserData;
|
55
|
+
}
|
56
|
+
export declare function SeguridadControllerControllerMethods(): (constructor: Function) => void;
|
57
|
+
export declare const SEGURIDAD_CONTROLLER_SERVICE_NAME = "SeguridadController";
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.SEGURIDAD_CONTROLLER_SERVICE_NAME = exports.SeguridadControllerControllerMethods = exports.SEGURIDAD__SEGURIDAD_PACKAGE_NAME = exports.protobufPackage = void 0;
|
4
|
+
const microservices_1 = require("@nestjs/microservices");
|
5
|
+
exports.protobufPackage = "seguridad.Seguridad";
|
6
|
+
exports.SEGURIDAD__SEGURIDAD_PACKAGE_NAME = "seguridad.Seguridad";
|
7
|
+
function SeguridadControllerControllerMethods() {
|
8
|
+
return function (constructor) {
|
9
|
+
const grpcMethods = ["listPermissions", "validToken", "userDataByToken"];
|
10
|
+
for (const method of grpcMethods) {
|
11
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
12
|
+
(0, microservices_1.GrpcMethod)("SeguridadController", method)(constructor.prototype[method], method, descriptor);
|
13
|
+
}
|
14
|
+
const grpcStreamMethods = [];
|
15
|
+
for (const method of grpcStreamMethods) {
|
16
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
17
|
+
(0, microservices_1.GrpcStreamMethod)("SeguridadController", method)(constructor.prototype[method], method, descriptor);
|
18
|
+
}
|
19
|
+
};
|
20
|
+
}
|
21
|
+
exports.SeguridadControllerControllerMethods = SeguridadControllerControllerMethods;
|
22
|
+
exports.SEGURIDAD_CONTROLLER_SERVICE_NAME = "SeguridadController";
|
23
|
+
//# sourceMappingURL=Seguridad.pb.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Seguridad.pb.js","sourceRoot":"","sources":["../../src/ms-seguridad/Seguridad.pb.ts"],"names":[],"mappings":";;;AACA,yDAAqE;AAGxD,QAAA,eAAe,GAAG,qBAAqB,CAAC;AAoDxC,QAAA,iCAAiC,GAAG,qBAAqB,CAAC;AAwBvE,SAAgB,oCAAoC;IAClD,OAAO,UAAU,WAAqB;QACpC,MAAM,WAAW,GAAa,CAAC,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACnF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;YAChC,MAAM,UAAU,GAAQ,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxF,IAAA,0BAAU,EAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SAC9F;QACD,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE;YACtC,MAAM,UAAU,GAAQ,OAAO,CAAC,wBAAwB,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxF,IAAA,gCAAgB,EAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACpG;IACH,CAAC,CAAC;AACJ,CAAC;AAbD,oFAaC;AAEY,QAAA,iCAAiC,GAAG,qBAAqB,CAAC"}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
package seguridad.Seguridad;
|
4
|
+
|
5
|
+
// Inicio AuthAplicaciones
|
6
|
+
service SeguridadController {
|
7
|
+
rpc ListPermissions (TokenBody) returns (ResponseListPermissions) {}
|
8
|
+
rpc ValidToken (TokenBody) returns (ResponseValidToken) {}
|
9
|
+
rpc UserDataByToken (TokenBody) returns (ResponseUserData) {}
|
10
|
+
}
|
11
|
+
|
12
|
+
message TokenBody {
|
13
|
+
string token = 1;
|
14
|
+
}
|
15
|
+
|
16
|
+
message ResponseListPermissions {
|
17
|
+
bool error = 1;
|
18
|
+
string message = 2;
|
19
|
+
int32 status = 3;
|
20
|
+
ResponseListPermisoMsn response = 4;
|
21
|
+
|
22
|
+
message ResponseListPermisoMsn {
|
23
|
+
Response data = 1;
|
24
|
+
string validationErrors = 2;
|
25
|
+
string suggestions = 3;
|
26
|
+
}
|
27
|
+
message Response{
|
28
|
+
repeated string permisos = 1;
|
29
|
+
int32 total = 2;
|
30
|
+
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
message ResponseValidToken {
|
35
|
+
bool error = 1;
|
36
|
+
string message = 2;
|
37
|
+
int32 status = 3;
|
38
|
+
ResponseValidTokenMsn response = 4;
|
39
|
+
|
40
|
+
message ResponseValidTokenMsn {
|
41
|
+
bool data = 1;
|
42
|
+
string validationErrors = 3;
|
43
|
+
string suggestions = 4;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
message ResponseUserData {
|
48
|
+
bool error = 1;
|
49
|
+
string message = 2;
|
50
|
+
int32 status = 3;
|
51
|
+
UserPayload response = 4;
|
52
|
+
|
53
|
+
message UserPayload {
|
54
|
+
string ci = 1;
|
55
|
+
int32 idAplicacion= 2;
|
56
|
+
int32 idFuncionario= 3;
|
57
|
+
int32 idPersona= 4;
|
58
|
+
int32 usuarioId= 5;
|
59
|
+
}
|
60
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export declare const BearerAuthPermision: (permissions?: string[]) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
2
|
+
export declare class UserPayload {
|
3
|
+
ci: string;
|
4
|
+
idAplicacion: number;
|
5
|
+
idFuncionario: number;
|
6
|
+
idPersona: number;
|
7
|
+
usuarioId: number;
|
8
|
+
}
|
9
|
+
export declare const AuthUser: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
10
|
+
export declare const AuthToken: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
11
|
+
export declare const AuthPermissions: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AuthPermissions = exports.AuthToken = exports.AuthUser = exports.UserPayload = exports.BearerAuthPermision = void 0;
|
4
|
+
const common_1 = require("@nestjs/common");
|
5
|
+
const swagger_1 = require("@nestjs/swagger");
|
6
|
+
const token_auth_guard_1 = require("./token-auth.guard");
|
7
|
+
const permision_guard_1 = require("./permision.guard");
|
8
|
+
const BearerAuthPermision = (permissions) => {
|
9
|
+
const decorators = [(0, swagger_1.ApiBearerAuth)(), (0, common_1.UseGuards)(token_auth_guard_1.TokenAuthGuard, permision_guard_1.PermissionsGuard)];
|
10
|
+
if (permissions && permissions.length > 0) {
|
11
|
+
decorators.push((0, permision_guard_1.RequiredPermissions)(...permissions));
|
12
|
+
}
|
13
|
+
return (0, common_1.applyDecorators)(...decorators);
|
14
|
+
};
|
15
|
+
exports.BearerAuthPermision = BearerAuthPermision;
|
16
|
+
class UserPayload {
|
17
|
+
}
|
18
|
+
exports.UserPayload = UserPayload;
|
19
|
+
exports.AuthUser = (0, common_1.createParamDecorator)((data, context) => {
|
20
|
+
const request = context.switchToHttp().getRequest();
|
21
|
+
return request.userHeader;
|
22
|
+
});
|
23
|
+
exports.AuthToken = (0, common_1.createParamDecorator)((data, context) => {
|
24
|
+
const request = context.switchToHttp().getRequest();
|
25
|
+
const authHeader = request.headers.authorization;
|
26
|
+
if (!authHeader)
|
27
|
+
return null;
|
28
|
+
const [bearer, token] = authHeader.split(' ');
|
29
|
+
return token !== null && token !== void 0 ? token : bearer;
|
30
|
+
});
|
31
|
+
exports.AuthPermissions = (0, common_1.createParamDecorator)((data, context) => {
|
32
|
+
var _a;
|
33
|
+
const request = context.switchToHttp().getRequest();
|
34
|
+
return (_a = request.permissions) !== null && _a !== void 0 ? _a : [];
|
35
|
+
});
|
36
|
+
//# sourceMappingURL=ms-seguridad.decorator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ms-seguridad.decorator.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAoG;AACpG,6CAAgD;AAChD,yDAAoD;AACpD,uDAA0E;AAEnE,MAAM,mBAAmB,GAAG,CAAC,WAAsB,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,CAAC,IAAA,uBAAa,GAAE,EAAE,IAAA,kBAAS,EAAC,iCAAc,EAAE,kCAAgB,CAAC,CAAC,CAAC;IAElF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,UAAU,CAAC,IAAI,CAAC,IAAA,qCAAmB,EAAC,GAAG,WAAW,CAAC,CAAC,CAAC;KACtD;IACD,OAAO,IAAA,wBAAe,EAAC,GAAG,UAAU,CAAC,CAAC;AACxC,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B;AAEF,MAAa,WAAW;CAMvB;AAND,kCAMC;AAEY,QAAA,QAAQ,GAAG,IAAA,6BAAoB,EAC1C,CAAC,IAAa,EAAE,OAAyB,EAAe,EAAE;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IACpD,OAAO,OAAO,CAAC,UAAU,CAAC;AAC5B,CAAC,CACF,CAAC;AAEW,QAAA,SAAS,GAAG,IAAA,6BAAoB,EAC3C,CAAC,IAAa,EAAE,OAAyB,EAAU,EAAE;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IAEjD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC;AACzB,CAAC,CACF,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,6BAAoB,EACjD,CAAC,IAAa,EAAE,OAAyB,EAAU,EAAE;;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IACpD,OAAO,MAAA,OAAO,CAAC,WAAW,mCAAI,EAAE,CAAC;AACnC,CAAC,CACF,CAAC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
2
|
+
import { ClientProxy } from '@nestjs/microservices';
|
3
|
+
interface SeguridadModuleOptions {
|
4
|
+
urlSeguridad: string | undefined;
|
5
|
+
urlRedisCache: string | undefined;
|
6
|
+
}
|
7
|
+
export declare class MsSeguridadModule {
|
8
|
+
static client: ClientProxy;
|
9
|
+
static register(options: SeguridadModuleOptions): DynamicModule;
|
10
|
+
static registerAsync(options: SeguridadModuleOptions): Promise<DynamicModule>;
|
11
|
+
private static showError;
|
12
|
+
}
|
13
|
+
export {};
|
@@ -0,0 +1,80 @@
|
|
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 MsSeguridadModule_1;
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
+
exports.MsSeguridadModule = void 0;
|
11
|
+
const common_1 = require("@nestjs/common");
|
12
|
+
const microservices_1 = require("@nestjs/microservices");
|
13
|
+
const ms_seguridad_service_1 = require("./ms-seguridad.service");
|
14
|
+
const ms_redis_module_1 = require("../ms-redis/ms-redis.module");
|
15
|
+
const path_1 = require("path");
|
16
|
+
const chalk_1 = require("chalk");
|
17
|
+
let MsSeguridadModule = MsSeguridadModule_1 = class MsSeguridadModule {
|
18
|
+
static register(options) {
|
19
|
+
const urlSeguridad = process.env.ENV_GRPC_MS_SEGURIDAD || (options && options.urlSeguridad);
|
20
|
+
const urlRedisCache = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
|
21
|
+
if (!urlSeguridad)
|
22
|
+
this.showError('ENV_GRPC_MS_SEGURIDAD');
|
23
|
+
if (!urlRedisCache)
|
24
|
+
this.showError('ENV_GRPC_MS_REDIS_CACHE');
|
25
|
+
this.client = microservices_1.ClientProxyFactory.create({
|
26
|
+
transport: microservices_1.Transport.GRPC,
|
27
|
+
options: {
|
28
|
+
url: urlSeguridad.trim(),
|
29
|
+
package: 'seguridad.Seguridad',
|
30
|
+
protoPath: (0, path_1.join)(__dirname, './Seguridad.proto'),
|
31
|
+
loader: { keepCase: true },
|
32
|
+
},
|
33
|
+
});
|
34
|
+
return {
|
35
|
+
module: MsSeguridadModule_1,
|
36
|
+
imports: [ms_redis_module_1.MsRedisModule.register({ urlRedisCache })],
|
37
|
+
providers: [
|
38
|
+
{ provide: 'PROVIDER_NAME_MS_SEGURIDAD', useValue: this.client },
|
39
|
+
ms_seguridad_service_1.MsSeguridadService,
|
40
|
+
],
|
41
|
+
exports: [ms_seguridad_service_1.MsSeguridadService, 'PROVIDER_NAME_MS_SEGURIDAD'],
|
42
|
+
};
|
43
|
+
}
|
44
|
+
static async registerAsync(options) {
|
45
|
+
const urlSeguridad = process.env.ENV_GRPC_MS_SEGURIDAD || (options && options.urlSeguridad);
|
46
|
+
const urlRedisCache = process.env.ENV_GRPC_MS_REDIS_CACHE || (options && options.urlRedisCache);
|
47
|
+
if (!urlSeguridad)
|
48
|
+
this.showError('ENV_GRPC_MS_SEGURIDAD');
|
49
|
+
if (!urlRedisCache)
|
50
|
+
this.showError('ENV_GRPC_MS_REDIS_CACHE');
|
51
|
+
this.client = await microservices_1.ClientProxyFactory.create({
|
52
|
+
transport: microservices_1.Transport.GRPC,
|
53
|
+
options: {
|
54
|
+
url: urlSeguridad.trim(),
|
55
|
+
package: 'seguridad.Seguridad',
|
56
|
+
protoPath: (0, path_1.join)(__dirname, './Seguridad.proto'),
|
57
|
+
loader: { keepCase: true },
|
58
|
+
},
|
59
|
+
}).connect();
|
60
|
+
return {
|
61
|
+
module: MsSeguridadModule_1,
|
62
|
+
imports: [ms_redis_module_1.MsRedisModule.register({ urlRedisCache })],
|
63
|
+
providers: [
|
64
|
+
{ provide: 'PROVIDER_NAME_MS_SEGURIDAD', useValue: this.client },
|
65
|
+
ms_seguridad_service_1.MsSeguridadService,
|
66
|
+
],
|
67
|
+
exports: [ms_seguridad_service_1.MsSeguridadService, 'PROVIDER_NAME_MS_SEGURIDAD'],
|
68
|
+
};
|
69
|
+
}
|
70
|
+
static showError(text) {
|
71
|
+
console.warn(chalk_1.bold.red(`${text} no definido en variables de entorno`));
|
72
|
+
}
|
73
|
+
};
|
74
|
+
MsSeguridadModule = MsSeguridadModule_1 = __decorate([
|
75
|
+
(0, common_1.Module)({
|
76
|
+
providers: [ms_seguridad_service_1.MsSeguridadService],
|
77
|
+
})
|
78
|
+
], MsSeguridadModule);
|
79
|
+
exports.MsSeguridadModule = MsSeguridadModule;
|
80
|
+
//# sourceMappingURL=ms-seguridad.module.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ms-seguridad.module.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.module.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { ClientGrpc } from '@nestjs/microservices';
|
2
|
+
import { ResponseListPermissions_ResponseListPermisoMsn, TokenBody } from './Seguridad.pb';
|
3
|
+
import { UserPayload } from './ms-seguridad.decorator';
|
4
|
+
import { AppServiceRedisClient } from 'src/ms-redis/ms-redis.service';
|
5
|
+
export declare class MsSeguridadService {
|
6
|
+
private readonly client;
|
7
|
+
private readonly redisCache;
|
8
|
+
private seguridadService;
|
9
|
+
constructor(client: ClientGrpc, redisCache: AppServiceRedisClient);
|
10
|
+
private onModuleInit;
|
11
|
+
listPermissions(user: UserPayload, tokenBody: TokenBody): Promise<ResponseListPermissions_ResponseListPermisoMsn>;
|
12
|
+
validToken(tokenBody: TokenBody): Promise<import("./Seguridad.pb").ResponseValidToken>;
|
13
|
+
userData(tokenBody: TokenBody): Promise<import("./Seguridad.pb").ResponseUserData>;
|
14
|
+
private saveInRedisCache;
|
15
|
+
}
|
@@ -0,0 +1,58 @@
|
|
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.MsSeguridadService = void 0;
|
16
|
+
const common_1 = require("@nestjs/common");
|
17
|
+
const rxjs_1 = require("rxjs");
|
18
|
+
const ms_redis_service_1 = require("../ms-redis/ms-redis.service");
|
19
|
+
const global_exception_filter_1 = require("../helpers/global-exception.filter");
|
20
|
+
let MsSeguridadService = class MsSeguridadService {
|
21
|
+
constructor(client, redisCache) {
|
22
|
+
this.client = client;
|
23
|
+
this.redisCache = redisCache;
|
24
|
+
}
|
25
|
+
onModuleInit() {
|
26
|
+
this.seguridadService =
|
27
|
+
this.client.getService('SeguridadController');
|
28
|
+
}
|
29
|
+
async listPermissions(user, tokenBody) {
|
30
|
+
const keyCache = `cache_user_permissions_${user.usuarioId}`;
|
31
|
+
const result = await this.redisCache.getCache(keyCache);
|
32
|
+
if (result && result.cache)
|
33
|
+
return result.response;
|
34
|
+
const response = await (0, rxjs_1.firstValueFrom)(this.seguridadService.listPermissions(tokenBody));
|
35
|
+
return this.saveInRedisCache(response, keyCache);
|
36
|
+
}
|
37
|
+
validToken(tokenBody) {
|
38
|
+
return (0, rxjs_1.firstValueFrom)(this.seguridadService.validToken(tokenBody));
|
39
|
+
}
|
40
|
+
userData(tokenBody) {
|
41
|
+
return (0, rxjs_1.firstValueFrom)(this.seguridadService.userDataByToken(tokenBody));
|
42
|
+
}
|
43
|
+
saveInRedisCache(result, keyCache) {
|
44
|
+
const { message, status, response, error } = result;
|
45
|
+
if (error) {
|
46
|
+
throw new global_exception_filter_1.CustomHttpError(message, status, response, error);
|
47
|
+
}
|
48
|
+
this.redisCache.SetCache(keyCache, JSON.stringify(response), 30);
|
49
|
+
return response;
|
50
|
+
}
|
51
|
+
};
|
52
|
+
MsSeguridadService = __decorate([
|
53
|
+
(0, common_1.Injectable)(),
|
54
|
+
__param(0, (0, common_1.Inject)('PROVIDER_NAME_MS_SEGURIDAD')),
|
55
|
+
__metadata("design:paramtypes", [Object, ms_redis_service_1.AppServiceRedisClient])
|
56
|
+
], MsSeguridadService);
|
57
|
+
exports.MsSeguridadService = MsSeguridadService;
|
58
|
+
//# sourceMappingURL=ms-seguridad.service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ms-seguridad.service.js","sourceRoot":"","sources":["../../src/ms-seguridad/ms-seguridad.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAOpD,+BAAsC;AAEtC,mEAAsE;AACtE,gFAAsE;AAM/D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAG7B,YACyD,MAAkB,EACxD,UAAiC;QADK,WAAM,GAAN,MAAM,CAAY;QACxD,eAAU,GAAV,UAAU,CAAuB;IACjD,CAAC;IAEI,YAAY;QAClB,IAAI,CAAC,gBAAgB;YACnB,IAAI,CAAC,MAAM,CAAC,UAAU,CAA4B,qBAAqB,CAAC,CAAC;IAC7E,CAAC;IAMD,KAAK,CAAC,eAAe,CACnB,IAAiB,EACjB,SAAoB;QAEpB,MAAM,QAAQ,GAAG,0BAA0B,IAAI,CAAC,SAAS,EAAE,CAAC;QAG5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;QAGnD,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,SAAoB;QAC7B,OAAO,IAAA,qBAAc,EAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,QAAQ,CAAC,SAAoB;QAC3B,OAAO,IAAA,qBAAc,EAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;IAQO,gBAAgB,CAAC,MAAM,EAAE,QAAgB;QAC/C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAGpD,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,yCAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC7D;QAGD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AA1DY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,4BAA4B,CAAC,CAAA;6CACR,wCAAqB;GALzC,kBAAkB,CA0D9B;AA1DY,gDAAkB"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
2
|
+
import { MsSeguridadService } from './ms-seguridad.service';
|
3
|
+
import { Reflector } from '@nestjs/core';
|
4
|
+
export declare const Permissions: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
5
|
+
export declare const RequiredPermissions: (...permissions: string[]) => import("@nestjs/common").CustomDecorator<string>;
|
6
|
+
export declare class PermissionsGuard implements CanActivate {
|
7
|
+
private readonly seguridadService;
|
8
|
+
private readonly reflector;
|
9
|
+
constructor(seguridadService: MsSeguridadService, reflector: Reflector);
|
10
|
+
canActivate(context: ExecutionContext): Promise<boolean>;
|
11
|
+
private getRequiredPermissions;
|
12
|
+
private hasPermission;
|
13
|
+
}
|
@@ -0,0 +1,51 @@
|
|
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.PermissionsGuard = exports.RequiredPermissions = exports.Permissions = void 0;
|
13
|
+
const common_1 = require("@nestjs/common");
|
14
|
+
const ms_seguridad_service_1 = require("./ms-seguridad.service");
|
15
|
+
const core_1 = require("@nestjs/core");
|
16
|
+
exports.Permissions = (0, common_1.createParamDecorator)((data, ctx) => ctx.switchToHttp().getRequest().permissions);
|
17
|
+
const PERMISSIONS_KEY = 'permissions_headers_key';
|
18
|
+
const RequiredPermissions = (...permissions) => (0, common_1.SetMetadata)(PERMISSIONS_KEY, permissions);
|
19
|
+
exports.RequiredPermissions = RequiredPermissions;
|
20
|
+
let PermissionsGuard = class PermissionsGuard {
|
21
|
+
constructor(seguridadService, reflector) {
|
22
|
+
this.seguridadService = seguridadService;
|
23
|
+
this.reflector = reflector;
|
24
|
+
}
|
25
|
+
async canActivate(context) {
|
26
|
+
var _a;
|
27
|
+
const request = context.switchToHttp().getRequest();
|
28
|
+
const token = request.headers.authorization.split(' ')[1];
|
29
|
+
const requiredPermissions = this.getRequiredPermissions(context);
|
30
|
+
const response = await this.seguridadService.listPermissions(request.userHeader, { token });
|
31
|
+
const userPermissions = (_a = response.data.permisos) !== null && _a !== void 0 ? _a : [];
|
32
|
+
request.permissions = userPermissions;
|
33
|
+
if (!requiredPermissions) {
|
34
|
+
return true;
|
35
|
+
}
|
36
|
+
return this.hasPermission(userPermissions, requiredPermissions);
|
37
|
+
}
|
38
|
+
getRequiredPermissions(context) {
|
39
|
+
return this.reflector.get(PERMISSIONS_KEY, context.getHandler());
|
40
|
+
}
|
41
|
+
hasPermission(userPermissions, requiredPermissions) {
|
42
|
+
return requiredPermissions.every((permission) => userPermissions.includes(permission));
|
43
|
+
}
|
44
|
+
};
|
45
|
+
PermissionsGuard = __decorate([
|
46
|
+
(0, common_1.Injectable)(),
|
47
|
+
__metadata("design:paramtypes", [ms_seguridad_service_1.MsSeguridadService,
|
48
|
+
core_1.Reflector])
|
49
|
+
], PermissionsGuard);
|
50
|
+
exports.PermissionsGuard = PermissionsGuard;
|
51
|
+
//# sourceMappingURL=permision.guard.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"permision.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/permision.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAMwB;AACxB,iEAA4D;AAC5D,uCAAyC;AAE5B,QAAA,WAAW,GAAG,IAAA,6BAAoB,EAC7C,CAAC,IAAa,EAAE,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CACtF,CAAC;AAEF,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,EACpC,SAAoB;QADpB,qBAAgB,GAAhB,gBAAgB,CAAoB;QACpC,cAAS,GAAT,SAAS,CAAW;IACpC,CAAC;IAEJ,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,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5F,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,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAClE,CAAC;IAGO,sBAAsB,CAAC,OAAyB;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAW,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,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;AAhCY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAG0B,yCAAkB;QACzB,gBAAS;GAH5B,gBAAgB,CAgC5B;AAhCY,4CAAgB"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
2
|
+
import { MsSeguridadService } from './ms-seguridad.service';
|
3
|
+
export declare class TokenAuthGuard implements CanActivate {
|
4
|
+
private readonly seguridadService;
|
5
|
+
constructor(seguridadService: MsSeguridadService);
|
6
|
+
canActivate(context: ExecutionContext): Promise<boolean>;
|
7
|
+
}
|
@@ -0,0 +1,42 @@
|
|
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.TokenAuthGuard = void 0;
|
13
|
+
const common_1 = require("@nestjs/common");
|
14
|
+
const ms_seguridad_service_1 = require("./ms-seguridad.service");
|
15
|
+
let TokenAuthGuard = class TokenAuthGuard {
|
16
|
+
constructor(seguridadService) {
|
17
|
+
this.seguridadService = seguridadService;
|
18
|
+
}
|
19
|
+
async canActivate(context) {
|
20
|
+
const request = context.switchToHttp().getRequest();
|
21
|
+
const authHeader = request.headers.authorization;
|
22
|
+
if (!authHeader) {
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
const [bearer, token] = authHeader.split(' ');
|
26
|
+
if (bearer !== 'Bearer' || !token) {
|
27
|
+
return false;
|
28
|
+
}
|
29
|
+
const { error, response } = await this.seguridadService.userData({ token });
|
30
|
+
if (error) {
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
request.userHeader = response;
|
34
|
+
return true;
|
35
|
+
}
|
36
|
+
};
|
37
|
+
TokenAuthGuard = __decorate([
|
38
|
+
(0, common_1.Injectable)(),
|
39
|
+
__metadata("design:paramtypes", [ms_seguridad_service_1.MsSeguridadService])
|
40
|
+
], TokenAuthGuard);
|
41
|
+
exports.TokenAuthGuard = TokenAuthGuard;
|
42
|
+
//# sourceMappingURL=token-auth.guard.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"token-auth.guard.js","sourceRoot":"","sources":["../../src/ms-seguridad/token-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2E;AAC3E,iEAA4D;AAGrD,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;YACf,OAAO,KAAK,CAAC;SACd;QAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QAGD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA3BY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEoC,yCAAkB;GADtD,cAAc,CA2B1B;AA3BY,wCAAc"}
|
@@ -17,8 +17,7 @@ let MsFilesService = class MsFilesService {
|
|
17
17
|
constructor() {
|
18
18
|
if (!process.env.ENV_SERVICE_MS_FILES)
|
19
19
|
console.warn('Variable de entorno ENV_SERVICE_MS_FILES no encontrado');
|
20
|
-
this.MsFileRequest = (0, request_helper_1.newRequestHttp)(process.env.ENV_SERVICE_MS_FILES ||
|
21
|
-
'https://ms-files-test.fiscalia.gob.bo');
|
20
|
+
this.MsFileRequest = (0, request_helper_1.newRequestHttp)(process.env.ENV_SERVICE_MS_FILES || 'https://ms-files-test.fiscalia.gob.bo');
|
22
21
|
}
|
23
22
|
async writeFileBase64V1(data, headers = {}) {
|
24
23
|
headers['Content-Type'] = 'application/json';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ms-files.service.js","sourceRoot":"","sources":["../../src/services/ms-files.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8DAA2D;AAa3D,yBAAuB;AACvB,2CAA4C;AAGrC,IAAM,cAAc,GAApB,MAAM,cAAc;IAEzB;QACE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB;YACnC,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,GAAG,IAAA,+BAAc,EACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,uCAAuC,CAC5E,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,iBAAiB,CACrB,IAAqB,EACrB,UAAwC,EAAE;QAG1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAE7C,OAAO,IAAI,CAAC,aAAa,CACvB;YACE,IAAI;YACJ,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,kBAAkB;SACxB,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,gBAAgB,CACpB,IAAoB,EACpB,UAAwC,EAAE;QAE1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAE7C,OAAO,IAAI,CAAC,aAAa,CACvB;YACE,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,MAAM;YACd,IAAI;SACL,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,WAAW,CACf,EAAU,EACV,UAAwC,EAAE;QAE1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAQD,KAAK,CAAC,YAAY,CAChB,IAAwC,EACxC,UAAwC,EAAE;QAE1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAQD,KAAK,CAAC,mBAAmB,CACvB,IAAuB,EACvB,UAAwC,EAAE;QAE1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAQD,KAAK,CAAC,oBAAoB,CACxB,IAAwB,EACxB,UAAwC,EAAE;QAE1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACzF,CAAC;IAQD,KAAK,CAAC,iBAAiB,CACrB,IAA2B,EAC3B,UAAwC,EAAE;QAE1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9F,CAAC;IAOD,KAAK,CAAC,eAAe,CACnB,UAAwC,EAAE;QAG1C,OAAO,IAAI,CAAC,aAAa,CACvB;YACE,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,uBAAuB;SAC7B,EACD,OAAO,CACR,CAAC;IACJ,CAAC;CACF,CAAA;AA7IY,cAAc;IAD1B,IAAA,mBAAU,GAAE;;GACA,cAAc,CA6I1B;AA7IY,wCAAc"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAAgC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input.type.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"input.type.js","sourceRoot":"","sources":["../../src/types/input.type.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"response.type.js","sourceRoot":"","sources":["../../src/types/response.type.ts"],"names":[],"mappings":""}
|