@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.
Files changed (142) hide show
  1. package/README.md +339 -51
  2. package/dist/libs/stefaninigo/cache/cache-service.interface.d.ts +4 -4
  3. package/dist/libs/stefaninigo/cache/cache.module.d.ts +1 -5
  4. package/dist/libs/stefaninigo/cache/cache.module.js +2 -2
  5. package/dist/libs/stefaninigo/cache/cache.module.js.map +1 -1
  6. package/dist/libs/stefaninigo/cache/local/{loca.service.d.ts → local.service.d.ts} +6 -4
  7. package/dist/libs/stefaninigo/cache/local/local.service.js +59 -0
  8. package/dist/libs/stefaninigo/cache/local/local.service.js.map +1 -0
  9. package/dist/libs/stefaninigo/config/config.service.d.ts +60 -6
  10. package/dist/libs/stefaninigo/config/config.service.js +11 -7
  11. package/dist/libs/stefaninigo/config/config.service.js.map +1 -1
  12. package/dist/libs/stefaninigo/core/bootstrap/bootstrap.helpers.d.ts +16 -2
  13. package/dist/libs/stefaninigo/core/bootstrap/bootstrap.helpers.js +47 -7
  14. package/dist/libs/stefaninigo/core/bootstrap/bootstrap.helpers.js.map +1 -1
  15. package/dist/libs/stefaninigo/core/config/env.utils.d.ts +3 -0
  16. package/dist/libs/stefaninigo/core/config/env.utils.js +28 -0
  17. package/dist/libs/stefaninigo/core/config/env.utils.js.map +1 -0
  18. package/dist/libs/stefaninigo/core/config/index.d.ts +1 -0
  19. package/dist/libs/stefaninigo/core/config/index.js +18 -0
  20. package/dist/libs/stefaninigo/core/config/index.js.map +1 -0
  21. package/dist/libs/stefaninigo/core/context/index.d.ts +2 -0
  22. package/dist/libs/stefaninigo/core/context/index.js +19 -0
  23. package/dist/libs/stefaninigo/core/context/index.js.map +1 -0
  24. package/dist/libs/stefaninigo/core/context/request-context.d.ts +11 -0
  25. package/dist/libs/stefaninigo/core/context/request-context.js +14 -0
  26. package/dist/libs/stefaninigo/core/context/request-context.js.map +1 -0
  27. package/dist/libs/stefaninigo/core/context/request-context.middleware.d.ts +5 -0
  28. package/dist/libs/stefaninigo/core/context/request-context.middleware.js +27 -0
  29. package/dist/libs/stefaninigo/core/context/request-context.middleware.js.map +1 -0
  30. package/dist/libs/stefaninigo/core/dtos/index.d.ts +1 -0
  31. package/dist/libs/stefaninigo/core/dtos/index.js +1 -0
  32. package/dist/libs/stefaninigo/core/dtos/index.js.map +1 -1
  33. package/dist/libs/stefaninigo/core/dtos/paginated-result.dto.d.ts +11 -0
  34. package/dist/libs/stefaninigo/core/dtos/paginated-result.dto.js +56 -0
  35. package/dist/libs/stefaninigo/core/dtos/paginated-result.dto.js.map +1 -0
  36. package/dist/libs/stefaninigo/core/dtos/problem-details.dto.d.ts +1 -0
  37. package/dist/libs/stefaninigo/core/dtos/problem-details.dto.js +18 -10
  38. package/dist/libs/stefaninigo/core/dtos/problem-details.dto.js.map +1 -1
  39. package/dist/libs/stefaninigo/core/errors/http.error.d.ts +2 -2
  40. package/dist/libs/stefaninigo/core/errors/http.error.js +7 -3
  41. package/dist/libs/stefaninigo/core/errors/http.error.js.map +1 -1
  42. package/dist/libs/stefaninigo/core/filters/http-exception.filter.d.ts +9 -0
  43. package/dist/libs/stefaninigo/core/filters/http-exception.filter.js +90 -0
  44. package/dist/libs/stefaninigo/core/filters/http-exception.filter.js.map +1 -0
  45. package/dist/libs/stefaninigo/core/filters/index.d.ts +1 -0
  46. package/dist/libs/stefaninigo/core/filters/index.js +18 -0
  47. package/dist/libs/stefaninigo/core/filters/index.js.map +1 -0
  48. package/dist/libs/stefaninigo/core/health/health.module.js +2 -1
  49. package/dist/libs/stefaninigo/core/health/health.module.js.map +1 -1
  50. package/dist/libs/stefaninigo/core/health/health.service.d.ts +2 -2
  51. package/dist/libs/stefaninigo/core/health/health.types.d.ts +1 -0
  52. package/dist/libs/stefaninigo/core/health/health.types.js.map +1 -1
  53. package/dist/libs/stefaninigo/core/index.d.ts +4 -0
  54. package/dist/libs/stefaninigo/core/index.js +4 -0
  55. package/dist/libs/stefaninigo/core/index.js.map +1 -1
  56. package/dist/libs/stefaninigo/core/interceptors/logging.interceptor.js +15 -10
  57. package/dist/libs/stefaninigo/core/interceptors/logging.interceptor.js.map +1 -1
  58. package/dist/libs/stefaninigo/core/interceptors/problem-details.interceptor.d.ts +1 -5
  59. package/dist/libs/stefaninigo/core/interceptors/problem-details.interceptor.js +27 -88
  60. package/dist/libs/stefaninigo/core/interceptors/problem-details.interceptor.js.map +1 -1
  61. package/dist/libs/stefaninigo/core/interceptors/problem-details.utils.d.ts +6 -0
  62. package/dist/libs/stefaninigo/core/interceptors/problem-details.utils.js +70 -0
  63. package/dist/libs/stefaninigo/core/interceptors/problem-details.utils.js.map +1 -0
  64. package/dist/libs/stefaninigo/core/interceptors/response.interceptor.js +2 -2
  65. package/dist/libs/stefaninigo/core/interceptors/response.interceptor.js.map +1 -1
  66. package/dist/libs/stefaninigo/core/logger/index.d.ts +1 -0
  67. package/dist/libs/stefaninigo/core/logger/index.js +18 -0
  68. package/dist/libs/stefaninigo/core/logger/index.js.map +1 -0
  69. package/dist/libs/stefaninigo/core/logger/traced-logger.d.ts +7 -0
  70. package/dist/libs/stefaninigo/core/logger/traced-logger.js +21 -0
  71. package/dist/libs/stefaninigo/core/logger/traced-logger.js.map +1 -0
  72. package/dist/libs/stefaninigo/database/database-service.interface.d.ts +20 -23
  73. package/dist/libs/stefaninigo/database/database-service.interface.js +0 -16
  74. package/dist/libs/stefaninigo/database/database-service.interface.js.map +1 -1
  75. package/dist/libs/stefaninigo/database/database.module.d.ts +2 -6
  76. package/dist/libs/stefaninigo/database/database.module.js +1 -1
  77. package/dist/libs/stefaninigo/database/database.module.js.map +1 -1
  78. package/dist/libs/stefaninigo/database/dynamodb/dynamodb.service.d.ts +12 -10
  79. package/dist/libs/stefaninigo/database/dynamodb/dynamodb.service.js +8 -14
  80. package/dist/libs/stefaninigo/database/dynamodb/dynamodb.service.js.map +1 -1
  81. package/dist/libs/stefaninigo/database/index.js.map +1 -1
  82. package/dist/libs/stefaninigo/database/mongodb/mongodb.service.d.ts +5 -3
  83. package/dist/libs/stefaninigo/database/mongodb/mongodb.service.js +43 -21
  84. package/dist/libs/stefaninigo/database/mongodb/mongodb.service.js.map +1 -1
  85. package/dist/libs/stefaninigo/database/postgresdb/postgresdb.services.d.ts +9 -6
  86. package/dist/libs/stefaninigo/database/postgresdb/postgresdb.services.js +43 -31
  87. package/dist/libs/stefaninigo/database/postgresdb/postgresdb.services.js.map +1 -1
  88. package/dist/libs/stefaninigo/events/event-bus/event-bus.module.d.ts +2 -0
  89. package/dist/libs/stefaninigo/events/event-bus/event-bus.module.js +22 -0
  90. package/dist/libs/stefaninigo/events/event-bus/event-bus.module.js.map +1 -0
  91. package/dist/libs/stefaninigo/events/event-bus/event-bus.service.d.ts +21 -0
  92. package/dist/libs/stefaninigo/events/event-bus/event-bus.service.js +130 -0
  93. package/dist/libs/stefaninigo/events/event-bus/event-bus.service.js.map +1 -0
  94. package/dist/libs/stefaninigo/events/event-bus/event-bus.types.d.ts +13 -0
  95. package/dist/libs/stefaninigo/{messaging/messagin-service.interface.js → events/event-bus/event-bus.types.js} +1 -1
  96. package/dist/libs/stefaninigo/events/event-bus/event-bus.types.js.map +1 -0
  97. package/dist/libs/stefaninigo/events/event-bus/index.d.ts +3 -0
  98. package/dist/libs/stefaninigo/events/event-bus/index.js +20 -0
  99. package/dist/libs/stefaninigo/events/event-bus/index.js.map +1 -0
  100. package/dist/libs/stefaninigo/events/index.d.ts +1 -0
  101. package/dist/libs/stefaninigo/events/index.js +1 -0
  102. package/dist/libs/stefaninigo/events/index.js.map +1 -1
  103. package/dist/libs/stefaninigo/events/types/domain-events.d.ts +3 -145
  104. package/dist/libs/stefaninigo/index.d.ts +2 -3
  105. package/dist/libs/stefaninigo/index.js +2 -2
  106. package/dist/libs/stefaninigo/index.js.map +1 -1
  107. package/dist/libs/stefaninigo/messaging/index.d.ts +2 -2
  108. package/dist/libs/stefaninigo/messaging/index.js +2 -2
  109. package/dist/libs/stefaninigo/messaging/index.js.map +1 -1
  110. package/dist/libs/stefaninigo/messaging/{messagin-service.interface.d.ts → messaging-service.interface.d.ts} +1 -1
  111. package/dist/libs/stefaninigo/messaging/messaging-service.interface.js +3 -0
  112. package/dist/libs/stefaninigo/messaging/messaging-service.interface.js.map +1 -0
  113. package/dist/libs/stefaninigo/messaging/{messagin.module.d.ts → messaging.module.d.ts} +2 -6
  114. package/dist/libs/stefaninigo/messaging/{messagin.module.js → messaging.module.js} +2 -2
  115. package/dist/libs/stefaninigo/messaging/messaging.module.js.map +1 -0
  116. package/dist/libs/stefaninigo/messaging/sns/sns.service.d.ts +3 -5
  117. package/dist/libs/stefaninigo/messaging/sns/sns.service.js +2 -26
  118. package/dist/libs/stefaninigo/messaging/sns/sns.service.js.map +1 -1
  119. package/dist/libs/stefaninigo/messaging/sqs/sqs.service.d.ts +3 -2
  120. package/dist/libs/stefaninigo/messaging/sqs/sqs.service.js +20 -8
  121. package/dist/libs/stefaninigo/messaging/sqs/sqs.service.js.map +1 -1
  122. package/dist/libs/stefaninigo/storage/s3/s3-services.d.ts +2 -0
  123. package/dist/libs/stefaninigo/storage/s3/s3-services.js +36 -8
  124. package/dist/libs/stefaninigo/storage/s3/s3-services.js.map +1 -1
  125. package/dist/libs/stefaninigo/storage/storage.interface.d.ts +1 -0
  126. package/dist/libs/stefaninigo/storage/storage.module.js +1 -1
  127. package/dist/libs/stefaninigo/storage/storage.module.js.map +1 -1
  128. package/dist/libs/stefaninigo/transport/index.d.ts +1 -1
  129. package/dist/libs/stefaninigo/transport/index.js +1 -1
  130. package/dist/libs/stefaninigo/transport/index.js.map +1 -1
  131. package/dist/libs/stefaninigo/transport/{trasnport.module.d.ts → transport.module.d.ts} +8 -7
  132. package/dist/libs/stefaninigo/transport/{trasnport.module.js → transport.module.js} +8 -12
  133. package/dist/libs/stefaninigo/transport/transport.module.js.map +1 -0
  134. package/dist/libs/stefaninigo/transport/web-socket/aws/aws-ws-transport.service.d.ts +2 -2
  135. package/dist/libs/stefaninigo/transport/web-socket/aws/aws-ws-transport.service.js +0 -4
  136. package/dist/libs/stefaninigo/transport/web-socket/aws/aws-ws-transport.service.js.map +1 -1
  137. package/package.json +8 -3
  138. package/dist/libs/stefaninigo/cache/local/loca.service.js +0 -30
  139. package/dist/libs/stefaninigo/cache/local/loca.service.js.map +0 -1
  140. package/dist/libs/stefaninigo/messaging/messagin-service.interface.js.map +0 -1
  141. package/dist/libs/stefaninigo/messaging/messagin.module.js.map +0 -1
  142. 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.messagin = {
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":"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"}
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 config = new swagger_1.DocumentBuilder()
20
+ const builder = new swagger_1.DocumentBuilder()
17
21
  .setTitle(options.title)
18
22
  .setDescription(options.description)
19
- .setVersion(options.version)
20
- .addBearerAuth()
21
- .build();
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
- swagger_1.SwaggerModule.setup(options.path || 'api/docs', app, document);
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.CORS_ORIGINS?.split(',') || '*',
28
- methods: options?.methods || ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],
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":";;AAGA,oEAMC;AASD,oCAaC;AAQD,8BASC;AAhDD,2CAAkE;AAClE,6CAAiE;AAEjE,SAAgB,4BAA4B;IAC1C,OAAO,IAAI,uBAAc,CAAC;QACxB,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AASD,SAAgB,YAAY,CAC1B,GAAqB,EACrB,OAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;SACvB,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;SACnC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3B,aAAa,EAAE;SACf,KAAK,EAAE,CAAC;IAEX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,uBAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC;AAQD,SAAgB,SAAS,CACvB,GAAqB,EACrB,OAAqB;IAErB,GAAG,CAAC,UAAU,CAAC;QACb,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG;QACvE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;QACjF,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;KAC1C,CAAC,CAAC;AACL,CAAC"}
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,3 @@
1
+ export declare function getEnvFilePaths(projectRoot?: string): string[];
2
+ export declare function getEnvFilePath(projectRoot?: string): string | null;
3
+ export declare function getEnvironment(): string;
@@ -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,2 @@
1
+ export * from './request-context';
2
+ export * from './request-context.middleware';
@@ -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,5 @@
1
+ import { NestMiddleware } from '@nestjs/common';
2
+ import { Request, Response, NextFunction } from 'express';
3
+ export declare class RequestContextMiddleware implements NestMiddleware {
4
+ use(req: Request, res: Response, next: NextFunction): void;
5
+ }
@@ -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"}
@@ -1 +1,2 @@
1
1
  export * from './problem-details.dto';
