@fiap-tech-challenge/shared-ftc 1.0.7 → 1.0.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/dist/src/application/auth/auth.d.ts +7 -0
- package/dist/src/application/auth/auth.js +7 -0
- package/dist/src/application/auth/auth.js.map +1 -0
- package/dist/src/application/services/auth/auth.d.ts +7 -0
- package/dist/src/application/services/auth/auth.js +7 -0
- package/dist/src/application/services/auth/auth.js.map +1 -0
- package/dist/src/application/services/auth-service/auth-service.d.ts +7 -0
- package/dist/src/application/services/auth-service/auth-service.js +7 -0
- package/dist/src/application/services/auth-service/auth-service.js.map +1 -0
- package/dist/src/application/services/auth-service/auth.d.ts +7 -0
- package/dist/src/application/services/auth-service/auth.js +7 -0
- package/dist/src/application/services/auth-service/auth.js.map +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/infra/services/auth/auth-dtos.d.ts +3 -0
- package/dist/src/infra/services/auth/auth-dtos.js +31 -0
- package/dist/src/infra/services/auth/auth-dtos.js.map +1 -0
- package/dist/src/infra/services/auth/auth.module.d.ts +2 -0
- package/dist/src/infra/services/auth/auth.module.js +34 -0
- package/dist/src/infra/services/auth/auth.module.js.map +1 -0
- package/dist/src/infra/services/auth/aws-lambda/aws-lamda.d.ts +8 -0
- package/dist/src/infra/services/auth/aws-lambda/aws-lamda.js +71 -0
- package/dist/src/infra/services/auth/aws-lambda/aws-lamda.js.map +1 -0
- package/dist/src/infra/services/auth/guards/auth.guard.d.ts +10 -0
- package/dist/src/infra/services/auth/guards/auth.guard.js +54 -0
- package/dist/src/infra/services/auth/guards/auth.guard.js.map +1 -0
- package/dist/src/infra/services/auth/guards/public.d.ts +2 -0
- package/dist/src/infra/services/auth/guards/public.js +8 -0
- package/dist/src/infra/services/auth/guards/public.js.map +1 -0
- package/dist/src/infra/services/auth/http-client/http-client-auth-service.d.ts +10 -0
- package/dist/src/infra/services/auth/http-client/http-client-auth-service.js +67 -0
- package/dist/src/infra/services/auth/http-client/http-client-auth-service.js.map +1 -0
- package/dist/src/infra/services/auth/token.service.d.ts +6 -0
- package/dist/src/infra/services/auth/token.service.js +34 -0
- package/dist/src/infra/services/auth/token.service.js.map +1 -0
- package/dist/src/infra/services/cart-service/http-client/http-client-cart-service.js +1 -1
- package/dist/src/infra/services/cart-service/http-client/http-client-cart-service.js.map +1 -1
- package/dist/src/infra/services/item-service/http-client/http-client.service.js +8 -8
- package/dist/src/infra/services/item-service/http-client/http-client.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/application/auth/auth.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;CAKzB;AALD,oBAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/application/services/auth/auth.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;CAKzB;AALD,oBAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../../../../src/application/services/auth-service/auth-service.ts"],"names":[],"mappings":";;;AAAA,MAAsB,WAAW;CAKhC;AALD,kCAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/application/services/auth-service/auth.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;CAKzB;AALD,oBAKC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -9,5 +9,12 @@ export * from "./infra/services/cart-service/mock/mock-cart-service";
|
|
|
9
9
|
export * from "./application/entities/common-cart";
|
|
10
10
|
export * from "./application/entities/common-cart-item";
|
|
11
11
|
export * from "./application/services/cart-service/cart-service";
|
|
12
|
+
export * from "./application/services/auth-service/auth-service";
|
|
13
|
+
export * from "./infra/services/auth/auth.module";
|
|
14
|
+
export * from "./infra/services/auth/aws-lambda/aws-lamda";
|
|
15
|
+
export * from "./infra/services/auth/guards/auth.guard";
|
|
16
|
+
export * from "./infra/services/auth/guards/public";
|
|
17
|
+
export * from "./utils/is-cpf-valid";
|
|
18
|
+
export * from "./infra/services/auth/auth-dtos";
|
|
12
19
|
export * from "./infra/services/cart-service/cart-dtos";
|
|
13
20
|
export * from "./infra/services/item-service/item-dtos";
|
package/dist/src/index.js
CHANGED
|
@@ -25,6 +25,13 @@ __exportStar(require("./infra/services/cart-service/mock/mock-cart-service"), ex
|
|
|
25
25
|
__exportStar(require("./application/entities/common-cart"), exports);
|
|
26
26
|
__exportStar(require("./application/entities/common-cart-item"), exports);
|
|
27
27
|
__exportStar(require("./application/services/cart-service/cart-service"), exports);
|
|
28
|
+
__exportStar(require("./application/services/auth-service/auth-service"), exports);
|
|
29
|
+
__exportStar(require("./infra/services/auth/auth.module"), exports);
|
|
30
|
+
__exportStar(require("./infra/services/auth/aws-lambda/aws-lamda"), exports);
|
|
31
|
+
__exportStar(require("./infra/services/auth/guards/auth.guard"), exports);
|
|
32
|
+
__exportStar(require("./infra/services/auth/guards/public"), exports);
|
|
33
|
+
__exportStar(require("./utils/is-cpf-valid"), exports);
|
|
34
|
+
__exportStar(require("./infra/services/auth/auth-dtos"), exports);
|
|
28
35
|
__exportStar(require("./infra/services/cart-service/cart-dtos"), exports);
|
|
29
36
|
__exportStar(require("./infra/services/item-service/item-dtos"), exports);
|
|
30
37
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oFAAkE;AAClE,gGAA8E;AAC9E,uFAAqE;AACrE,8DAA4C;AAC5C,mFAAiE;AAEjE,oFAAkE;AAClE,qGAAmF;AACnF,uFAAqE;AACrE,qEAAmD;AACnD,0EAAwD;AACxD,mFAAiE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oFAAkE;AAClE,gGAA8E;AAC9E,uFAAqE;AACrE,8DAA4C;AAC5C,mFAAiE;AAEjE,oFAAkE;AAClE,qGAAmF;AACnF,uFAAqE;AACrE,qEAAmD;AACnD,0EAAwD;AACxD,mFAAiE;AACjE,mFAAiE;AACjE,oEAAkD;AAClD,6EAA2D;AAC3D,0EAAwD;AACxD,sEAAoD;AACpD,uDAAqC;AAErC,kEAAgD;AAChD,0EAAwD;AACxD,0EAAwD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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.LoginBody = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const is_cpf_valid_1 = require("../../../utils/is-cpf-valid");
|
|
16
|
+
class LoginBody {
|
|
17
|
+
}
|
|
18
|
+
exports.LoginBody = LoginBody;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, swagger_1.ApiProperty)({
|
|
21
|
+
example: "12345678901",
|
|
22
|
+
required: false,
|
|
23
|
+
description: "CPF do cliente (opcional para autenticação anônima)",
|
|
24
|
+
}),
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
(0, class_validator_1.IsOptional)(),
|
|
27
|
+
(0, class_validator_1.Validate)(is_cpf_valid_1.IsCPFValid),
|
|
28
|
+
(0, class_validator_1.Length)(11, 11),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], LoginBody.prototype, "cpf", void 0);
|
|
31
|
+
//# sourceMappingURL=auth-dtos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-dtos.js","sourceRoot":"","sources":["../../../../../src/infra/services/auth/auth-dtos.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAyE;AACzE,yDAAoD;AAEpD,MAAa,SAAS;CAWrB;AAXD,8BAWC;AADC;IATC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,qDAAqD;KACnE,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,yBAAU,CAAC;IACpB,IAAA,wBAAM,EAAC,EAAE,EAAE,EAAE,CAAC;;sCACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AuthModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const aws_lamda_1 = require("./aws-lambda/aws-lamda");
|
|
12
|
+
const auth_service_1 = require("../../../application/services/auth-service/auth-service");
|
|
13
|
+
const core_1 = require("@nestjs/core");
|
|
14
|
+
const auth_guard_1 = require("./guards/auth.guard");
|
|
15
|
+
let AuthModule = class AuthModule {
|
|
16
|
+
};
|
|
17
|
+
exports.AuthModule = AuthModule;
|
|
18
|
+
exports.AuthModule = AuthModule = __decorate([
|
|
19
|
+
(0, common_1.Module)({
|
|
20
|
+
providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: auth_service_1.AuthService,
|
|
23
|
+
useClass: aws_lamda_1.AWSLambdaAuth,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
provide: core_1.APP_GUARD,
|
|
27
|
+
useClass: auth_guard_1.AuthGuard,
|
|
28
|
+
},
|
|
29
|
+
core_1.Reflector,
|
|
30
|
+
],
|
|
31
|
+
exports: [auth_service_1.AuthService],
|
|
32
|
+
})
|
|
33
|
+
], AuthModule);
|
|
34
|
+
//# sourceMappingURL=auth.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../../src/infra/services/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,sDAAuD;AACvD,kFAA8E;AAC9E,uCAAoD;AACpD,oDAAgD;AAgBzC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAdtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,0BAAW;gBACpB,QAAQ,EAAE,yBAAa;aACxB;YACD;gBACE,OAAO,EAAE,gBAAS;gBAClB,QAAQ,EAAE,sBAAS;aACpB;YACD,gBAAS;SACV;QACD,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AuthService } from "../../../../application/services/auth-service/auth-service";
|
|
2
|
+
export declare class AWSLambdaAuth implements AuthService {
|
|
3
|
+
authenticate(cpf?: string): Promise<{
|
|
4
|
+
token: string;
|
|
5
|
+
customerId: string | null;
|
|
6
|
+
}>;
|
|
7
|
+
authorize(token: string): Promise<string | null>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AWSLambdaAuth = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const aws_sdk_1 = require("aws-sdk");
|
|
12
|
+
let AWSLambdaAuth = class AWSLambdaAuth {
|
|
13
|
+
async authenticate(cpf) {
|
|
14
|
+
if (process.env.NODE_ENV === "development") {
|
|
15
|
+
return { token: "dev-token", customerId: null };
|
|
16
|
+
}
|
|
17
|
+
const lambda = new aws_sdk_1.Lambda({
|
|
18
|
+
region: process.env.AWS_REGION,
|
|
19
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
20
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
21
|
+
sessionToken: process.env.AWS_SESSION_TOKEN,
|
|
22
|
+
});
|
|
23
|
+
const params = {
|
|
24
|
+
FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME || "my-service",
|
|
25
|
+
Payload: JSON.stringify({ cpf }),
|
|
26
|
+
};
|
|
27
|
+
const response = await lambda.invoke(params).promise();
|
|
28
|
+
console.log("Lambda response:", response);
|
|
29
|
+
if (response.StatusCode !== 200) {
|
|
30
|
+
console.error("Error invoking Lambda:", response);
|
|
31
|
+
throw new Error("Error invoking Lambda function");
|
|
32
|
+
}
|
|
33
|
+
if (!response.Payload) {
|
|
34
|
+
throw new Error("Invalid response from Lambda function");
|
|
35
|
+
}
|
|
36
|
+
const payload = JSON.parse(response.Payload.toString());
|
|
37
|
+
if (payload.statusCode !== 200) {
|
|
38
|
+
const errorPayload = JSON.parse(response.Payload.toString());
|
|
39
|
+
console.error("Authentication error", errorPayload);
|
|
40
|
+
throw new Error(errorPayload.body || "Authentication failed");
|
|
41
|
+
}
|
|
42
|
+
return { token: payload.token, customerId: payload.customerId };
|
|
43
|
+
}
|
|
44
|
+
async authorize(token) {
|
|
45
|
+
const lambda = new aws_sdk_1.Lambda({
|
|
46
|
+
region: process.env.AWS_REGION,
|
|
47
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
48
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
49
|
+
sessionToken: process.env.AWS_SESSION_TOKEN,
|
|
50
|
+
});
|
|
51
|
+
const params = {
|
|
52
|
+
FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME || "my-service",
|
|
53
|
+
Payload: JSON.stringify({ action: "validate", token }),
|
|
54
|
+
};
|
|
55
|
+
const response = await lambda.invoke(params).promise();
|
|
56
|
+
if (response.StatusCode !== 200) {
|
|
57
|
+
console.error("Error invoking Lambda:", response);
|
|
58
|
+
throw new Error("Error invoking Lambda function");
|
|
59
|
+
}
|
|
60
|
+
if (!response.Payload) {
|
|
61
|
+
throw new Error("Invalid response from Lambda function");
|
|
62
|
+
}
|
|
63
|
+
const payload = JSON.parse(response.Payload.toString());
|
|
64
|
+
return payload.customerId;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
exports.AWSLambdaAuth = AWSLambdaAuth;
|
|
68
|
+
exports.AWSLambdaAuth = AWSLambdaAuth = __decorate([
|
|
69
|
+
(0, common_1.Injectable)()
|
|
70
|
+
], AWSLambdaAuth);
|
|
71
|
+
//# sourceMappingURL=aws-lamda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-lamda.js","sourceRoot":"","sources":["../../../../../../src/infra/services/auth/aws-lambda/aws-lamda.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthService } from "../../../../application/services/auth-service/auth-service";
|
|
2
|
+
import { CanActivate, ExecutionContext } from "@nestjs/common";
|
|
3
|
+
import { Reflector } from "@nestjs/core";
|
|
4
|
+
export declare class AuthGuard implements CanActivate {
|
|
5
|
+
private auth;
|
|
6
|
+
private reflector;
|
|
7
|
+
constructor(auth: AuthService, reflector: Reflector);
|
|
8
|
+
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
9
|
+
private extractTokenFromHeader;
|
|
10
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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.AuthGuard = void 0;
|
|
13
|
+
const auth_service_1 = require("../../../../application/services/auth-service/auth-service");
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const public_1 = require("./public");
|
|
16
|
+
const core_1 = require("@nestjs/core");
|
|
17
|
+
let AuthGuard = class AuthGuard {
|
|
18
|
+
constructor(auth, reflector) {
|
|
19
|
+
this.auth = auth;
|
|
20
|
+
this.reflector = reflector;
|
|
21
|
+
}
|
|
22
|
+
async canActivate(context) {
|
|
23
|
+
const isPublic = this.reflector.getAllAndOverride(public_1.IS_PUBLIC_KEY, [
|
|
24
|
+
context.getHandler(),
|
|
25
|
+
context.getClass(),
|
|
26
|
+
]);
|
|
27
|
+
if (isPublic || process.env.NODE_ENV === "development")
|
|
28
|
+
return true;
|
|
29
|
+
const request = context.switchToHttp().getRequest();
|
|
30
|
+
const token = this.extractTokenFromHeader(request);
|
|
31
|
+
if (!token) {
|
|
32
|
+
throw new common_1.UnauthorizedException();
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const payload = await this.auth.authorize(token);
|
|
36
|
+
request["customerId"] = payload;
|
|
37
|
+
}
|
|
38
|
+
catch (_a) {
|
|
39
|
+
throw new common_1.UnauthorizedException();
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
extractTokenFromHeader(request) {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
const [type, token] = (_b = (_a = request.headers.authorization) === null || _a === void 0 ? void 0 : _a.split(" ")) !== null && _b !== void 0 ? _b : [];
|
|
46
|
+
return type === "Bearer" ? token : undefined;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.AuthGuard = AuthGuard;
|
|
50
|
+
exports.AuthGuard = AuthGuard = __decorate([
|
|
51
|
+
(0, common_1.Injectable)(),
|
|
52
|
+
__metadata("design:paramtypes", [auth_service_1.AuthService, core_1.Reflector])
|
|
53
|
+
], AuthGuard);
|
|
54
|
+
//# sourceMappingURL=auth.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../../src/infra/services/auth/guards/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kFAA8E;AAC9E,2CAKwB;AAExB,qCAAyC;AACzC,uCAAyC;AAGlC,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,YAAoB,IAAiB,EAAU,SAAoB;QAA/C,SAAI,GAAJ,IAAI,CAAa;QAAU,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAEvE,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,sBAAa,EAAE;YACxE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAEpE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEjD,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;QAClC,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,OAAgB;;QAC7C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,aAAa,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACtE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACF,CAAA;AAjCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;qCAEe,0BAAW,EAAqB,gBAAS;GADxD,SAAS,CAiCrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Public = exports.IS_PUBLIC_KEY = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
exports.IS_PUBLIC_KEY = 'isPublic';
|
|
6
|
+
const Public = () => (0, common_1.SetMetadata)(exports.IS_PUBLIC_KEY, true);
|
|
7
|
+
exports.Public = Public;
|
|
8
|
+
//# sourceMappingURL=public.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../../../src/infra/services/auth/guards/public.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAEhC,QAAA,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,qBAAa,EAAE,IAAI,CAAC,CAAC;AAAhD,QAAA,MAAM,UAA0C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AuthService } from "../../../../application/services/auth-service/auth-service";
|
|
2
|
+
export declare class HttpClientAuthService extends AuthService {
|
|
3
|
+
private baseUrl;
|
|
4
|
+
constructor();
|
|
5
|
+
authenticate(cpf?: string): Promise<{
|
|
6
|
+
token: string;
|
|
7
|
+
customerId: string | null;
|
|
8
|
+
}>;
|
|
9
|
+
authorize(token: string): Promise<string | null>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.HttpClientAuthService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const auth_service_1 = require("../../../../application/services/auth-service/auth-service");
|
|
15
|
+
let HttpClientAuthService = class HttpClientAuthService extends auth_service_1.AuthService {
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this.baseUrl = process.env.AUTH_SERVICE_URL || "http://localhost:3002";
|
|
19
|
+
}
|
|
20
|
+
async authenticate(cpf) {
|
|
21
|
+
try {
|
|
22
|
+
const response = await fetch(`${this.baseUrl}/auth/authenticate`, {
|
|
23
|
+
method: "POST",
|
|
24
|
+
headers: {
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
},
|
|
27
|
+
body: JSON.stringify({ cpf }),
|
|
28
|
+
});
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
31
|
+
}
|
|
32
|
+
const data = await response.json();
|
|
33
|
+
if (data.statusCode !== 200) {
|
|
34
|
+
throw new Error(data.message || "Authentication failed");
|
|
35
|
+
}
|
|
36
|
+
return { token: data.token, customerId: data.customerId };
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async authorize(token) {
|
|
43
|
+
try {
|
|
44
|
+
const response = await fetch(`${this.baseUrl}/auth/authorize`, {
|
|
45
|
+
method: "POST",
|
|
46
|
+
headers: {
|
|
47
|
+
"Content-Type": "application/json",
|
|
48
|
+
},
|
|
49
|
+
body: JSON.stringify({ token }),
|
|
50
|
+
});
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
53
|
+
}
|
|
54
|
+
const data = await response.json();
|
|
55
|
+
return data.customerId;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
exports.HttpClientAuthService = HttpClientAuthService;
|
|
63
|
+
exports.HttpClientAuthService = HttpClientAuthService = __decorate([
|
|
64
|
+
(0, common_1.Injectable)(),
|
|
65
|
+
__metadata("design:paramtypes", [])
|
|
66
|
+
], HttpClientAuthService);
|
|
67
|
+
//# sourceMappingURL=http-client-auth-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client-auth-service.js","sourceRoot":"","sources":["../../../../../../src/infra/services/auth/http-client/http-client-auth-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,kFAA8E;AAiBvE,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAW;IAGpD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,GAAY;QAEZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,oBAAoB,EAAE;gBAChE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAyB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEzD,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,iBAAiB,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAsB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEtD,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAzDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;;GACA,qBAAqB,CAyDjC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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.TokenService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const jwt_1 = require("@nestjs/jwt");
|
|
15
|
+
let TokenService = class TokenService {
|
|
16
|
+
constructor(jwtService) {
|
|
17
|
+
this.jwtService = jwtService;
|
|
18
|
+
}
|
|
19
|
+
getCustomerIdFromToken(token) {
|
|
20
|
+
try {
|
|
21
|
+
const decoded = this.jwtService.verify(token);
|
|
22
|
+
return decoded.sub;
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.TokenService = TokenService;
|
|
30
|
+
exports.TokenService = TokenService = __decorate([
|
|
31
|
+
(0, common_1.Injectable)(),
|
|
32
|
+
__metadata("design:paramtypes", [jwt_1.JwtService])
|
|
33
|
+
], TokenService);
|
|
34
|
+
//# sourceMappingURL=token.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../../../../src/infra/services/auth/token.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAyC;AAGlC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,sBAAsB,CAAC,KAAa;QAClC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,GAAG,CAAC;QACrB,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAXY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEqB,gBAAU;GAD/B,YAAY,CAWxB"}
|
|
@@ -17,7 +17,7 @@ const cart_service_1 = require("../../../../application/services/cart-service/ca
|
|
|
17
17
|
let HttpClientCartService = class HttpClientCartService extends cart_service_1.CartService {
|
|
18
18
|
constructor() {
|
|
19
19
|
super();
|
|
20
|
-
this.baseUrl = process.env.
|
|
20
|
+
this.baseUrl = process.env.BASE_URL || "http://localhost:3001";
|
|
21
21
|
}
|
|
22
22
|
async findById(cartId) {
|
|
23
23
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client-cart-service.js","sourceRoot":"","sources":["../../../../../../src/infra/services/cart-service/http-client/http-client-cart-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,mEAA+D;AAC/D,6EAAwE;AACxE,kFAA8E;AAIvE,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAW;IAGpD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"http-client-cart-service.js","sourceRoot":"","sources":["../../../../../../src/infra/services/cart-service/http-client/http-client-cart-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,mEAA+D;AAC/D,6EAAwE;AACxE,kFAA8E;AAIvE,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,0BAAW;IAGpD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,MAAM,EAAE,CAAC,CAAC;YAEhE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAiB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,YAA0B;QAC5C,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAC5C,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,iCAAc,CAChB;YACE,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;SACpC,EACD,IAAI,CAAC,EAAE,CACR,CACJ,CAAC;QAEF,OAAO,IAAI,wBAAU,CACnB;YACE,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAC3C,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;SAC5C,EACD,YAAY,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;CACF,CAAA;AAtDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;;GACA,qBAAqB,CAsDjC"}
|
|
@@ -13,20 +13,20 @@ exports.HttpClientItemService = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const http_service_mapper_1 = require("./http-service-mapper");
|
|
15
15
|
let HttpClientItemService = class HttpClientItemService {
|
|
16
|
-
constructor() {
|
|
17
|
-
}
|
|
16
|
+
constructor() { }
|
|
18
17
|
async findById(itemId) {
|
|
19
|
-
if (!process.env.
|
|
20
|
-
throw new Error("
|
|
18
|
+
if (!process.env.BASE_URL) {
|
|
19
|
+
throw new Error("BASE_URL is not defined");
|
|
21
20
|
}
|
|
22
|
-
const url = `${process.env.
|
|
21
|
+
const url = `${process.env.BASE_URL}/items/${itemId}`;
|
|
23
22
|
const response = await fetch(url, {
|
|
24
|
-
method:
|
|
23
|
+
method: "GET",
|
|
25
24
|
headers: {
|
|
26
|
-
|
|
25
|
+
"Content-Type": "application/json",
|
|
26
|
+
Authorization: `Bearer ${process.env.ITEM_SERVICE_API_KEY}`,
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
|
-
const data = await response.json();
|
|
29
|
+
const data = (await response.json());
|
|
30
30
|
if (!data)
|
|
31
31
|
return null;
|
|
32
32
|
return http_service_mapper_1.HttpServiceMapper.toDomainItem(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.service.js","sourceRoot":"","sources":["../../../../../../src/infra/services/item-service/http-client/http-client.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,+DAA0D;AAInD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC
|
|
1
|
+
{"version":3,"file":"http-client.service.js","sourceRoot":"","sources":["../../../../../../src/infra/services/item-service/http-client/http-client.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,+DAA0D;AAInD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,gBAAe,CAAC;IAEhB,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,MAAM,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;aAC5D;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;QAErD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,OAAO,uCAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AAxBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;;GACA,qBAAqB,CAwBjC"}
|