@anatix/runtime 1.0.1 → 1.0.3

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 (198) hide show
  1. package/dist/contracts/service-options.d.ts +0 -5
  2. package/dist/contracts/service-options.d.ts.map +1 -1
  3. package/dist/decorators/filters/exception-filter.config.d.ts +7 -0
  4. package/dist/decorators/filters/exception-filter.config.d.ts.map +1 -0
  5. package/dist/decorators/filters/exception-filter.config.js +9 -0
  6. package/dist/decorators/filters/exception-filter.config.js.map +1 -0
  7. package/dist/decorators/filters/global-exception.filter.d.ts +3 -2
  8. package/dist/decorators/filters/global-exception.filter.d.ts.map +1 -1
  9. package/dist/decorators/filters/global-exception.filter.js +14 -5
  10. package/dist/decorators/filters/global-exception.filter.js.map +1 -1
  11. package/dist/decorators/filters/index.d.ts +1 -0
  12. package/dist/decorators/filters/index.d.ts.map +1 -1
  13. package/dist/decorators/filters/index.js +1 -0
  14. package/dist/decorators/filters/index.js.map +1 -1
  15. package/dist/dtos/error-response.dto.d.ts +20 -0
  16. package/dist/dtos/error-response.dto.d.ts.map +1 -0
  17. package/dist/dtos/error-response.dto.js +42 -0
  18. package/dist/dtos/error-response.dto.js.map +1 -0
  19. package/dist/dtos/index.d.ts +3 -0
  20. package/dist/dtos/index.d.ts.map +1 -0
  21. package/dist/dtos/index.js +13 -0
  22. package/dist/dtos/index.js.map +1 -0
  23. package/dist/dtos/paginated-response.dto.d.ts +16 -0
  24. package/dist/dtos/paginated-response.dto.d.ts.map +1 -0
  25. package/dist/dtos/paginated-response.dto.js +31 -0
  26. package/dist/dtos/paginated-response.dto.js.map +1 -0
  27. package/dist/envelope/repositories/outbox.repository.d.ts.map +1 -1
  28. package/dist/envelope/repositories/outbox.repository.js +1 -1
  29. package/dist/envelope/repositories/outbox.repository.js.map +1 -1
  30. package/dist/envelope/services/inbox-retry.service.d.ts +3 -2
  31. package/dist/envelope/services/inbox-retry.service.d.ts.map +1 -1
  32. package/dist/envelope/services/inbox-retry.service.js +4 -0
  33. package/dist/envelope/services/inbox-retry.service.js.map +1 -1
  34. package/dist/envelope/services/outbox-dispatcher.service.d.ts +5 -2
  35. package/dist/envelope/services/outbox-dispatcher.service.d.ts.map +1 -1
  36. package/dist/envelope/services/outbox-dispatcher.service.js +61 -24
  37. package/dist/envelope/services/outbox-dispatcher.service.js.map +1 -1
  38. package/dist/envelope/tx-manager.d.ts +1 -1
  39. package/dist/envelope/tx-manager.d.ts.map +1 -1
  40. package/dist/event-bus/adapters/index.d.ts +4 -0
  41. package/dist/event-bus/adapters/index.d.ts.map +1 -0
  42. package/dist/event-bus/adapters/index.js +20 -0
  43. package/dist/event-bus/adapters/index.js.map +1 -0
  44. package/dist/event-bus/adapters/kafka.adapter.d.ts +28 -0
  45. package/dist/event-bus/adapters/kafka.adapter.d.ts.map +1 -0
  46. package/dist/event-bus/adapters/kafka.adapter.js +263 -0
  47. package/dist/event-bus/adapters/kafka.adapter.js.map +1 -0
  48. package/dist/event-bus/adapters/message-broker.interface.d.ts +39 -0
  49. package/dist/event-bus/adapters/message-broker.interface.d.ts.map +1 -0
  50. package/dist/event-bus/adapters/message-broker.interface.js +3 -0
  51. package/dist/event-bus/adapters/message-broker.interface.js.map +1 -0
  52. package/dist/event-bus/adapters/rabbitmq.adapter.d.ts +21 -0
  53. package/dist/event-bus/adapters/rabbitmq.adapter.d.ts.map +1 -0
  54. package/dist/event-bus/adapters/rabbitmq.adapter.js +232 -0
  55. package/dist/event-bus/adapters/rabbitmq.adapter.js.map +1 -0
  56. package/dist/event-bus/config/adapter.config.d.ts +65 -0
  57. package/dist/event-bus/config/adapter.config.d.ts.map +1 -0
  58. package/dist/event-bus/config/adapter.config.js +6 -0
  59. package/dist/event-bus/config/adapter.config.js.map +1 -0
  60. package/dist/event-bus/config/index.d.ts +2 -0
  61. package/dist/event-bus/config/index.d.ts.map +1 -0
  62. package/dist/event-bus/config/index.js +18 -0
  63. package/dist/event-bus/config/index.js.map +1 -0
  64. package/dist/event-bus/event-bus.config.d.ts +19 -0
  65. package/dist/event-bus/event-bus.config.d.ts.map +1 -1
  66. package/dist/event-bus/event-bus.config.js.map +1 -1
  67. package/dist/event-bus/services/event-bus.service.d.ts +7 -6
  68. package/dist/event-bus/services/event-bus.service.d.ts.map +1 -1
  69. package/dist/event-bus/services/event-bus.service.js +96 -210
  70. package/dist/event-bus/services/event-bus.service.js.map +1 -1
  71. package/dist/event-bus/types/event-bus-adapter.interface.d.ts +43 -0
  72. package/dist/event-bus/types/event-bus-adapter.interface.d.ts.map +1 -0
  73. package/dist/event-bus/types/event-bus-adapter.interface.js +3 -0
  74. package/dist/event-bus/types/event-bus-adapter.interface.js.map +1 -0
  75. package/dist/health/health.service.d.ts +1 -0
  76. package/dist/health/health.service.d.ts.map +1 -1
  77. package/dist/health/health.service.js +12 -3
  78. package/dist/health/health.service.js.map +1 -1
  79. package/dist/index.d.ts +7 -2
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +61 -2
  82. package/dist/index.js.map +1 -1
  83. package/dist/monitoring/index.d.ts +2 -0
  84. package/dist/monitoring/index.d.ts.map +1 -0
  85. package/dist/monitoring/index.js +18 -0
  86. package/dist/monitoring/index.js.map +1 -0
  87. package/dist/proxy/config/proxy.config.d.ts +6 -2
  88. package/dist/proxy/config/proxy.config.d.ts.map +1 -1
  89. package/dist/proxy/config/proxy.config.js +6 -3
  90. package/dist/proxy/config/proxy.config.js.map +1 -1
  91. package/dist/proxy/methods/proxy-delete.d.ts.map +1 -1
  92. package/dist/proxy/methods/proxy-delete.js +2 -2
  93. package/dist/proxy/methods/proxy-delete.js.map +1 -1
  94. package/dist/proxy/methods/proxy-get.d.ts.map +1 -1
  95. package/dist/proxy/methods/proxy-get.js +2 -2
  96. package/dist/proxy/methods/proxy-get.js.map +1 -1
  97. package/dist/proxy/methods/proxy-patch.d.ts.map +1 -1
  98. package/dist/proxy/methods/proxy-patch.js +2 -2
  99. package/dist/proxy/methods/proxy-patch.js.map +1 -1
  100. package/dist/proxy/methods/proxy-post.d.ts.map +1 -1
  101. package/dist/proxy/methods/proxy-post.js +2 -2
  102. package/dist/proxy/methods/proxy-post.js.map +1 -1
  103. package/dist/proxy/methods/proxy-put.d.ts.map +1 -1
  104. package/dist/proxy/methods/proxy-put.js +2 -2
  105. package/dist/proxy/methods/proxy-put.js.map +1 -1
  106. package/dist/repository/bulk.d.ts +12 -0
  107. package/dist/repository/bulk.d.ts.map +1 -0
  108. package/dist/repository/bulk.js +107 -0
  109. package/dist/repository/bulk.js.map +1 -0
  110. package/dist/repository/cursor.d.ts +12 -5
  111. package/dist/repository/cursor.d.ts.map +1 -1
  112. package/dist/repository/cursor.js +57 -29
  113. package/dist/repository/cursor.js.map +1 -1
  114. package/dist/repository/index.d.ts +6 -1
  115. package/dist/repository/index.d.ts.map +1 -1
  116. package/dist/repository/index.js +22 -15
  117. package/dist/repository/index.js.map +1 -1
  118. package/dist/repository/lock.d.ts +8 -0
  119. package/dist/repository/lock.d.ts.map +1 -0
  120. package/dist/repository/lock.js +35 -0
  121. package/dist/repository/lock.js.map +1 -0
  122. package/dist/repository/retry.d.ts +7 -0
  123. package/dist/repository/retry.d.ts.map +1 -0
  124. package/dist/repository/retry.js +43 -0
  125. package/dist/repository/retry.js.map +1 -0
  126. package/dist/repository/scope.d.ts +8 -0
  127. package/dist/repository/scope.d.ts.map +1 -0
  128. package/dist/repository/scope.js +16 -0
  129. package/dist/repository/scope.js.map +1 -0
  130. package/dist/result/index.d.ts +2 -0
  131. package/dist/result/index.d.ts.map +1 -0
  132. package/dist/result/index.js +16 -0
  133. package/dist/result/index.js.map +1 -0
  134. package/dist/result/result.d.ts +26 -0
  135. package/dist/result/result.d.ts.map +1 -0
  136. package/dist/result/result.js +73 -0
  137. package/dist/result/result.js.map +1 -0
  138. package/dist/security/bcrypt.adapter.d.ts +3 -0
  139. package/dist/security/bcrypt.adapter.d.ts.map +1 -1
  140. package/dist/security/bcrypt.adapter.js +6 -1
  141. package/dist/security/bcrypt.adapter.js.map +1 -1
  142. package/dist/security/index.d.ts +1 -0
  143. package/dist/security/index.d.ts.map +1 -1
  144. package/dist/security/index.js +1 -0
  145. package/dist/security/index.js.map +1 -1
  146. package/dist/security/security.config.d.ts +6 -0
  147. package/dist/security/security.config.d.ts.map +1 -0
  148. package/dist/security/security.config.js +8 -0
  149. package/dist/security/security.config.js.map +1 -0
  150. package/dist/service/cache.d.ts +11 -0
  151. package/dist/service/cache.d.ts.map +1 -0
  152. package/dist/service/cache.js +45 -0
  153. package/dist/service/cache.js.map +1 -0
  154. package/dist/service/circuit-breaker.d.ts +19 -0
  155. package/dist/service/circuit-breaker.d.ts.map +1 -0
  156. package/dist/service/circuit-breaker.js +73 -0
  157. package/dist/service/circuit-breaker.js.map +1 -0
  158. package/dist/service/enrichment.d.ts +8 -0
  159. package/dist/service/enrichment.d.ts.map +1 -0
  160. package/dist/service/enrichment.js +40 -0
  161. package/dist/service/enrichment.js.map +1 -0
  162. package/dist/service/idempotency.d.ts +8 -0
  163. package/dist/service/idempotency.d.ts.map +1 -0
  164. package/dist/service/idempotency.js +28 -0
  165. package/dist/service/idempotency.js.map +1 -0
  166. package/dist/service/index.d.ts +10 -0
  167. package/dist/service/index.d.ts.map +1 -0
  168. package/dist/service/index.js +45 -0
  169. package/dist/service/index.js.map +1 -0
  170. package/dist/service/projection.d.ts +14 -0
  171. package/dist/service/projection.d.ts.map +1 -0
  172. package/dist/service/projection.js +59 -0
  173. package/dist/service/projection.js.map +1 -0
  174. package/dist/service/rate-limit.d.ts +10 -0
  175. package/dist/service/rate-limit.d.ts.map +1 -0
  176. package/dist/service/rate-limit.js +42 -0
  177. package/dist/service/rate-limit.js.map +1 -0
  178. package/dist/service/retry.d.ts +8 -0
  179. package/dist/service/retry.d.ts.map +1 -0
  180. package/dist/service/retry.js +62 -0
  181. package/dist/service/retry.js.map +1 -0
  182. package/dist/service/timeout.d.ts +7 -0
  183. package/dist/service/timeout.d.ts.map +1 -0
  184. package/dist/service/timeout.js +39 -0
  185. package/dist/service/timeout.js.map +1 -0
  186. package/dist/service/transaction.d.ts +12 -0
  187. package/dist/service/transaction.d.ts.map +1 -0
  188. package/dist/service/transaction.js +17 -0
  189. package/dist/service/transaction.js.map +1 -0
  190. package/dist/utils/index.d.ts +1 -0
  191. package/dist/utils/index.d.ts.map +1 -1
  192. package/dist/utils/index.js +1 -0
  193. package/dist/utils/index.js.map +1 -1
  194. package/dist/utils/retry.d.ts +7 -0
  195. package/dist/utils/retry.d.ts.map +1 -0
  196. package/dist/utils/retry.js +27 -0
  197. package/dist/utils/retry.js.map +1 -0
  198. package/package.json +25 -4
