@stefaninigo/core 0.9.0 → 1.1.0
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 +339 -51
- package/dist/libs/stefaninigo/cache/cache-service.interface.d.ts +4 -4
- package/dist/libs/stefaninigo/cache/cache.module.d.ts +1 -5
- package/dist/libs/stefaninigo/cache/cache.module.js +2 -2
- package/dist/libs/stefaninigo/cache/cache.module.js.map +1 -1
- package/dist/libs/stefaninigo/cache/local/{loca.service.d.ts → local.service.d.ts} +6 -4
- package/dist/libs/stefaninigo/cache/local/local.service.js +59 -0
- package/dist/libs/stefaninigo/cache/local/local.service.js.map +1 -0
- package/dist/libs/stefaninigo/config/config.service.d.ts +60 -6
- package/dist/libs/stefaninigo/config/config.service.js +11 -7
- package/dist/libs/stefaninigo/config/config.service.js.map +1 -1
- package/dist/libs/stefaninigo/core/bootstrap/bootstrap.helpers.d.ts +16 -2
- package/dist/libs/stefaninigo/core/bootstrap/bootstrap.helpers.js +47 -7
- package/dist/libs/stefaninigo/core/bootstrap/bootstrap.helpers.js.map +1 -1
- package/dist/libs/stefaninigo/core/config/env.utils.d.ts +3 -0
- package/dist/libs/stefaninigo/core/config/env.utils.js +28 -0
- package/dist/libs/stefaninigo/core/config/env.utils.js.map +1 -0
- package/dist/libs/stefaninigo/core/config/index.d.ts +1 -0
- package/dist/libs/stefaninigo/core/config/index.js +18 -0
- package/dist/libs/stefaninigo/core/config/index.js.map +1 -0
- package/dist/libs/stefaninigo/core/context/index.d.ts +2 -0
- package/dist/libs/stefaninigo/core/context/index.js +19 -0
- package/dist/libs/stefaninigo/core/context/index.js.map +1 -0
- package/dist/libs/stefaninigo/core/context/request-context.d.ts +11 -0
- package/dist/libs/stefaninigo/core/context/request-context.js +14 -0
- package/dist/libs/stefaninigo/core/context/request-context.js.map +1 -0
- package/dist/libs/stefaninigo/core/context/request-context.middleware.d.ts +5 -0
- package/dist/libs/stefaninigo/core/context/request-context.middleware.js +27 -0
- package/dist/libs/stefaninigo/core/context/request-context.middleware.js.map +1 -0
- package/dist/libs/stefaninigo/core/dtos/index.d.ts +1 -0
- package/dist/libs/stefaninigo/core/dtos/index.js +1 -0
- package/dist/libs/stefaninigo/core/dtos/index.js.map +1 -1
- package/dist/libs/stefaninigo/core/dtos/paginated-result.dto.d.ts +11 -0
- package/dist/libs/stefaninigo/core/dtos/paginated-result.dto.js +56 -0
- package/dist/libs/stefaninigo/core/dtos/paginated-result.dto.js.map +1 -0
- package/dist/libs/stefaninigo/core/dtos/problem-details.dto.d.ts +1 -0
- package/dist/libs/stefaninigo/core/dtos/problem-details.dto.js +18 -10
- package/dist/libs/stefaninigo/core/dtos/problem-details.dto.js.map +1 -1
- package/dist/libs/stefaninigo/core/errors/http.error.d.ts +2 -2
- package/dist/libs/stefaninigo/core/errors/http.error.js +7 -3
- package/dist/libs/stefaninigo/core/errors/http.error.js.map +1 -1
- package/dist/libs/stefaninigo/core/filters/http-exception.filter.d.ts +9 -0
- package/dist/libs/stefaninigo/core/filters/http-exception.filter.js +90 -0
- package/dist/libs/stefaninigo/core/filters/http-exception.filter.js.map +1 -0
- package/dist/libs/stefaninigo/core/filters/index.d.ts +1 -0
- package/dist/libs/stefaninigo/core/filters/index.js +18 -0
- package/dist/libs/stefaninigo/core/filters/index.js.map +1 -0
- package/dist/libs/stefaninigo/core/health/health.module.js +2 -1
- package/dist/libs/stefaninigo/core/health/health.module.js.map +1 -1
- package/dist/libs/stefaninigo/core/health/health.service.d.ts +2 -2
- package/dist/libs/stefaninigo/core/health/health.types.d.ts +1 -0
- package/dist/libs/stefaninigo/core/health/health.types.js.map +1 -1
- package/dist/libs/stefaninigo/core/index.d.ts +4 -0
- package/dist/libs/stefaninigo/core/index.js +4 -0
- package/dist/libs/stefaninigo/core/index.js.map +1 -1
- package/dist/libs/stefaninigo/core/interceptors/logging.interceptor.js +15 -10
- package/dist/libs/stefaninigo/core/interceptors/logging.interceptor.js.map +1 -1
- package/dist/libs/stefaninigo/core/interceptors/problem-details.interceptor.d.ts +1 -5
- package/dist/libs/stefaninigo/core/interceptors/problem-details.interceptor.js +27 -88
- package/dist/libs/stefaninigo/core/interceptors/problem-details.interceptor.js.map +1 -1
- package/dist/libs/stefaninigo/core/interceptors/problem-details.utils.d.ts +6 -0
- package/dist/libs/stefaninigo/core/interceptors/problem-details.utils.js +70 -0
- package/dist/libs/stefaninigo/core/interceptors/problem-details.utils.js.map +1 -0
- package/dist/libs/stefaninigo/core/interceptors/response.interceptor.js +2 -2
- package/dist/libs/stefaninigo/core/interceptors/response.interceptor.js.map +1 -1
- package/dist/libs/stefaninigo/core/logger/index.d.ts +1 -0
- package/dist/libs/stefaninigo/core/logger/index.js +18 -0
- package/dist/libs/stefaninigo/core/logger/index.js.map +1 -0
- package/dist/libs/stefaninigo/core/logger/traced-logger.d.ts +7 -0
- package/dist/libs/stefaninigo/core/logger/traced-logger.js +21 -0
- package/dist/libs/stefaninigo/core/logger/traced-logger.js.map +1 -0
- package/dist/libs/stefaninigo/database/database-service.interface.d.ts +20 -23
- package/dist/libs/stefaninigo/database/database-service.interface.js +0 -16
- package/dist/libs/stefaninigo/database/database-service.interface.js.map +1 -1
- package/dist/libs/stefaninigo/database/database.module.d.ts +2 -6
- package/dist/libs/stefaninigo/database/database.module.js +1 -1
- package/dist/libs/stefaninigo/database/database.module.js.map +1 -1
- package/dist/libs/stefaninigo/database/dynamodb/dynamodb.service.d.ts +12 -10
- package/dist/libs/stefaninigo/database/dynamodb/dynamodb.service.js +8 -14
- package/dist/libs/stefaninigo/database/dynamodb/dynamodb.service.js.map +1 -1
- package/dist/libs/stefaninigo/database/index.js.map +1 -1
- package/dist/libs/stefaninigo/database/mongodb/mongodb.service.d.ts +5 -3
- package/dist/libs/stefaninigo/database/mongodb/mongodb.service.js +43 -21
- package/dist/libs/stefaninigo/database/mongodb/mongodb.service.js.map +1 -1
- package/dist/libs/stefaninigo/database/postgresdb/postgresdb.services.d.ts +9 -6
- package/dist/libs/stefaninigo/database/postgresdb/postgresdb.services.js +43 -31
- package/dist/libs/stefaninigo/database/postgresdb/postgresdb.services.js.map +1 -1
- package/dist/libs/stefaninigo/events/event-bus/event-bus.module.d.ts +2 -0
- package/dist/libs/stefaninigo/events/event-bus/event-bus.module.js +22 -0
- package/dist/libs/stefaninigo/events/event-bus/event-bus.module.js.map +1 -0
- package/dist/libs/stefaninigo/events/event-bus/event-bus.service.d.ts +21 -0
- package/dist/libs/stefaninigo/events/event-bus/event-bus.service.js +130 -0
- package/dist/libs/stefaninigo/events/event-bus/event-bus.service.js.map +1 -0
- package/dist/libs/stefaninigo/events/event-bus/event-bus.types.d.ts +13 -0
- package/dist/libs/stefaninigo/{messaging/messagin-service.interface.js → events/event-bus/event-bus.types.js} +1 -1
- package/dist/libs/stefaninigo/events/event-bus/event-bus.types.js.map +1 -0
- package/dist/libs/stefaninigo/events/event-bus/index.d.ts +3 -0
- package/dist/libs/stefaninigo/events/event-bus/index.js +20 -0
- package/dist/libs/stefaninigo/events/event-bus/index.js.map +1 -0
- package/dist/libs/stefaninigo/events/index.d.ts +1 -0
- package/dist/libs/stefaninigo/events/index.js +1 -0
- package/dist/libs/stefaninigo/events/index.js.map +1 -1
- package/dist/libs/stefaninigo/events/types/domain-events.d.ts +3 -145
- package/dist/libs/stefaninigo/index.d.ts +2 -3
- package/dist/libs/stefaninigo/index.js +2 -2
- package/dist/libs/stefaninigo/index.js.map +1 -1
- package/dist/libs/stefaninigo/messaging/index.d.ts +2 -2
- package/dist/libs/stefaninigo/messaging/index.js +2 -2
- package/dist/libs/stefaninigo/messaging/index.js.map +1 -1
- package/dist/libs/stefaninigo/messaging/{messagin-service.interface.d.ts → messaging-service.interface.d.ts} +1 -1
- package/dist/libs/stefaninigo/messaging/messaging-service.interface.js +3 -0
- package/dist/libs/stefaninigo/messaging/messaging-service.interface.js.map +1 -0
- package/dist/libs/stefaninigo/messaging/{messagin.module.d.ts → messaging.module.d.ts} +2 -6
- package/dist/libs/stefaninigo/messaging/{messagin.module.js → messaging.module.js} +2 -2
- package/dist/libs/stefaninigo/messaging/messaging.module.js.map +1 -0
- package/dist/libs/stefaninigo/messaging/sns/sns.service.d.ts +3 -5
- package/dist/libs/stefaninigo/messaging/sns/sns.service.js +2 -26
- package/dist/libs/stefaninigo/messaging/sns/sns.service.js.map +1 -1
- package/dist/libs/stefaninigo/messaging/sqs/sqs.service.d.ts +3 -2
- package/dist/libs/stefaninigo/messaging/sqs/sqs.service.js +20 -8
- package/dist/libs/stefaninigo/messaging/sqs/sqs.service.js.map +1 -1
- package/dist/libs/stefaninigo/storage/s3/s3-services.d.ts +2 -0
- package/dist/libs/stefaninigo/storage/s3/s3-services.js +36 -8
- package/dist/libs/stefaninigo/storage/s3/s3-services.js.map +1 -1
- package/dist/libs/stefaninigo/storage/storage.interface.d.ts +1 -0
- package/dist/libs/stefaninigo/storage/storage.module.js +1 -1
- package/dist/libs/stefaninigo/storage/storage.module.js.map +1 -1
- package/dist/libs/stefaninigo/transport/index.d.ts +1 -1
- package/dist/libs/stefaninigo/transport/index.js +1 -1
- package/dist/libs/stefaninigo/transport/index.js.map +1 -1
- package/dist/libs/stefaninigo/transport/{trasnport.module.d.ts → transport.module.d.ts} +8 -7
- package/dist/libs/stefaninigo/transport/{trasnport.module.js → transport.module.js} +8 -12
- package/dist/libs/stefaninigo/transport/transport.module.js.map +1 -0
- package/dist/libs/stefaninigo/transport/web-socket/aws/aws-ws-transport.service.d.ts +2 -2
- package/dist/libs/stefaninigo/transport/web-socket/aws/aws-ws-transport.service.js +0 -4
- package/dist/libs/stefaninigo/transport/web-socket/aws/aws-ws-transport.service.js.map +1 -1
- package/package.json +8 -3
- package/dist/libs/stefaninigo/cache/local/loca.service.js +0 -30
- package/dist/libs/stefaninigo/cache/local/loca.service.js.map +0 -1
- package/dist/libs/stefaninigo/messaging/messagin-service.interface.js.map +0 -1
- package/dist/libs/stefaninigo/messaging/messagin.module.js.map +0 -1
- package/dist/libs/stefaninigo/transport/trasnport.module.js.map +0 -1
|
@@ -24,7 +24,8 @@ let StefaniniGoConfigService = class StefaniniGoConfigService {
|
|
|
24
24
|
region: this.configService.get('storage.s3.region'),
|
|
25
25
|
bucket: this.configService.get('storage.s3.bucket'),
|
|
26
26
|
containerPath: this.configService.get('storage.s3.containerPath'),
|
|
27
|
-
|
|
27
|
+
expiresIn: this.configService.get('storage.s3.expiresIn'),
|
|
28
|
+
},
|
|
28
29
|
};
|
|
29
30
|
return providersConfig[provider];
|
|
30
31
|
},
|
|
@@ -66,12 +67,15 @@ let StefaniniGoConfigService = class StefaniniGoConfigService {
|
|
|
66
67
|
REDIS: {
|
|
67
68
|
host: this.configService.get('cache.redis.host'),
|
|
68
69
|
port: this.configService.get('cache.redis.port'),
|
|
69
|
-
|
|
70
|
+
password: this.configService.get('cache.redis.password'),
|
|
71
|
+
db: this.configService.get('cache.redis.db'),
|
|
72
|
+
tls: this.configService.get('cache.redis.tls'),
|
|
73
|
+
},
|
|
70
74
|
};
|
|
71
75
|
return providersConfig[provider];
|
|
72
76
|
},
|
|
73
77
|
};
|
|
74
|
-
this.
|
|
78
|
+
this.messaging = {
|
|
75
79
|
getConfig: (provider) => {
|
|
76
80
|
const providersConfig = {
|
|
77
81
|
SQS: {
|
|
@@ -87,10 +91,10 @@ let StefaniniGoConfigService = class StefaniniGoConfigService {
|
|
|
87
91
|
region: this.configService.get('message.sns.region'),
|
|
88
92
|
accessKeyId: this.configService.get('message.sns.accessKeyId'),
|
|
89
93
|
secretAccessKey: this.configService.get('message.sns.secretAccessKey'),
|
|
90
|
-
}
|
|
94
|
+
},
|
|
91
95
|
};
|
|
92
96
|
return providersConfig[provider];
|
|
93
|
-
}
|
|
97
|
+
},
|
|
94
98
|
};
|
|
95
99
|
this.transport = {
|
|
96
100
|
getConfig: (provider) => {
|
|
@@ -98,10 +102,10 @@ let StefaniniGoConfigService = class StefaniniGoConfigService {
|
|
|
98
102
|
HTTP: {},
|
|
99
103
|
AWS_WS: {
|
|
100
104
|
domain: this.configService.get('transport.aws_ws.domain'),
|
|
101
|
-
}
|
|
105
|
+
},
|
|
102
106
|
};
|
|
103
107
|
return providersConfig[provider];
|
|
104
|
-
}
|
|
108
|
+
},
|
|
105
109
|
};
|
|
106
110
|
}
|
|
107
111
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../../libs/stefaninigo/src/config/config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../../libs/stefaninigo/src/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,25 @@ export interface SwaggerOptions {
|
|
|
5
5
|
description: string;
|
|
6
6
|
version: string;
|
|
7
7
|
path?: string;
|
|
8
|
+
tags?: Array<{
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}>;
|
|
12
|
+
servers?: Array<{
|
|
13
|
+
url: string;
|
|
14
|
+
description: string;
|
|
15
|
+
}>;
|
|
16
|
+
contact?: {
|
|
17
|
+
name: string;
|
|
18
|
+
url: string;
|
|
19
|
+
email: string;
|
|
20
|
+
};
|
|
21
|
+
bearerAuth?: boolean;
|
|
8
22
|
}
|
|
9
23
|
export declare function setupSwagger(app: INestApplication, options: SwaggerOptions): void;
|
|
10
24
|
export interface CorsOptions {
|
|
11
|
-
origins?: string[];
|
|
12
|
-
methods?: string[];
|
|
25
|
+
origins?: string | string[];
|
|
26
|
+
methods?: string | string[];
|
|
13
27
|
credentials?: boolean;
|
|
14
28
|
}
|
|
15
29
|
export declare function setupCors(app: INestApplication, options?: CorsOptions): void;
|
|
@@ -10,22 +10,62 @@ function createStandardValidationPipe() {
|
|
|
10
10
|
whitelist: true,
|
|
11
11
|
forbidNonWhitelisted: true,
|
|
12
12
|
transform: true,
|
|
13
|
+
transformOptions: {
|
|
14
|
+
enableImplicitConversion: false,
|
|
15
|
+
},
|
|
16
|
+
validateCustomDecorators: true,
|
|
13
17
|
});
|
|
14
18
|
}
|
|
15
19
|
function setupSwagger(app, options) {
|
|
16
|
-
const
|
|
20
|
+
const builder = new swagger_1.DocumentBuilder()
|
|
17
21
|
.setTitle(options.title)
|
|
18
22
|
.setDescription(options.description)
|
|
19
|
-
.setVersion(options.version)
|
|
20
|
-
|
|
21
|
-
.
|
|
23
|
+
.setVersion(options.version);
|
|
24
|
+
if (options.bearerAuth !== false) {
|
|
25
|
+
builder.addBearerAuth({
|
|
26
|
+
type: 'http',
|
|
27
|
+
scheme: 'bearer',
|
|
28
|
+
bearerFormat: 'JWT',
|
|
29
|
+
name: 'Authorization',
|
|
30
|
+
description: 'JWT Bearer token',
|
|
31
|
+
in: 'header',
|
|
32
|
+
}, 'bearer');
|
|
33
|
+
}
|
|
34
|
+
if (options.contact) {
|
|
35
|
+
builder.setContact(options.contact.name, options.contact.url, options.contact.email);
|
|
36
|
+
}
|
|
37
|
+
if (options.tags) {
|
|
38
|
+
for (const tag of options.tags) {
|
|
39
|
+
builder.addTag(tag.name, tag.description);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (options.servers) {
|
|
43
|
+
for (const server of options.servers) {
|
|
44
|
+
builder.addServer(server.url, server.description);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const config = builder.build();
|
|
22
48
|
const document = swagger_1.SwaggerModule.createDocument(app, config);
|
|
23
|
-
|
|
49
|
+
const docsPath = options.path || 'api/docs';
|
|
50
|
+
swagger_1.SwaggerModule.setup(docsPath, app, document, {
|
|
51
|
+
swaggerOptions: {
|
|
52
|
+
persistAuthorization: true,
|
|
53
|
+
tagsSorter: 'alpha',
|
|
54
|
+
operationsSorter: 'alpha',
|
|
55
|
+
},
|
|
56
|
+
customSiteTitle: options.title,
|
|
57
|
+
customCss: '.swagger-ui .topbar { display: none }',
|
|
58
|
+
});
|
|
59
|
+
const jsonPath = docsPath.replace(/\/docs$/, '/openapi.json');
|
|
60
|
+
app.getHttpAdapter().get(jsonPath, (_req, res) => {
|
|
61
|
+
res.setHeader('Content-Type', 'application/json');
|
|
62
|
+
res.send(document);
|
|
63
|
+
});
|
|
24
64
|
}
|
|
25
65
|
function setupCors(app, options) {
|
|
26
66
|
app.enableCors({
|
|
27
|
-
origin: options?.origins || process.env.
|
|
28
|
-
methods: options?.methods ||
|
|
67
|
+
origin: options?.origins || process.env.CORS_ORIGIN || '*',
|
|
68
|
+
methods: options?.methods || 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
|
|
29
69
|
credentials: options?.credentials ?? true,
|
|
30
70
|
});
|
|
31
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.helpers.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/bootstrap/bootstrap.helpers.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"bootstrap.helpers.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/bootstrap/bootstrap.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEnvFilePaths = getEnvFilePaths;
|
|
4
|
+
exports.getEnvFilePath = getEnvFilePath;
|
|
5
|
+
exports.getEnvironment = getEnvironment;
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const path = require("path");
|
|
8
|
+
function getEnvFilePaths(projectRoot = process.cwd()) {
|
|
9
|
+
const nodeEnv = process.env.NODE_ENV || 'development';
|
|
10
|
+
const envFiles = [];
|
|
11
|
+
const envByEnv = path.join(projectRoot, `.env.${nodeEnv}`);
|
|
12
|
+
if (fs.existsSync(envByEnv)) {
|
|
13
|
+
envFiles.push(envByEnv);
|
|
14
|
+
}
|
|
15
|
+
const defaultEnv = path.join(projectRoot, '.env');
|
|
16
|
+
if (fs.existsSync(defaultEnv)) {
|
|
17
|
+
envFiles.push(defaultEnv);
|
|
18
|
+
}
|
|
19
|
+
return envFiles;
|
|
20
|
+
}
|
|
21
|
+
function getEnvFilePath(projectRoot = process.cwd()) {
|
|
22
|
+
const paths = getEnvFilePaths(projectRoot);
|
|
23
|
+
return paths.length > 0 ? paths[0] : null;
|
|
24
|
+
}
|
|
25
|
+
function getEnvironment() {
|
|
26
|
+
return process.env.NODE_ENV || 'development';
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=env.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.utils.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/config/env.utils.ts"],"names":[],"mappings":";;AAaA,0CAeC;AAQD,wCAGC;AAKD,wCAEC;AA9CD,yBAAyB;AACzB,6BAA6B;AAY7B,SAAgB,eAAe,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;IACtD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,SAAgB,cAAc,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAKD,SAAgB,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './env.utils';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./env.utils"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./request-context"), exports);
|
|
18
|
+
__exportStar(require("./request-context.middleware"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,+DAA6C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
2
|
+
export interface RequestContext {
|
|
3
|
+
traceId: string;
|
|
4
|
+
userId?: string;
|
|
5
|
+
language?: string;
|
|
6
|
+
startTime: number;
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}
|
|
9
|
+
export declare const requestContextStorage: AsyncLocalStorage<RequestContext>;
|
|
10
|
+
export declare function getRequestContext(): RequestContext | undefined;
|
|
11
|
+
export declare function getTraceId(): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.requestContextStorage = void 0;
|
|
4
|
+
exports.getRequestContext = getRequestContext;
|
|
5
|
+
exports.getTraceId = getTraceId;
|
|
6
|
+
const async_hooks_1 = require("async_hooks");
|
|
7
|
+
exports.requestContextStorage = new async_hooks_1.AsyncLocalStorage();
|
|
8
|
+
function getRequestContext() {
|
|
9
|
+
return exports.requestContextStorage.getStore();
|
|
10
|
+
}
|
|
11
|
+
function getTraceId() {
|
|
12
|
+
return getRequestContext()?.traceId || 'no-trace-id';
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=request-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/context/request-context.ts"],"names":[],"mappings":";;;AAYA,8CAEC;AAED,gCAEC;AAlBD,6CAAgD;AAUnC,QAAA,qBAAqB,GAAG,IAAI,+BAAiB,EAAkB,CAAC;AAE7E,SAAgB,iBAAiB;IAC/B,OAAO,6BAAqB,CAAC,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,iBAAiB,EAAE,EAAE,OAAO,IAAI,aAAa,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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.RequestContextMiddleware = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const request_context_1 = require("./request-context");
|
|
12
|
+
let RequestContextMiddleware = class RequestContextMiddleware {
|
|
13
|
+
use(req, res, next) {
|
|
14
|
+
const context = {
|
|
15
|
+
traceId: req.traceId || req.headers['x-trace-id'] || 'no-trace-id',
|
|
16
|
+
userId: req.user?.id,
|
|
17
|
+
language: req.headers['accept-language']?.split(',')[0]?.split(';')[0]?.trim(),
|
|
18
|
+
startTime: Date.now(),
|
|
19
|
+
};
|
|
20
|
+
request_context_1.requestContextStorage.run(context, () => next());
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.RequestContextMiddleware = RequestContextMiddleware;
|
|
24
|
+
exports.RequestContextMiddleware = RequestContextMiddleware = __decorate([
|
|
25
|
+
(0, common_1.Injectable)()
|
|
26
|
+
], RequestContextMiddleware);
|
|
27
|
+
//# sourceMappingURL=request-context.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/context/request-context.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4D;AAE5D,uDAA0E;AAGnE,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,MAAM,OAAO,GAAmB;YAC9B,OAAO,EAAG,GAAW,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAW,IAAI,aAAa;YACrF,MAAM,EAAG,GAAW,CAAC,IAAI,EAAE,EAAE;YAC7B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;YAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,uCAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AAVY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAUpC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./problem-details.dto"), exports);
|
|
18
|
+
__exportStar(require("./paginated-result.dto"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class PaginationDto {
|
|
2
|
+
page: number;
|
|
3
|
+
limit: number;
|
|
4
|
+
total: number;
|
|
5
|
+
totalPages: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class PaginatedResultDto<T> {
|
|
8
|
+
data: T[];
|
|
9
|
+
pagination: PaginationDto;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildPaginatedResponse<T>(data: T[], total: number, page: number, limit: number): PaginatedResultDto<T>;
|
|
@@ -0,0 +1,56 @@
|
|
|
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.PaginatedResultDto = exports.PaginationDto = void 0;
|
|
13
|
+
exports.buildPaginatedResponse = buildPaginatedResponse;
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
class PaginationDto {
|
|
16
|
+
}
|
|
17
|
+
exports.PaginationDto = PaginationDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({ description: 'Current page number', example: 1 }),
|
|
20
|
+
__metadata("design:type", Number)
|
|
21
|
+
], PaginationDto.prototype, "page", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, swagger_1.ApiProperty)({ description: 'Number of items per page', example: 10 }),
|
|
24
|
+
__metadata("design:type", Number)
|
|
25
|
+
], PaginationDto.prototype, "limit", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, swagger_1.ApiProperty)({ description: 'Total number of items', example: 100 }),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], PaginationDto.prototype, "total", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, swagger_1.ApiProperty)({ description: 'Total number of pages', example: 10 }),
|
|
32
|
+
__metadata("design:type", Number)
|
|
33
|
+
], PaginationDto.prototype, "totalPages", void 0);
|
|
34
|
+
class PaginatedResultDto {
|
|
35
|
+
}
|
|
36
|
+
exports.PaginatedResultDto = PaginatedResultDto;
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, swagger_1.ApiProperty)({ description: 'Array of items', type: Object, isArray: true }),
|
|
39
|
+
__metadata("design:type", Array)
|
|
40
|
+
], PaginatedResultDto.prototype, "data", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, swagger_1.ApiProperty)({ description: 'Pagination metadata', type: PaginationDto }),
|
|
43
|
+
__metadata("design:type", PaginationDto)
|
|
44
|
+
], PaginatedResultDto.prototype, "pagination", void 0);
|
|
45
|
+
function buildPaginatedResponse(data, total, page, limit) {
|
|
46
|
+
return {
|
|
47
|
+
data,
|
|
48
|
+
pagination: {
|
|
49
|
+
page,
|
|
50
|
+
limit,
|
|
51
|
+
total,
|
|
52
|
+
totalPages: Math.ceil(total / limit),
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=paginated-result.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginated-result.dto.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/dtos/paginated-result.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAiCA,wDAeC;AAhDD,6CAA8C;AAE9C,MAAa,aAAa;CAYzB;AAZD,sCAYC;AAVC;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2CACnD;AAGb;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACxD;AAGd;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;;4CACtD;AAGd;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;iDAChD;AAGrB,MAAa,kBAAkB;CAM9B;AAND,gDAMC;AAJC;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDAClE;AAGV;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC7D,aAAa;sDAAC;AAY5B,SAAgB,sBAAsB,CACpC,IAAS,EACT,KAAa,EACb,IAAY,EACZ,KAAa;IAEb,OAAO;QACL,IAAI;QACJ,UAAU,EAAE;YACV,IAAI;YACJ,KAAK;YACL,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACrC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -16,22 +16,22 @@ class ValidationErrorDto {
|
|
|
16
16
|
exports.ValidationErrorDto = ValidationErrorDto;
|
|
17
17
|
__decorate([
|
|
18
18
|
(0, swagger_1.ApiProperty)({
|
|
19
|
-
description: '
|
|
19
|
+
description: 'Field with the error',
|
|
20
20
|
example: 'email',
|
|
21
21
|
}),
|
|
22
22
|
__metadata("design:type", String)
|
|
23
23
|
], ValidationErrorDto.prototype, "path", void 0);
|
|
24
24
|
__decorate([
|
|
25
25
|
(0, swagger_1.ApiProperty)({
|
|
26
|
-
description: '
|
|
26
|
+
description: 'Error code',
|
|
27
27
|
example: 'required',
|
|
28
28
|
}),
|
|
29
29
|
__metadata("design:type", String)
|
|
30
30
|
], ValidationErrorDto.prototype, "code", void 0);
|
|
31
31
|
__decorate([
|
|
32
32
|
(0, swagger_1.ApiProperty)({
|
|
33
|
-
description: '
|
|
34
|
-
example: '
|
|
33
|
+
description: 'Descriptive error message',
|
|
34
|
+
example: 'Email is required',
|
|
35
35
|
}),
|
|
36
36
|
__metadata("design:type", String)
|
|
37
37
|
], ValidationErrorDto.prototype, "message", void 0);
|
|
@@ -40,42 +40,50 @@ class ProblemDetailsDto {
|
|
|
40
40
|
exports.ProblemDetailsDto = ProblemDetailsDto;
|
|
41
41
|
__decorate([
|
|
42
42
|
(0, swagger_1.ApiProperty)({
|
|
43
|
-
description: '
|
|
43
|
+
description: 'Error type (URI)',
|
|
44
44
|
example: 'https://errors.sg.dev/validation-error',
|
|
45
45
|
}),
|
|
46
46
|
__metadata("design:type", String)
|
|
47
47
|
], ProblemDetailsDto.prototype, "type", void 0);
|
|
48
48
|
__decorate([
|
|
49
49
|
(0, swagger_1.ApiProperty)({
|
|
50
|
-
description: '
|
|
50
|
+
description: 'Error title',
|
|
51
51
|
example: 'Validation Error',
|
|
52
52
|
}),
|
|
53
53
|
__metadata("design:type", String)
|
|
54
54
|
], ProblemDetailsDto.prototype, "title", void 0);
|
|
55
55
|
__decorate([
|
|
56
56
|
(0, swagger_1.ApiProperty)({
|
|
57
|
-
description: '
|
|
57
|
+
description: 'HTTP status code',
|
|
58
58
|
example: 422,
|
|
59
59
|
}),
|
|
60
60
|
__metadata("design:type", Number)
|
|
61
61
|
], ProblemDetailsDto.prototype, "status", void 0);
|
|
62
62
|
__decorate([
|
|
63
63
|
(0, swagger_1.ApiProperty)({
|
|
64
|
-
description: '
|
|
64
|
+
description: 'Detailed error description',
|
|
65
65
|
example: 'The provided payload is invalid.',
|
|
66
66
|
}),
|
|
67
67
|
__metadata("design:type", String)
|
|
68
68
|
], ProblemDetailsDto.prototype, "detail", void 0);
|
|
69
69
|
__decorate([
|
|
70
70
|
(0, swagger_1.ApiProperty)({
|
|
71
|
-
description: '
|
|
71
|
+
description: 'Specific error instance',
|
|
72
72
|
example: '/api/v1/resource',
|
|
73
73
|
}),
|
|
74
74
|
__metadata("design:type", String)
|
|
75
75
|
], ProblemDetailsDto.prototype, "instance", void 0);
|
|
76
76
|
__decorate([
|
|
77
77
|
(0, swagger_1.ApiProperty)({
|
|
78
|
-
description: '
|
|
78
|
+
description: 'Request trace ID',
|
|
79
|
+
example: 'a1b2c3d4-e5f6-4a8b-9c0d-1e2f3a4b5c6d',
|
|
80
|
+
required: false,
|
|
81
|
+
}),
|
|
82
|
+
__metadata("design:type", String)
|
|
83
|
+
], ProblemDetailsDto.prototype, "traceId", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, swagger_1.ApiProperty)({
|
|
86
|
+
description: 'Specific validation errors',
|
|
79
87
|
type: [ValidationErrorDto],
|
|
80
88
|
required: false,
|
|
81
89
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"problem-details.dto.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/dtos/problem-details.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;CAkB9B;AAlBD,gDAkBC;AAbC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"problem-details.dto.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/dtos/problem-details.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;CAkB9B;AAlBD,gDAkBC;AAbC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,OAAO;KACjB,CAAC;;gDACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,UAAU;KACpB,CAAC;;gDACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,mBAAmB;KAC7B,CAAC;;mDACc;AAGlB,MAAa,iBAAiB;CA4C7B;AA5CD,8CA4CC;AAvCC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,wCAAwC;KAClD,CAAC;;+CACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;;gDACY;AAMd;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,GAAG;KACb,CAAC;;iDACa;AAMf;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,kCAAkC;KAC5C,CAAC;;iDACa;AAMf;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,kBAAkB;KAC5B,CAAC;;mDACe;AAOjB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,KAAK;KAChB,CAAC;;kDACe;AAOjB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,CAAC,kBAAkB,CAAC;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC;;iDAC4B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpException, HttpStatus } from '@nestjs/common';
|
|
2
2
|
export declare class HttpError extends HttpException {
|
|
3
|
-
errorCode: string;
|
|
4
|
-
details?: any;
|
|
5
3
|
constructor(message: string, status: HttpStatus, errorCode: string, details?: any);
|
|
4
|
+
get errorCode(): string;
|
|
5
|
+
get details(): any;
|
|
6
6
|
}
|
|
@@ -4,9 +4,13 @@ exports.HttpError = void 0;
|
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
class HttpError extends common_1.HttpException {
|
|
6
6
|
constructor(message, status, errorCode, details) {
|
|
7
|
-
super(message, status);
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
super({ message, errorCode, details, statusCode: status }, status);
|
|
8
|
+
}
|
|
9
|
+
get errorCode() {
|
|
10
|
+
return this.getResponse().errorCode;
|
|
11
|
+
}
|
|
12
|
+
get details() {
|
|
13
|
+
return this.getResponse().details;
|
|
10
14
|
}
|
|
11
15
|
}
|
|
12
16
|
exports.HttpError = HttpError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.error.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/errors/http.error.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D,MAAa,SAAU,SAAQ,sBAAa;
|
|
1
|
+
{"version":3,"file":"http.error.js","sourceRoot":"","sources":["../../../../../libs/stefaninigo/src/core/errors/http.error.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D,MAAa,SAAU,SAAQ,sBAAa;IAC1C,YACE,OAAe,EACf,MAAkB,EAClB,SAAiB,EACjB,OAAa;QAEb,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,SAAS;QACX,OAAQ,IAAI,CAAC,WAAW,EAAU,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACT,OAAQ,IAAI,CAAC,WAAW,EAAU,CAAC,OAAO,CAAC;IAC7C,CAAC;CACF;AAjBD,8BAiBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ExceptionFilter, ArgumentsHost } from '@nestjs/common';
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
export declare class HttpExceptionFilter implements ExceptionFilter {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
private readonly isDevelopment;
|
|
6
|
+
catch(exception: unknown, host: ArgumentsHost): Response<any, Record<string, any>>;
|
|
7
|
+
private extractDetail;
|
|
8
|
+
private logError;
|
|
9
|
+
}
|