2
+ export * from './paginated-result.dto';
@@ -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"}
@@ -9,5 +9,6 @@ export declare class ProblemDetailsDto {
9
9
  status: number;
10
10
  detail: string;
11
11
  instance: string;
12
+ traceId?: string;
12
13
  errors?: ValidationErrorDto[];
13
14
  }
@@ -16,22 +16,22 @@ class ValidationErrorDto {
16
16
  exports.ValidationErrorDto = ValidationErrorDto;
17
17
  __decorate([
18
18
  (0, swagger_1.ApiProperty)({
19
- description: 'Campo que tiene el error',
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: 'Codigo del error',
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: 'Mensaje descriptivo del error',
34
- example: 'El email es requerido',
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: 'Tipo de error (URI)',
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: 'Titulo del error',
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: 'Codigo de estado HTTP',
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: 'Descripcion detallada del error',
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: 'Instancia especifica del error',
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: 'Errores de validacion especificos',
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,0BAA0B;QACvC,OAAO,EAAE,OAAO;KACjB,CAAC;;gDACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,UAAU;KACpB,CAAC;;gDACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,uBAAuB;KACjC,CAAC;;mDACc;AAGlB,MAAa,iBAAiB;CAqC7B;AArCD,8CAqCC;AAhCC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,wCAAwC;KAClD,CAAC;;+CACW;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;;gDACY;AAMd;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,GAAG;KACb,CAAC;;iDACa;AAMf;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,kCAAkC;KAC5C,CAAC;;iDACa;AAMf;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,kBAAkB;KAC5B,CAAC;;mDACe;AAOjB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,CAAC,kBAAkB,CAAC;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC;;iDAC4B"}
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
- this.errorCode = errorCode;
9
- this.details = details;
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;IAI1C,YACE,OAAe,EACf,MAAkB,EAClB,SAAiB,EACjB,OAAa;QAEb,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAdD,8BAcC"}
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
+ }