@@ -12,9 +12,4 @@ export interface ServiceQueryOptions extends ServiceListOptions {
12
12
  }
13
13
  export type RepoListOptions = ServiceListOptions;
14
14
  export type RepoQueryOptions = ServiceQueryOptions;
15
- export interface TxManager<R> {
16
- transaction?<T>(fn: (trxRepo: R) => Promise<T>, opts?: {
17
- isolation?: string;
18
- }): Promise<T>;
19
- }
20
15
  //# sourceMappingURL=service-options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-options.d.ts","sourceRoot":"","sources":["../../src/contracts/service-options.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AACjD,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAMnD,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,WAAW,CAAC,CAAC,CAAC,EACZ,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,CAAC,CAAC,CAAC;CACf"}
1
+ {"version":3,"file":"service-options.d.ts","sourceRoot":"","sources":["../../src/contracts/service-options.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AACjD,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface ExceptionFilterConfig {
2
+ isDevelopment?: boolean;
3
+ logErrors?: boolean;
4
+ }
5
+ export declare const EXCEPTION_FILTER_CONFIG = "EXCEPTION_FILTER_CONFIG";
6
+ export declare const defaultExceptionFilterConfig: ExceptionFilterConfig;
7
+ //# sourceMappingURL=exception-filter.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-filter.config.d.ts","sourceRoot":"","sources":["../../../src/decorators/filters/exception-filter.config.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAGjE,eAAO,MAAM,4BAA4B,EAAE,qBAG1C,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultExceptionFilterConfig = exports.EXCEPTION_FILTER_CONFIG = void 0;
4
+ exports.EXCEPTION_FILTER_CONFIG = 'EXCEPTION_FILTER_CONFIG';
5
+ exports.defaultExceptionFilterConfig = {
6
+ isDevelopment: false,
7
+ logErrors: true,
8
+ };
9
+ //# sourceMappingURL=exception-filter.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-filter.config.js","sourceRoot":"","sources":["../../../src/decorators/filters/exception-filter.config.ts"],"names":[],"mappings":";;;AAOa,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAGpD,QAAA,4BAA4B,GAA0B;IACjE,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ExceptionFilter, ArgumentsHost } from '@nestjs/common';
2
+ import { type ExceptionFilterConfig } from './exception-filter.config';
2
3
  export interface ErrorResponse {
3
4
  statusCode: number;
4
5
  path: string;
@@ -9,8 +10,8 @@ export interface ErrorResponse {
9
10
  }
10
11
  export declare class GlobalExceptionFilter implements ExceptionFilter {
11
12
  private readonly logger;
12
- private readonly isDevelopment;
13
- private readonly logErrors;
13
+ private readonly config;
14
+ constructor(config?: ExceptionFilterConfig);
14
15
  catch(exception: unknown, host: ArgumentsHost): void;
15
16
  private logError;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../../src/decorators/filters/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EAId,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,aAAa;IAE5B,UAAU,EAAE,MAAM,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAGzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAQhE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAuDpD,OAAO,CAAC,QAAQ;CA0BjB"}
1
+ {"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../../src/decorators/filters/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EAId,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAgC,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGrG,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAEnC,MAAM,CAAC,EAAE,qBAAqB;IAI1C,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAgDpD,OAAO,CAAC,QAAQ;CA0BjB"}
@@ -5,14 +5,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
+ };
8
11
  var GlobalExceptionFilter_1;
9
12
  Object.defineProperty(exports, "__esModule", { value: true });
10
13
  exports.GlobalExceptionFilter = void 0;
11
14
  const common_1 = require("@nestjs/common");
15
+ const exception_filter_config_1 = require("./exception-filter.config");
12
16
  let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilter {
13
17
  logger = new common_1.Logger(GlobalExceptionFilter_1.name);
14
- isDevelopment = process.env.NODE_ENV === 'development';
15
- logErrors = process.env.LOG_ERRORS !== 'false';
18
+ config;
19
+ constructor(config) {
20
+ this.config = config ?? exception_filter_config_1.defaultExceptionFilterConfig;
21
+ }
16
22
  catch(exception, host) {
17
23
  const ctx = host.switchToHttp();
18
24
  const response = ctx.getResponse();
@@ -35,7 +41,8 @@ let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilte
35
41
  message = 'Internal server error';
36
42
  stack = undefined;
37
43
  }
38
- if (this.logErrors) {
44
+ const logErrors = this.config.logErrors ?? exception_filter_config_1.defaultExceptionFilterConfig.logErrors;
45
+ if (logErrors) {
39
46
  this.logError(request, status, message, stack);
40
47
  }
41
48
  const errorResponse = {
@@ -45,7 +52,8 @@ let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilte
45
52
  timestamp: new Date().toISOString(),
46
53
  message,
47
54
  };
48
- if (this.isDevelopment && stack) {
55
+ const isDevelopment = this.config.isDevelopment ?? exception_filter_config_1.defaultExceptionFilterConfig.isDevelopment;
56
+ if (isDevelopment && stack) {
49
57
  errorResponse.stack = stack;
50
58
  }
51
59
  response.status(status).json(errorResponse);
@@ -74,6 +82,7 @@ let GlobalExceptionFilter = GlobalExceptionFilter_1 = class GlobalExceptionFilte
74
82
  };
75
83
  exports.GlobalExceptionFilter = GlobalExceptionFilter;
76
84
  exports.GlobalExceptionFilter = GlobalExceptionFilter = GlobalExceptionFilter_1 = __decorate([
77
- (0, common_1.Catch)()
85
+ (0, common_1.Catch)(),
86
+ __metadata("design:paramtypes", [Object])
78
87
  ], GlobalExceptionFilter);
79
88
  //# sourceMappingURL=global-exception.filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../../src/decorators/filters/global-exception.filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../../src/decorators/filters/global-exception.filter.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './global-exception.filter';
2
+ export * from './exception-filter.config';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -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("./global-exception.filter"), exports);
18
+ __exportStar(require("./exception-filter.config"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/filters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/filters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,4DAA0C"}
@@ -0,0 +1,20 @@
1
+ export interface ValidationError {
2
+ field: string;
3
+ message: string;
4
+ constraint?: string;
5
+ value?: any;
6
+ }
7
+ export declare class ErrorResponseDto {
8
+ statusCode: number;
9
+ message: string | object;
10
+ path?: string;
11
+ timestamp?: string;
12
+ errors?: ValidationError[];
13
+ code?: string;
14
+ stack?: string;
15
+ constructor(statusCode: number, message: string | object, path?: string, errors?: ValidationError[]);
16
+ }
17
+ export declare function createErrorResponse(statusCode: number, message: string, path?: string): ErrorResponseDto;
18
+ export declare function createValidationErrorResponse(errors: ValidationError[], path?: string): ErrorResponseDto;
19
+ export declare function createErrorFromException(error: any, path?: string, includeStack?: boolean): ErrorResponseDto;
20
+ //# sourceMappingURL=error-response.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-response.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/error-response.dto.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA6BD,qBAAa,gBAAgB;IAE3B,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAGzB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAG3B,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,CAAC,EAAE,MAAM,CAAC;gBAGb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,EAAE;CAQ7B;AAeD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,gBAAgB,CAElB;AAoBD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,CAAC,EAAE,MAAM,GACZ,gBAAgB,CAElB;AAoBD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,GAAG,EACV,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,OAAe,GAC5B,gBAAgB,CAelB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorResponseDto = void 0;
4
+ exports.createErrorResponse = createErrorResponse;
5
+ exports.createValidationErrorResponse = createValidationErrorResponse;
6
+ exports.createErrorFromException = createErrorFromException;
7
+ class ErrorResponseDto {
8
+ statusCode;
9
+ message;
10
+ path;
11
+ timestamp;
12
+ errors;
13
+ code;
14
+ stack;
15
+ constructor(statusCode, message, path, errors) {
16
+ this.statusCode = statusCode;
17
+ this.message = message;
18
+ this.path = path;
19
+ this.timestamp = new Date().toISOString();
20
+ this.errors = errors;
21
+ }
22
+ }
23
+ exports.ErrorResponseDto = ErrorResponseDto;
24
+ function createErrorResponse(statusCode, message, path) {
25
+ return new ErrorResponseDto(statusCode, message, path);
26
+ }
27
+ function createValidationErrorResponse(errors, path) {
28
+ return new ErrorResponseDto(400, 'Validation failed', path, errors);
29
+ }
30
+ function createErrorFromException(error, path, includeStack = false) {
31
+ const statusCode = error.statusCode || error.status || 500;
32
+ const message = error.message || 'Internal server error';
33
+ const response = new ErrorResponseDto(statusCode, message, path);
34
+ if (error.code) {
35
+ response.code = error.code;
36
+ }
37
+ if (includeStack && error.stack) {
38
+ response.stack = error.stack;
39
+ }
40
+ return response;
41
+ }
42
+ //# sourceMappingURL=error-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-response.dto.js","sourceRoot":"","sources":["../../src/dtos/error-response.dto.ts"],"names":[],"mappings":";;;AAkGA,kDAMC;AAoBD,sEAKC;AAoBD,4DAmBC;AAvHD,MAAa,gBAAgB;IAE3B,UAAU,CAAS;IAGnB,OAAO,CAAkB;IAGzB,IAAI,CAAU;IAGd,SAAS,CAAU;IAGnB,MAAM,CAAqB;IAG3B,IAAI,CAAU;IAGd,KAAK,CAAU;IAEf,YACE,UAAkB,EAClB,OAAwB,EACxB,IAAa,EACb,MAA0B;QAE1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAlCD,4CAkCC;AAeD,SAAgB,mBAAmB,CACjC,UAAkB,EAClB,OAAe,EACf,IAAa;IAEb,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAoBD,SAAgB,6BAA6B,CAC3C,MAAyB,EACzB,IAAa;IAEb,OAAO,IAAI,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AAoBD,SAAgB,wBAAwB,CACtC,KAAU,EACV,IAAa,EACb,eAAwB,KAAK;IAE7B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAEzD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PaginatedResponseDto, createOffsetPaginatedResponse, createCursorPaginatedResponse, type PaginationMeta } from './paginated-response.dto';
2
+ export { ErrorResponseDto, createErrorResponse, createValidationErrorResponse, createErrorFromException, type ValidationError } from './error-response.dto';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dtos/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,EACxB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createErrorFromException = exports.createValidationErrorResponse = exports.createErrorResponse = exports.ErrorResponseDto = exports.createCursorPaginatedResponse = exports.createOffsetPaginatedResponse = exports.PaginatedResponseDto = void 0;
4
+ var paginated_response_dto_1 = require("./paginated-response.dto");
5
+ Object.defineProperty(exports, "PaginatedResponseDto", { enumerable: true, get: function () { return paginated_response_dto_1.PaginatedResponseDto; } });
6
+ Object.defineProperty(exports, "createOffsetPaginatedResponse", { enumerable: true, get: function () { return paginated_response_dto_1.createOffsetPaginatedResponse; } });
7
+ Object.defineProperty(exports, "createCursorPaginatedResponse", { enumerable: true, get: function () { return paginated_response_dto_1.createCursorPaginatedResponse; } });
8
+ var error_response_dto_1 = require("./error-response.dto");
9
+ Object.defineProperty(exports, "ErrorResponseDto", { enumerable: true, get: function () { return error_response_dto_1.ErrorResponseDto; } });
10
+ Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return error_response_dto_1.createErrorResponse; } });
11
+ Object.defineProperty(exports, "createValidationErrorResponse", { enumerable: true, get: function () { return error_response_dto_1.createValidationErrorResponse; } });
12
+ Object.defineProperty(exports, "createErrorFromException", { enumerable: true, get: function () { return error_response_dto_1.createErrorFromException; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dtos/index.ts"],"names":[],"mappings":";;;AAQA,mEAKkC;AAJhC,8HAAA,oBAAoB,OAAA;AACpB,uIAAA,6BAA6B,OAAA;AAC7B,uIAAA,6BAA6B,OAAA;AAK/B,2DAM8B;AAL5B,sHAAA,gBAAgB,OAAA;AAChB,yHAAA,mBAAmB,OAAA;AACnB,mIAAA,6BAA6B,OAAA;AAC7B,8HAAA,wBAAwB,OAAA"}
@@ -0,0 +1,16 @@
1
+ export interface PaginationMeta {
2
+ limit: number;
3
+ offset?: number;
4
+ total?: number;
5
+ nextCursor?: string;
6
+ prevCursor?: string;
7
+ hasMore?: boolean;
8
+ }
9
+ export declare class PaginatedResponseDto<T> {
10
+ items: T[];
11
+ page: PaginationMeta;
12
+ constructor(items: T[], page: PaginationMeta);
13
+ }
14
+ export declare function createOffsetPaginatedResponse<T>(items: T[], limit: number, offset: number, total?: number): PaginatedResponseDto<T>;
15
+ export declare function createCursorPaginatedResponse<T>(items: T[], limit: number, nextCursor?: string, prevCursor?: string): PaginatedResponseDto<T>;
16
+ //# sourceMappingURL=paginated-response.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginated-response.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/paginated-response.dto.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6BD,qBAAa,oBAAoB,CAAC,CAAC;IAEjC,KAAK,EAAE,CAAC,EAAE,CAAC;IAGX,IAAI,EAAE,cAAc,CAAC;gBAET,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc;CAI7C;AAgBD,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,oBAAoB,CAAC,CAAC,CAAC,CAOzB;AAqBD,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,oBAAoB,CAAC,CAAC,CAAC,CAOzB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaginatedResponseDto = void 0;
4
+ exports.createOffsetPaginatedResponse = createOffsetPaginatedResponse;
5
+ exports.createCursorPaginatedResponse = createCursorPaginatedResponse;
6
+ class PaginatedResponseDto {
7
+ items;
8
+ page;
9
+ constructor(items, page) {
10
+ this.items = items;
11
+ this.page = page;
12
+ }
13
+ }
14
+ exports.PaginatedResponseDto = PaginatedResponseDto;
15
+ function createOffsetPaginatedResponse(items, limit, offset, total) {
16
+ return new PaginatedResponseDto(items, {
17
+ limit,
18
+ offset,
19
+ total,
20
+ hasMore: total !== undefined ? offset + items.length < total : undefined
21
+ });
22
+ }
23
+ function createCursorPaginatedResponse(items, limit, nextCursor, prevCursor) {
24
+ return new PaginatedResponseDto(items, {
25
+ limit,
26
+ nextCursor,
27
+ prevCursor,
28
+ hasMore: !!nextCursor
29
+ });
30
+ }
31
+ //# sourceMappingURL=paginated-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginated-response.dto.js","sourceRoot":"","sources":["../../src/dtos/paginated-response.dto.ts"],"names":[],"mappings":";;;AAgFA,sEAYC;AAqBD,sEAYC;AAxED,MAAa,oBAAoB;IAE/B,KAAK,CAAM;IAGX,IAAI,CAAiB;IAErB,YAAY,KAAU,EAAE,IAAoB;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAXD,oDAWC;AAgBD,SAAgB,6BAA6B,CAC3C,KAAU,EACV,KAAa,EACb,MAAc,EACd,KAAc;IAEd,OAAO,IAAI,oBAAoB,CAAC,KAAK,EAAE;QACrC,KAAK;QACL,MAAM;QACN,KAAK;QACL,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC,CAAC;AACL,CAAC;AAqBD,SAAgB,6BAA6B,CAC3C,KAAU,EACV,KAAa,EACb,UAAmB,EACnB,UAAmB;IAEnB,OAAO,IAAI,oBAAoB,CAAC,KAAK,EAAE;QACrC,KAAK;QACL,UAAU;QACV,UAAU;QACV,OAAO,EAAE,CAAC,CAAC,UAAU;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.repository.d.ts","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ1C,qBAAa,UAAU;WAIR,OAAO,CAClB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,GAAG,CAAC;QACb,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,YAAY,CAAC,EAAE,IAAI,CAAC;KACrB,GACA,OAAO,CAAC,IAAI,CAAC;WAoBH,UAAU,CACrB,UAAU,EAAE,UAAU,EACtB,WAAW,SAAI,EACf,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC;WAoBb,aAAa,CACxB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;WAaH,UAAU,CACrB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;WAmBH,WAAW,CACtB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;WAYH,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,gBAAgB,SAAK,EACrB,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC;WAmBb,OAAO,CAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,GACf,OAAO,CAAC,MAAM,CAAC;WAgBL,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CAYH"}
1
+ {"version":3,"file":"outbox.repository.d.ts","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ1C,qBAAa,UAAU;WAIR,OAAO,CAClB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,GAAG,CAAC;QACb,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,YAAY,CAAC,EAAE,IAAI,CAAC;KACrB,GACA,OAAO,CAAC,IAAI,CAAC;WAoBH,UAAU,CACrB,UAAU,EAAE,UAAU,EACtB,WAAW,SAAI,EACf,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC;WAqBb,aAAa,CACxB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;WAaH,UAAU,CACrB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;WAmBH,WAAW,CACtB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;WAYH,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,gBAAgB,SAAK,EACrB,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC;WAmBb,OAAO,CAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,GACf,OAAO,CAAC,MAAM,CAAC;WAgBL,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CAYH"}
@@ -23,7 +23,7 @@ class OutboxRepo {
23
23
  return repo
24
24
  .createQueryBuilder('outbox')
25
25
  .where('outbox.status = :status', { status: 'pending' })
26
- .andWhere('outbox.attempts < :maxAttempts', { maxAttempts })
26
+ .andWhere('outbox.attempts <= :maxAttempts', { maxAttempts })
27
27
  .andWhere('(outbox.publishAfter IS NULL OR outbox.publishAfter <= :now)', { now })
28
28
  .orderBy('outbox.createdAt', 'ASC')
29
29
  .take(limit)
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.repository.js","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox.repository.js","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { OnModuleInit } from '@nestjs/common';
1
+ import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
2
2
  import { DataSource } from 'typeorm';
3
3
  import { type EnvelopeConfig } from '../envelope.config';
4
- export declare class InboxRetryService implements OnModuleInit {
4
+ export declare class InboxRetryService implements OnModuleInit, OnApplicationShutdown {
5
5
  private readonly dataSource;
6
6
  private readonly retryHandler;
7
7
  private readonly cfg;
@@ -9,6 +9,7 @@ export declare class InboxRetryService implements OnModuleInit {
9
9
  private intervalId?;
10
10
  constructor(dataSource: DataSource, retryHandler: (topic: string, payload: any, meta: any) => Promise<void>, cfg: EnvelopeConfig);
11
11
  onModuleInit(): Promise<void>;
12
+ onApplicationShutdown(signal?: string): Promise<void>;
12
13
  stop(): void;
13
14
  private retryMessages;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-retry.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/inbox-retry.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,YAAY,EAAU,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,iBAAkB,YAAW,YAAY;IAKlD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EAKtB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAEvE,GAAG,EAAE,cAAc;IAGhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnC,IAAI,IAAI,IAAI;YAQE,aAAa;CA6C5B"}
1
+ {"version":3,"file":"inbox-retry.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/inbox-retry.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,YAAY,EAAE,qBAAqB,EAAU,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAO1E,qBACa,iBAAkB,YAAW,YAAY,EAAE,qBAAqB;IAKzE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EAKtB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAEvE,GAAG,EAAE,cAAc;IAGhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB7B,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,IAAI,IAAI,IAAI;YAQE,aAAa;CA6C5B"}
@@ -44,6 +44,10 @@ let InboxRetryService = InboxRetryService_1 = class InboxRetryService {
44
44
  }, intervalMs);
45
45
  this.logger.log(`Inbox retry service started (interval: ${intervalMs}ms)`);
46
46
  }
47
+ async onApplicationShutdown(signal) {
48
+ this.logger.log(`Shutting down Inbox retry service (signal: ${signal})`);
49
+ this.stop();
50
+ }
47
51
  stop() {
48
52
  if (this.intervalId) {
49
53
  clearInterval(this.intervalId);
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-retry.service.js","sourceRoot":"","sources":["../../../src/envelope/services/inbox-retry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox-retry.service.js","sourceRoot":"","sources":["../../../src/envelope/services/inbox-retry.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { OnModuleInit } from '@nestjs/common';
1
+ import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
2
2
  import { DataSource } from 'typeorm';
3
3
  import { type EnvelopeConfig } from '../envelope.config';
4
- export declare class OutboxDispatcherService implements OnModuleInit {
4
+ export declare class OutboxDispatcherService implements OnModuleInit, OnApplicationShutdown {
5
5
  private readonly dataSource;
6
6
  private readonly publishFn;
7
7
  private readonly cfg;
@@ -9,8 +9,11 @@ export declare class OutboxDispatcherService implements OnModuleInit {
9
9
  private intervalId?;
10
10
  constructor(dataSource: DataSource, publishFn: (topic: string, payload: any, meta: any) => Promise<void>, cfg: EnvelopeConfig);
11
11
  onModuleInit(): Promise<void>;
12
+ onApplicationShutdown(signal?: string): Promise<void>;
12
13
  stop(): void;
13
14
  private publishMessage;
14
15
  private dispatch;
16
+ private tryLockAndProcess;
17
+ private tryLockWithSkipLocked;
15
18
  }
16
19
  //# sourceMappingURL=outbox-dispatcher.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-dispatcher.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,YAAY,EAAU,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAO1E,qBACa,uBAAwB,YAAW,YAAY;IAKxD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAK3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EAKtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAEpE,GAAG,EAAE,cAAc;IAOhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC,IAAI,IAAI,IAAI;YAQE,cAAc;YAcd,QAAQ;CA6CvB"}
1
+ {"version":3,"file":"outbox-dispatcher.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,YAAY,EAAE,qBAAqB,EAAU,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAY1E,qBACa,uBAAwB,YAAW,YAAY,EAAE,qBAAqB;IAK/E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAK3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EAKtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAEpE,GAAG,EAAE,cAAc;IAOhC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B7B,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,IAAI,IAAI,IAAI;YAQE,cAAc;YAcd,QAAQ;YAgBR,iBAAiB;YAiDjB,qBAAqB;CA6CpC"}
@@ -46,6 +46,10 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
46
46
  }, intervalMs);
47
47
  this.logger.log(`Outbox dispatcher started (interval: ${intervalMs}ms, maxAttempts: ${maxAttempts})`);
48
48
  }
49
+ async onApplicationShutdown(signal) {
50
+ this.logger.log(`Shutting down Outbox dispatcher (signal: ${signal})`);
51
+ this.stop();
52
+ }
49
53
  stop() {
50
54
  if (this.intervalId) {
51
55
  clearInterval(this.intervalId);
@@ -67,37 +71,70 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
67
71
  async dispatch(maxAttempts) {
68
72
  const messages = await repositories_1.OutboxRepo.getPending(this.dataSource, maxAttempts);
69
73
  for (const message of messages) {
70
- const queryRunner = this.dataSource.createQueryRunner();
71
- await queryRunner.connect();
72
- await queryRunner.startTransaction();
73
- try {
74
- await queryRunner.manager
74
+ await this.tryLockAndProcess(message);
75
+ }
76
+ }
77
+ async tryLockAndProcess(message) {
78
+ const queryRunner = this.dataSource.createQueryRunner();
79
+ await queryRunner.connect();
80
+ await queryRunner.startTransaction();
81
+ try {
82
+ const locked = await this.tryLockWithSkipLocked(queryRunner, message.id);
83
+ if (!locked) {
84
+ await queryRunner.rollbackTransaction();
85
+ await queryRunner.release();
86
+ return;
87
+ }
88
+ await queryRunner.manager
89
+ .getRepository(schemas_1.OutboxSchema)
90
+ .update(message.id, { lastAttemptAt: new Date() });
91
+ await this.publishMessage(message);
92
+ await queryRunner.manager.getRepository(schemas_1.OutboxSchema).update(message.id, {
93
+ status: 'published',
94
+ publishedAt: new Date(),
95
+ });
96
+ await queryRunner.commitTransaction();
97
+ this.logger.debug(`Published message ${message.id}`);
98
+ }
99
+ catch (error) {
100
+ await queryRunner.rollbackTransaction();
101
+ await repositories_1.OutboxRepo.markFailed(this.dataSource, message.id, error?.message || String(error));
102
+ this.logger.error(`Failed to publish ${message.id}: ${error?.message || error}`);
103
+ }
104
+ finally {
105
+ await queryRunner.release();
106
+ }
107
+ }
108
+ async tryLockWithSkipLocked(queryRunner, messageId) {
109
+ try {
110
+ const dbType = this.dataSource.options.type;
111
+ if (dbType === 'postgres' || dbType === 'mysql' || dbType === 'mariadb') {
112
+ const result = await queryRunner.manager
75
113
  .createQueryBuilder()
76
114
  .select()
77
115
  .from(schemas_1.OutboxSchema, 'outbox')
78
- .where('id = :id', { id: message.id })
79
- .setLock('pessimistic_write')
116
+ .where('id = :id', { id: messageId })
117
+ .andWhere('status = :status', { status: 'pending' })
118
+ .setLock('pessimistic_write', undefined, ['skip_locked'])
80
119
  .getRawOne();
81
- await queryRunner.manager
82
- .getRepository(schemas_1.OutboxSchema)
83
- .update(message.id, { lastAttemptAt: new Date() });
84
- await this.publishMessage(message);
85
- await queryRunner.manager.getRepository(schemas_1.OutboxSchema).update(message.id, {
86
- status: 'published',
87
- publishedAt: new Date(),
88
- });
89
- await queryRunner.commitTransaction();
90
- this.logger.debug(`Published message ${message.id}`);
91
- }
92
- catch (error) {
93
- await queryRunner.rollbackTransaction();
94
- await repositories_1.OutboxRepo.markFailed(this.dataSource, message.id, error?.message || String(error));
95
- this.logger.error(`Failed to publish ${message.id}: ${error?.message || error}`);
120
+ return !!result;
96
121
  }
97
- finally {
98
- await queryRunner.release();
122
+ else {
123
+ const result = await queryRunner.manager
124
+ .createQueryBuilder()
125
+ .update(schemas_1.OutboxSchema)
126
+ .set({ lastAttemptAt: new Date() })
127
+ .where('id = :id', { id: messageId })
128
+ .andWhere('status = :status', { status: 'pending' })
129
+ .andWhere('(lastAttemptAt IS NULL OR lastAttemptAt < :threshold)', { threshold: new Date(Date.now() - 5000) })
130
+ .execute();
131
+ return (result.affected ?? 0) > 0;
99
132
  }
100
133
  }
134
+ catch (error) {
135
+ this.logger.error(`Error locking message ${messageId}: ${error?.message || error}`);
136
+ return false;
137
+ }
101
138
  }
102
139
  };
103
140
  exports.OutboxDispatcherService = OutboxDispatcherService;
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-dispatcher.service.js","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox-dispatcher.service.js","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { DataSource, EntityManager } from "typeorm";
2
- import type { TxManager } from "../contracts";
2
+ import type { TxManager } from "../service/transaction";
3
3
  export interface WithManager<R> {
4
4
  withManager(manager: EntityManager): R;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tx-manager.d.ts","sourceRoot":"","sources":["../../src/envelope/tx-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAS9C,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,CAAC;CACxC;AAaD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CACpD,YAAW,SAAS,CAAC,CAAC,CAAC;IAGrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,CAAC;IAGpB,WAAW,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,CAAC,CAAC;CAYd"}
1
+ {"version":3,"file":"tx-manager.d.ts","sourceRoot":"","sources":["../../src/envelope/tx-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AASxD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,CAAC;CACxC;AAaD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CACpD,YAAW,SAAS,CAAC,CAAC,CAAC;IAGrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,CAAC;IAGpB,WAAW,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,CAAC,CAAC;CAYd"}
@@ -0,0 +1,4 @@
1
+ export * from './message-broker.interface';
2
+ export * from './rabbitmq.adapter';
3
+ export * from './kafka.adapter';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/event-bus/adapters/index.ts"],"names":[],"mappings":"AAOA,cAAc,4BAA4B,CAAC;AAG3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}