@anatix/runtime 1.0.7 → 1.0.8

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 (42) hide show
  1. package/dist/envelope/envelope.config.d.ts.map +1 -1
  2. package/dist/envelope/envelope.config.js.map +1 -1
  3. package/dist/envelope/helpers/envelope.helpers.d.ts.map +1 -1
  4. package/dist/envelope/helpers/envelope.helpers.js +4 -15
  5. package/dist/envelope/helpers/envelope.helpers.js.map +1 -1
  6. package/dist/envelope/helpers/with-inbox-outbox.d.ts.map +1 -1
  7. package/dist/envelope/helpers/with-inbox-outbox.js +22 -5
  8. package/dist/envelope/helpers/with-inbox-outbox.js.map +1 -1
  9. package/dist/envelope/index.d.ts +1 -1
  10. package/dist/envelope/index.d.ts.map +1 -1
  11. package/dist/envelope/index.js.map +1 -1
  12. package/dist/envelope/repositories/inbox.repository.d.ts +1 -0
  13. package/dist/envelope/repositories/inbox.repository.d.ts.map +1 -1
  14. package/dist/envelope/repositories/inbox.repository.js +10 -12
  15. package/dist/envelope/repositories/inbox.repository.js.map +1 -1
  16. package/dist/envelope/repositories/outbox.repository.d.ts.map +1 -1
  17. package/dist/envelope/repositories/outbox.repository.js +9 -10
  18. package/dist/envelope/repositories/outbox.repository.js.map +1 -1
  19. package/dist/envelope/schemas/inbox.schema.d.ts.map +1 -1
  20. package/dist/envelope/schemas/inbox.schema.js +12 -56
  21. package/dist/envelope/schemas/inbox.schema.js.map +1 -1
  22. package/dist/envelope/schemas/outbox.schema.d.ts.map +1 -1
  23. package/dist/envelope/schemas/outbox.schema.js +13 -58
  24. package/dist/envelope/schemas/outbox.schema.js.map +1 -1
  25. package/dist/envelope/services/inbox-retry.service.d.ts +1 -1
  26. package/dist/envelope/services/inbox-retry.service.d.ts.map +1 -1
  27. package/dist/envelope/services/inbox-retry.service.js +17 -19
  28. package/dist/envelope/services/inbox-retry.service.js.map +1 -1
  29. package/dist/envelope/services/outbox-dispatcher.service.d.ts +1 -1
  30. package/dist/envelope/services/outbox-dispatcher.service.d.ts.map +1 -1
  31. package/dist/envelope/services/outbox-dispatcher.service.js +25 -32
  32. package/dist/envelope/services/outbox-dispatcher.service.js.map +1 -1
  33. package/dist/envelope/tx-manager.d.ts +2 -2
  34. package/dist/envelope/tx-manager.d.ts.map +1 -1
  35. package/dist/envelope/tx-manager.js +1 -4
  36. package/dist/envelope/tx-manager.js.map +1 -1
  37. package/dist/envelope/types/event-meta.interface.d.ts.map +1 -1
  38. package/dist/envelope/types/inbox-message.interface.d.ts +1 -6
  39. package/dist/envelope/types/inbox-message.interface.d.ts.map +1 -1
  40. package/dist/envelope/types/outbox-message.interface.d.ts +2 -5
  41. package/dist/envelope/types/outbox-message.interface.d.ts.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.config.d.ts","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IAEnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAE/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAWD,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"envelope.config.d.ts","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.config.js","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":";;;AAoCa,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"envelope.config.js","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":";;;AAkBa,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.helpers.d.ts","sourceRoot":"","sources":["../../../src/envelope/helpers/envelope.helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwBpD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAY/D;AA0BD,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAmB/E;AAeD,wBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAKtE"}
1
+ {"version":3,"file":"envelope.helpers.d.ts","sourceRoot":"","sources":["../../../src/envelope/helpers/envelope.helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAY/D;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAO/E;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEtE"}
@@ -17,24 +17,13 @@ function ensureMeta(meta) {
17
17
  };
18
18
  }
19
19
  function unbox(payload) {
20
- if (typeof payload === 'object' &&
21
- payload !== null &&
22
- 'data' in payload) {
20
+ if (typeof payload === 'object' && payload !== null && 'data' in payload) {
23
21
  const envelope = payload;
24
- return {
25
- data: envelope.data,
26
- meta: ensureMeta(envelope.meta),
27
- };
22
+ return { data: envelope.data, meta: ensureMeta(envelope.meta) };
28
23
  }
29
- return {
30
- data: payload,
31
- meta: ensureMeta(),
32
- };
24
+ return { data: payload, meta: ensureMeta() };
33
25
  }
34
26
  function box(data, meta) {
35
- return {
36
- data,
37
- meta: ensureMeta(meta),
38
- };
27
+ return { data, meta: ensureMeta(meta) };
39
28
  }
40
29
  //# sourceMappingURL=envelope.helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.helpers.js","sourceRoot":"","sources":["../../../src/envelope/helpers/envelope.helpers.ts"],"names":[],"mappings":";;AAyBA,gCAYC;AA0BD,sBAmBC;AAeD,kBAKC;AAtGD,mCAAoC;AAyBpC,SAAgB,UAAU,CAAC,IAAyB;IAClD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAA,mBAAU,GAAE,CAAC;IAE1D,OAAO;QACL,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAA,mBAAU,GAAE;QAC1C,aAAa;QACb,WAAW,EAAE,IAAI,EAAE,WAAW;QAC9B,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,aAAa;QACjC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC;KAC5B,CAAC;AACJ,CAAC;AA0BD,SAAgB,KAAK,CAAI,OAAwB;IAE/C,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,MAAM,IAAI,OAAO,EACjB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAsB,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAGD,OAAO;QACL,IAAI,EAAE,OAAY;QAClB,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;AACJ,CAAC;AAeD,SAAgB,GAAG,CAAI,IAAO,EAAE,IAAyB;IACvD,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"envelope.helpers.js","sourceRoot":"","sources":["../../../src/envelope/helpers/envelope.helpers.ts"],"names":[],"mappings":";;AAGA,gCAYC;AAED,sBAOC;AAED,kBAEC;AA5BD,mCAAoC;AAGpC,SAAgB,UAAU,CAAC,IAAyB;IAClD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAA,mBAAU,GAAE,CAAC;IAE1D,OAAO;QACL,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAA,mBAAU,GAAE;QAC1C,aAAa;QACb,WAAW,EAAE,IAAI,EAAE,WAAW;QAC9B,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,aAAa;QACjC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,SAAgB,KAAK,CAAI,OAAwB;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,OAAsB,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAY,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;AACpD,CAAC;AAED,SAAgB,GAAG,CAAI,IAAO,EAAE,IAAyB;IACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"with-inbox-outbox.d.ts","sourceRoot":"","sources":["../../../src/envelope/helpers/with-inbox-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ1C,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAM5E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA2DtE,wBAAsB,eAAe,CAAC,CAAC,GAAG,IAAI,EAC5C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAwDxB;AAuBD,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"with-inbox-outbox.d.ts","sourceRoot":"","sources":["../../../src/envelope/helpers/with-inbox-outbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AActE,wBAAsB,eAAe,CAAC,CAAC,GAAG,IAAI,EAC5C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAiDxB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -36,18 +36,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.withInboxOutbox = withInboxOutbox;
37
37
  exports.stagePublish = stagePublish;
38
38
  const repositories_1 = require("../repositories");
39
+ function isUniqueViolation(err) {
40
+ const code = err?.code;
41
+ const msg = String(err?.message ?? '');
42
+ return (code === '23505' ||
43
+ code === 'ER_DUP_ENTRY' ||
44
+ code === 19 ||
45
+ msg.toLowerCase().includes('duplicate') ||
46
+ msg.toLowerCase().includes('unique constraint'));
47
+ }
39
48
  async function withInboxOutbox(dataSource, topic, meta, payload, work, after) {
40
49
  const queryRunner = dataSource.createQueryRunner();
41
50
  await queryRunner.connect();
42
51
  await queryRunner.startTransaction();
43
52
  try {
44
53
  const manager = queryRunner.manager;
45
- const alreadyDone = await repositories_1.InboxRepo.alreadyProcessed(manager, meta.messageId);
46
- if (alreadyDone) {
54
+ const alreadySeen = await repositories_1.InboxRepo.alreadySeen(manager, meta.messageId);
55
+ if (alreadySeen) {
47
56
  await queryRunner.rollbackTransaction();
48
57
  return undefined;
49
58
  }
50
- await repositories_1.InboxRepo.start(manager, topic, meta, payload);
59
+ try {
60
+ await repositories_1.InboxRepo.start(manager, topic, meta, payload);
61
+ }
62
+ catch (err) {
63
+ if (isUniqueViolation(err)) {
64
+ await queryRunner.rollbackTransaction();
65
+ return undefined;
66
+ }
67
+ throw err;
68
+ }
51
69
  const result = await work(manager);
52
70
  if (after) {
53
71
  await after(manager);
@@ -60,8 +78,7 @@ async function withInboxOutbox(dataSource, topic, meta, payload, work, after) {
60
78
  try {
61
79
  await repositories_1.InboxRepo.fail(queryRunner.manager, meta.messageId, error?.message || String(error));
62
80
  }
63
- catch (failError) {
64
- }
81
+ catch { }
65
82
  await queryRunner.rollbackTransaction();
66
83
  throw error;
67
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"with-inbox-outbox.js","sourceRoot":"","sources":["../../../src/envelope/helpers/with-inbox-outbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EA,0CA+DC;AAuBD,oCAWC;AAzKD,kDAA4C;AAwErC,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,KAAa,EACb,IAAe,EACf,OAAY,EACZ,IAAqB,EACrB,KAAqB;IAErB,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAEnD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAGpC,MAAM,WAAW,GAAG,MAAM,wBAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACnB,CAAC;QAGD,MAAM,wBAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAGrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAGnC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAGD,MAAM,wBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAG9C,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,wBAAS,CAAC,IAAI,CAClB,WAAW,CAAC,OAAO,EACnB,IAAI,CAAC,SAAS,EACd,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAChC,CAAC;QACJ,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;QAErB,CAAC;QAGD,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAGxC,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QAET,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAuBM,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,IAKC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;IACvD,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"with-inbox-outbox.js","sourceRoot":"","sources":["../../../src/envelope/helpers/with-inbox-outbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,0CAwDC;AAED,oCAWC;AAtFD,kDAA4C;AAK5C,SAAS,iBAAiB,CAAC,GAAQ;IACjC,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,CACL,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,EAAE;QACX,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAChD,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,KAAa,EACb,IAAe,EACf,OAAY,EACZ,IAAqB,EACrB,KAAqB;IAErB,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAEnD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAEpC,MAAM,WAAW,GAAG,MAAM,wBAAS,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,wBAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,wBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9C,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,wBAAS,CAAC,IAAI,CAClB,WAAW,CAAC,OAAO,EACnB,IAAI,CAAC,SAAS,EACd,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAChC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,IAKC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;IACvD,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
@@ -3,5 +3,5 @@ export * from './repositories';
3
3
  export * from './services';
4
4
  export * from './helpers';
5
5
  export * from './envelope.config';
6
- export * from "./tx-manager";
6
+ export * from './tx-manager';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/envelope/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/envelope/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/envelope/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,0CAAwB;AAGxB,iDAA+B;AAG/B,6CAA2B;AAG3B,4CAA0B;AAG1B,oDAAkC;AAGlC,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/envelope/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,iDAA+B;AAC/B,6CAA2B;AAC3B,4CAA0B;AAC1B,oDAAkC;AAClC,+CAA6B"}
@@ -3,6 +3,7 @@ import type { InboxEntity } from '../schemas';
3
3
  import type { EventMeta } from '../types';
4
4
  export declare class InboxRepo {
5
5
  static alreadyProcessed(manager: EntityManager, messageId: string): Promise<boolean>;
6
+ static alreadySeen(manager: EntityManager, messageId: string): Promise<boolean>;
6
7
  static start(manager: EntityManager, service: string, meta: EventMeta, payload: any): Promise<void>;
7
8
  static done(manager: EntityManager, messageId: string): Promise<void>;
8
9
  static fail(manager: EntityManager, messageId: string, error: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.repository.d.ts","sourceRoot":"","sources":["../../../src/envelope/repositories/inbox.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAO1C,qBAAa,SAAS;WAQP,gBAAgB,CAC3B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;WAkBN,KAAK,CAChB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC;WAoBH,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;WAqBH,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;WAwBH,iBAAiB,CAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,SAAI,EACf,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,EAAE,CAAC;WAoBZ,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,YAAY,SAAI,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,EAAE,CAAC;WAmBZ,WAAW,CACtB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;WAoBH,OAAO,CAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,GACf,OAAO,CAAC,MAAM,CAAC;WAmBL,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;WAoBW,eAAe,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;WAajB,aAAa,CACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,EAAE,CAAC;CAS1B"}
1
+ {"version":3,"file":"inbox.repository.d.ts","sourceRoot":"","sources":["../../../src/envelope/repositories/inbox.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,qBAAa,SAAS;WACP,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAM7E,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAMxE,KAAK,CAChB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC;WAgBH,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAQ9D,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAgB7E,iBAAiB,CAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,SAAI,EACf,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,EAAE,CAAC;WAYZ,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,YAAY,SAAI,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,EAAE,CAAC;WAaZ,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WASrE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;WAalE,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;WAaW,eAAe,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;WAKjB,aAAa,CACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,SAAM,GACV,OAAO,CAAC,WAAW,EAAE,CAAC;CAS1B"}
@@ -5,9 +5,12 @@ const schemas_1 = require("../schemas");
5
5
  class InboxRepo {
6
6
  static async alreadyProcessed(manager, messageId) {
7
7
  const repo = manager.getRepository(schemas_1.InboxSchema);
8
- const count = await repo.count({
9
- where: { messageId, status: 'done' },
10
- });
8
+ const count = await repo.count({ where: { messageId, status: 'done' } });
9
+ return count > 0;
10
+ }
11
+ static async alreadySeen(manager, messageId) {
12
+ const repo = manager.getRepository(schemas_1.InboxSchema);
13
+ const count = await repo.count({ where: { messageId } });
11
14
  return count > 0;
12
15
  }
13
16
  static async start(manager, service, meta, payload) {
@@ -20,14 +23,13 @@ class InboxRepo {
20
23
  status: 'pending',
21
24
  consumedAt: new Date(),
22
25
  attempts: 0,
26
+ processedAt: null,
27
+ error: null,
23
28
  });
24
29
  }
25
30
  static async done(manager, messageId) {
26
31
  const repo = manager.getRepository(schemas_1.InboxSchema);
27
- await repo.update({ messageId }, {
28
- status: 'done',
29
- processedAt: new Date(),
30
- });
32
+ await repo.update({ messageId }, { status: 'done', processedAt: new Date(), error: null });
31
33
  }
32
34
  static async fail(manager, messageId, error) {
33
35
  const repo = manager.getRepository(schemas_1.InboxSchema);
@@ -66,11 +68,7 @@ class InboxRepo {
66
68
  }
67
69
  static async retryFailed(dataSource, messageId) {
68
70
  const repo = dataSource.getRepository(schemas_1.InboxSchema);
69
- await repo.update({ messageId }, {
70
- status: 'pending',
71
- error: null,
72
- processedAt: null,
73
- });
71
+ await repo.update({ messageId }, { status: 'pending', error: null, processedAt: null });
74
72
  }
75
73
  static async cleanup(dataSource, beforeDate) {
76
74
  const repo = dataSource.getRepository(schemas_1.InboxSchema);
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.repository.js","sourceRoot":"","sources":["../../../src/envelope/repositories/inbox.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.repository.js","sourceRoot":"","sources":["../../../src/envelope/repositories/inbox.repository.ts"],"names":[],"mappings":"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"}
@@ -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;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"}
1
+ {"version":3,"file":"outbox.repository.d.ts","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":"AAAA,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;AAG1C,qBAAa,UAAU;WACR,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;WAkBH,UAAU,CACrB,UAAU,EAAE,UAAU,EACtB,WAAW,SAAI,EACf,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC;WAcb,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAKhE,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAgB5E,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAK9D,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,gBAAgB,SAAK,EACrB,KAAK,SAAM,GACV,OAAO,CAAC,YAAY,EAAE,CAAC;WAeb,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;WAalE,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"}
@@ -13,8 +13,11 @@ class OutboxRepo {
13
13
  meta: JSON.stringify(eventMeta),
14
14
  status: 'pending',
15
15
  attempts: 0,
16
- publishAfter: params.publishAfter,
16
+ publishAfter: params.publishAfter ?? null,
17
17
  createdAt: new Date(),
18
+ publishedAt: null,
19
+ lastError: null,
20
+ lastAttemptAt: null,
18
21
  });
19
22
  }
20
23
  static async getPending(dataSource, maxAttempts = 5, limit = 100) {
@@ -31,10 +34,7 @@ class OutboxRepo {
31
34
  }
32
35
  static async markPublished(dataSource, id) {
33
36
  const repo = dataSource.getRepository(schemas_1.OutboxSchema);
34
- await repo.update(id, {
35
- status: 'published',
36
- publishedAt: new Date(),
37
- });
37
+ await repo.update(id, { status: 'published', publishedAt: new Date() });
38
38
  }
39
39
  static async markFailed(dataSource, id, error) {
40
40
  const repo = dataSource.getRepository(schemas_1.OutboxSchema);
@@ -52,10 +52,7 @@ class OutboxRepo {
52
52
  }
53
53
  static async retryFailed(dataSource, id) {
54
54
  const repo = dataSource.getRepository(schemas_1.OutboxSchema);
55
- await repo.update(id, {
56
- status: 'pending',
57
- lastError: null,
58
- });
55
+ await repo.update(id, { status: 'pending', lastError: null });
59
56
  }
60
57
  static async getStuckMessages(dataSource, olderThanMinutes = 10, limit = 100) {
61
58
  const repo = dataSource.getRepository(schemas_1.OutboxSchema);
@@ -63,7 +60,9 @@ class OutboxRepo {
63
60
  return repo
64
61
  .createQueryBuilder('outbox')
65
62
  .where('outbox.status = :status', { status: 'pending' })
66
- .andWhere('(outbox.lastAttemptAt IS NOT NULL AND outbox.lastAttemptAt < :olderThan)', { olderThan })
63
+ .andWhere('(outbox.lastAttemptAt IS NOT NULL AND outbox.lastAttemptAt < :olderThan)', {
64
+ olderThan,
65
+ })
67
66
  .orderBy('outbox.createdAt', 'ASC')
68
67
  .take(limit)
69
68
  .getMany();
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.repository.js","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":";;;AAIA,wCAA0C;AAE1C,wCAAwC;AAOxC,MAAa,UAAU;IAIrB,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,OAAsB,EACtB,MAKC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAOD,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,UAAsB,EACtB,WAAW,GAAG,CAAC,EACf,KAAK,GAAG,GAAG;QAEX,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,OAAO,IAAI;aACR,kBAAkB,CAAC,QAAQ,CAAC;aAC5B,KAAK,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aAEvD,QAAQ,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC;aAC5D,QAAQ,CACP,8DAA8D,EAC9D,EAAE,GAAG,EAAE,CACR;aACA,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC;aAClC,IAAI,CAAC,KAAK,CAAC;aACX,OAAO,EAAE,CAAC;IACf,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,UAAsB,EACtB,EAAU;QAEV,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YACpB,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAOD,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,UAAsB,EACtB,EAAU,EACV,KAAa;QAEb,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAElE,MAAM,IAAI;aACP,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,GAAG,CAAC;YACH,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;YACnC,aAAa,EAAE,IAAI,IAAI,EAAE;SAC1B,CAAC;aACD,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;aACzB,OAAO,EAAE,CAAC;IACf,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,UAAsB,EACtB,EAAU;QAEV,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YACpB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,UAAsB,EACtB,gBAAgB,GAAG,EAAE,EACrB,KAAK,GAAG,GAAG;QAEX,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEtE,OAAO,IAAI;aACR,kBAAkB,CAAC,QAAQ,CAAC;aAC5B,KAAK,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aACvD,QAAQ,CACP,0EAA0E,EAC1E,EAAE,SAAS,EAAE,CACd;aACA,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC;aAClC,IAAI,CAAC,KAAK,CAAC;aACX,OAAO,EAAE,CAAC;IACf,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,UAAsB,EACtB,UAAgB;QAEhB,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,IAAI;aACtB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,KAAK,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAClD,QAAQ,CAAC,2BAA2B,EAAE,EAAE,UAAU,EAAE,CAAC;aACrD,OAAO,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;IAKD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAsB;QAM1C,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAe,sBAAY,CAAC,CAAC;QAElE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE;SACb,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;CACF;AA1KD,gCA0KC"}
1
+ {"version":3,"file":"outbox.repository.js","sourceRoot":"","sources":["../../../src/envelope/repositories/outbox.repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.schema.d.ts","sourceRoot":"","sources":["../../../src/envelope/schemas/inbox.schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAOxD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,eAAO,MAAM,WAAW,2BA+DtB,CAAC"}
1
+ {"version":3,"file":"inbox.schema.d.ts","sourceRoot":"","sources":["../../../src/envelope/schemas/inbox.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,2BAmBtB,CAAC"}
@@ -6,64 +6,20 @@ exports.InboxSchema = new typeorm_1.EntitySchema({
6
6
  name: 'Inbox',
7
7
  tableName: 'inbox',
8
8
  columns: {
9
- id: {
10
- type: 'uuid',
11
- primary: true,
12
- generated: 'uuid',
13
- },
14
- messageId: {
15
- type: 'varchar',
16
- length: 255,
17
- nullable: false,
18
- },
19
- service: {
20
- type: 'varchar',
21
- length: 100,
22
- nullable: false,
23
- },
24
- payload: {
25
- type: 'text',
26
- nullable: false,
27
- },
28
- meta: {
29
- type: 'text',
30
- nullable: false,
31
- },
32
- status: {
33
- type: 'varchar',
34
- length: 20,
35
- default: 'pending',
36
- nullable: false,
37
- },
38
- consumedAt: {
39
- type: 'timestamp',
40
- default: () => 'CURRENT_TIMESTAMP',
41
- nullable: false,
42
- },
43
- processedAt: {
44
- type: 'timestamp',
45
- nullable: true,
46
- },
47
- error: {
48
- type: 'text',
49
- nullable: true,
50
- },
51
- attempts: {
52
- type: 'int',
53
- default: 0,
54
- nullable: false,
55
- },
9
+ id: { type: 'uuid', primary: true, generated: 'uuid' },
10
+ messageId: { type: 'varchar', length: 255, nullable: false },
11
+ service: { type: 'varchar', length: 100, nullable: false },
12
+ payload: { type: 'text', nullable: false },
13
+ meta: { type: 'text', nullable: false },
14
+ status: { type: 'varchar', length: 20, default: 'pending', nullable: false },
15
+ consumedAt: { type: 'timestamp', default: () => 'CURRENT_TIMESTAMP', nullable: false },
16
+ processedAt: { type: 'timestamp', nullable: true },
17
+ error: { type: 'text', nullable: true },
18
+ attempts: { type: 'int', default: 0, nullable: false },
56
19
  },
57
20
  indices: [
58
- {
59
- name: 'idx_inbox_message_id',
60
- columns: ['messageId'],
61
- unique: true,
62
- },
63
- {
64
- name: 'idx_inbox_status_consumed_at',
65
- columns: ['status', 'consumedAt'],
66
- },
21
+ { name: 'idx_inbox_message_id', columns: ['messageId'], unique: true },
22
+ { name: 'idx_inbox_status_consumed_at', columns: ['status', 'consumedAt'] },
67
23
  ],
68
24
  });
69
25
  //# sourceMappingURL=inbox.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.schema.js","sourceRoot":"","sources":["../../../src/envelope/schemas/inbox.schema.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AA4B1B,QAAA,WAAW,GAAG,IAAI,sBAAY,CAAc;IACvD,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE;QACP,EAAE,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,MAAM;SAClB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;SAChB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,KAAK;SAChB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB;YAClC,QAAQ,EAAE,KAAK;SAChB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,CAAC,WAAW,CAAC;YACtB,MAAM,EAAE,IAAI;SACb;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;SAClC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"inbox.schema.js","sourceRoot":"","sources":["../../../src/envelope/schemas/inbox.schema.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAiB1B,QAAA,WAAW,GAAG,IAAI,sBAAY,CAAc;IACvD,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE;QACP,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;QACtD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1D,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5E,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACtF,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;QACtE,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;KAC5E;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.schema.d.ts","sourceRoot":"","sources":["../../../src/envelope/schemas/outbox.schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAO9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC7B;AAKD,eAAO,MAAM,YAAY,4BAiEvB,CAAC"}
1
+ {"version":3,"file":"outbox.schema.d.ts","sourceRoot":"","sources":["../../../src/envelope/schemas/outbox.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY,4BAoBvB,CAAC"}
@@ -6,66 +6,21 @@ exports.OutboxSchema = new typeorm_1.EntitySchema({
6
6
  name: 'Outbox',
7
7
  tableName: 'outbox',
8
8
  columns: {
9
- id: {
10
- type: 'uuid',
11
- primary: true,
12
- generated: 'uuid',
13
- },
14
- topic: {
15
- type: 'varchar',
16
- length: 255,
17
- nullable: false,
18
- },
19
- payload: {
20
- type: 'text',
21
- nullable: false,
22
- },
23
- meta: {
24
- type: 'text',
25
- nullable: false,
26
- },
27
- createdAt: {
28
- type: 'timestamp',
29
- default: () => 'CURRENT_TIMESTAMP',
30
- nullable: false,
31
- },
32
- publishedAt: {
33
- type: 'timestamp',
34
- nullable: true,
35
- },
36
- publishAfter: {
37
- type: 'timestamp',
38
- nullable: true,
39
- },
40
- status: {
41
- type: 'varchar',
42
- length: 20,
43
- default: 'pending',
44
- nullable: false,
45
- },
46
- attempts: {
47
- type: 'int',
48
- default: 0,
49
- nullable: false,
50
- },
51
- lastError: {
52
- type: 'text',
53
- nullable: true,
54
- },
55
- lastAttemptAt: {
56
- type: 'timestamp',
57
- nullable: true,
58
- },
9
+ id: { type: 'uuid', primary: true, generated: 'uuid' },
10
+ topic: { type: 'varchar', length: 255, nullable: false },
11
+ payload: { type: 'text', nullable: false },
12
+ meta: { type: 'text', nullable: false },
13
+ createdAt: { type: 'timestamp', default: () => 'CURRENT_TIMESTAMP', nullable: false },
14
+ publishedAt: { type: 'timestamp', nullable: true },
15
+ publishAfter: { type: 'timestamp', nullable: true },
16
+ status: { type: 'varchar', length: 20, default: 'pending', nullable: false },
17
+ attempts: { type: 'int', default: 0, nullable: false },
18
+ lastError: { type: 'text', nullable: true },
19
+ lastAttemptAt: { type: 'timestamp', nullable: true },
59
20
  },
60
21
  indices: [
61
- {
62
- name: 'idx_outbox_status_created_at',
63
- columns: ['status', 'createdAt'],
64
- },
65
- {
66
- name: 'idx_outbox_publish_after',
67
- columns: ['publishAfter'],
68
- },
22
+ { name: 'idx_outbox_status_created_at', columns: ['status', 'createdAt'] },
23
+ { name: 'idx_outbox_publish_after', columns: ['publishAfter'] },
69
24
  ],
70
25
  });
71
26
  //# sourceMappingURL=outbox.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.schema.js","sourceRoot":"","sources":["../../../src/envelope/schemas/outbox.schema.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AA6B1B,QAAA,YAAY,GAAG,IAAI,sBAAY,CAAe;IACzD,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE;QACP,EAAE,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,MAAM;SAClB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB;YAClC,QAAQ,EAAE,KAAK;SAChB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,KAAK;SAChB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,KAAK;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,aAAa,EAAE;YACb,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;SACjC;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,CAAC,cAAc,CAAC;SAC1B;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"outbox.schema.js","sourceRoot":"","sources":["../../../src/envelope/schemas/outbox.schema.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAkB1B,QAAA,YAAY,GAAG,IAAI,sBAAY,CAAe;IACzD,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE;QACP,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;QACtD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACrF,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClD,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnD,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5E,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACtD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD;IACD,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;QAC1E,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE;KAChE;CACF,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
1
+ import { OnApplicationShutdown, OnModuleInit } from '@nestjs/common';
2
2
  import { DataSource } from 'typeorm';
3
3
  import { type EnvelopeConfig } from '../envelope.config';
4
4
  export declare class InboxRetryService implements OnModuleInit, OnApplicationShutdown {
@@ -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,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"}
1
+ {"version":3,"file":"inbox-retry.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/inbox-retry.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,qBAAqB,EAAE,YAAY,EAAU,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,iBAAkB,YAAW,YAAY,EAAE,qBAAqB;IAKzE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IACJ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAN/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAC9C,GAAG,EAAE,cAAc;IAGzD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB7B,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,IAAI,IAAI,IAAI;YAOE,aAAa;CA2B5B"}
@@ -33,54 +33,52 @@ let InboxRetryService = InboxRetryService_1 = class InboxRetryService {
33
33
  const inboxCfg = this.cfg?.inboxRetry ?? {};
34
34
  const enabled = inboxCfg.enabled ?? true;
35
35
  if (!enabled) {
36
- this.logger.log('Inbox retry service disabled by config');
36
+ this.logger.log('Inbox retry disabled by config');
37
37
  return;
38
38
  }
39
- const intervalMs = inboxCfg.intervalMs ?? 60000;
39
+ const intervalMs = inboxCfg.intervalMs ?? 60_000;
40
40
  this.intervalId = setInterval(() => {
41
41
  this.retryMessages().catch((err) => {
42
42
  this.logger.error(`Inbox retry error: ${err?.message || err}`);
43
43
  });
44
44
  }, intervalMs);
45
- this.logger.log(`Inbox retry service started (interval: ${intervalMs}ms)`);
45
+ this.logger.log(`Inbox retry started (interval: ${intervalMs}ms)`);
46
46
  }
47
47
  async onApplicationShutdown(signal) {
48
- this.logger.log(`Shutting down Inbox retry service (signal: ${signal})`);
48
+ this.logger.log(`Shutting down Inbox retry (signal: ${signal})`);
49
49
  this.stop();
50
50
  }
51
51
  stop() {
52
- if (this.intervalId) {
53
- clearInterval(this.intervalId);
54
- this.intervalId = undefined;
55
- this.logger.log('Inbox retry service stopped');
56
- }
52
+ if (!this.intervalId)
53
+ return;
54
+ clearInterval(this.intervalId);
55
+ this.intervalId = undefined;
56
+ this.logger.log('Inbox retry stopped');
57
57
  }
58
58
  async retryMessages() {
59
59
  const inboxCfg = this.cfg?.inboxRetry ?? {};
60
60
  const maxAttempts = inboxCfg.maxAttempts ?? 3;
61
61
  const stuckMinutes = inboxCfg.stuckMinutes ?? 5;
62
- const failedMessages = await repositories_1.InboxRepo.getFailedMessages(this.dataSource, maxAttempts, 10);
63
- for (const msg of failedMessages) {
64
- this.logger.warn(`Retrying failed message: ${msg.messageId} (attempt ${msg.attempts + 1}/${maxAttempts})`);
62
+ const failed = await repositories_1.InboxRepo.getFailedMessages(this.dataSource, maxAttempts, 10);
63
+ for (const msg of failed) {
65
64
  try {
66
65
  const payload = JSON.parse(msg.payload);
67
66
  const meta = JSON.parse(msg.meta);
68
67
  await this.retryHandler(msg.service, payload, meta);
69
68
  }
70
- catch (error) {
71
- this.logger.error(`Retry failed for ${msg.messageId}: ${error?.message || error}`);
69
+ catch (err) {
70
+ this.logger.error(`Retry failed for ${msg.messageId}: ${err?.message || err}`);
72
71
  }
73
72
  }
74
- const stuckMessages = await repositories_1.InboxRepo.getStuckMessages(this.dataSource, stuckMinutes, 10);
75
- for (const msg of stuckMessages) {
76
- this.logger.warn(`Retrying stuck message: ${msg.messageId} (stuck for >${stuckMinutes}min)`);
73
+ const stuck = await repositories_1.InboxRepo.getStuckMessages(this.dataSource, stuckMinutes, 10);
74
+ for (const msg of stuck) {
77
75
  try {
78
76
  const payload = JSON.parse(msg.payload);
79
77
  const meta = JSON.parse(msg.meta);
80
78
  await this.retryHandler(msg.service, payload, meta);
81
79
  }
82
- catch (error) {
83
- this.logger.error(`Retry failed for stuck message ${msg.messageId}: ${error?.message || error}`);
80
+ catch (err) {
81
+ this.logger.error(`Retry failed for stuck ${msg.messageId}: ${err?.message || err}`);
84
82
  }
85
83
  }
86
84
  }
@@ -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":";;;;;;;;;;;;;;;;AAAA,2CAAiG;AACjG,qCAAqC;AACrC,kDAA4C;AAC5C,wDAA0E;AAGnE,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAKT;IACA;IACyB;IAN3B,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IACrD,UAAU,CAAkB;IAEpC,YACmB,UAAsB,EACtB,YAAuE,EAC9C,GAAmB;QAF5C,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAA2D;QAC9C,QAAG,GAAH,GAAG,CAAgB;IAC5D,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC;QAEjD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,UAAU,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAe;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,MAAM,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,wBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACnF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,SAAS,KAAK,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,wBAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAClF,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,SAAS,KAAK,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AArEY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAQR,WAAA,IAAA,eAAM,EAAC,iCAAe,CAAC,CAAA;qCAFK,oBAAU;GAL9B,iBAAiB,CAqE7B"}
@@ -1,4 +1,4 @@
1
- import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
1
+ import { OnApplicationShutdown, OnModuleInit } from '@nestjs/common';
2
2
  import { DataSource } from 'typeorm';
3
3
  import { type EnvelopeConfig } from '../envelope.config';
4
4
  export declare class OutboxDispatcherService implements OnModuleInit, OnApplicationShutdown {
@@ -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,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"}
1
+ {"version":3,"file":"outbox-dispatcher.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,qBAAqB,EAAE,YAAY,EAAU,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,uBAAwB,YAAW,YAAY,EAAE,qBAAqB;IAK/E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IACD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAN/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3C,GAAG,EAAE,cAAc;IAGzD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,IAAI,IAAI,IAAI;YAOE,cAAc;YAMd,QAAQ;YAOR,iBAAiB;YAkCjB,qBAAqB;CAkCpC"}
@@ -37,7 +37,7 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
37
37
  this.logger.log('Outbox dispatcher disabled by config');
38
38
  return;
39
39
  }
40
- const intervalMs = outboxCfg.intervalMs ?? 5000;
40
+ const intervalMs = outboxCfg.intervalMs ?? 5_000;
41
41
  const maxAttempts = outboxCfg.maxAttempts ?? 5;
42
42
  this.intervalId = setInterval(() => {
43
43
  this.dispatch(maxAttempts).catch((err) => {
@@ -51,22 +51,16 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
51
51
  this.stop();
52
52
  }
53
53
  stop() {
54
- if (this.intervalId) {
55
- clearInterval(this.intervalId);
56
- this.intervalId = undefined;
57
- this.logger.log('Outbox dispatcher stopped');
58
- }
54
+ if (!this.intervalId)
55
+ return;
56
+ clearInterval(this.intervalId);
57
+ this.intervalId = undefined;
58
+ this.logger.log('Outbox dispatcher stopped');
59
59
  }
60
60
  async publishMessage(message) {
61
- try {
62
- const payload = JSON.parse(message.payload);
63
- const meta = JSON.parse(message.meta);
64
- await this.publishFn(message.topic, payload, meta);
65
- }
66
- catch (error) {
67
- this.logger.error(`Error parsing or publishing message ${message.id}: ${error?.message || error}`);
68
- throw error;
69
- }
61
+ const payload = JSON.parse(message.payload);
62
+ const meta = JSON.parse(message.meta);
63
+ await this.publishFn(message.topic, payload, meta);
70
64
  }
71
65
  async dispatch(maxAttempts) {
72
66
  const messages = await repositories_1.OutboxRepo.getPending(this.dataSource, maxAttempts);
@@ -82,7 +76,6 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
82
76
  const locked = await this.tryLockWithSkipLocked(queryRunner, message.id);
83
77
  if (!locked) {
84
78
  await queryRunner.rollbackTransaction();
85
- await queryRunner.release();
86
79
  return;
87
80
  }
88
81
  await queryRunner.manager
@@ -96,10 +89,10 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
96
89
  await queryRunner.commitTransaction();
97
90
  this.logger.debug(`Published message ${message.id}`);
98
91
  }
99
- catch (error) {
92
+ catch (err) {
100
93
  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}`);
94
+ await repositories_1.OutboxRepo.markFailed(this.dataSource, message.id, err?.message || String(err));
95
+ this.logger.error(`Failed to publish ${message.id}: ${err?.message || err}`);
103
96
  }
104
97
  finally {
105
98
  await queryRunner.release();
@@ -119,20 +112,20 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
119
112
  .getRawOne();
120
113
  return !!result;
121
114
  }
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;
132
- }
115
+ const result = await queryRunner.manager
116
+ .createQueryBuilder()
117
+ .update(schemas_1.OutboxSchema)
118
+ .set({ lastAttemptAt: new Date() })
119
+ .where('id = :id', { id: messageId })
120
+ .andWhere('status = :status', { status: 'pending' })
121
+ .andWhere('(lastAttemptAt IS NULL OR lastAttemptAt < :threshold)', {
122
+ threshold: new Date(Date.now() - 5_000),
123
+ })
124
+ .execute();
125
+ return (result.affected ?? 0) > 0;
133
126
  }
134
- catch (error) {
135
- this.logger.error(`Error locking message ${messageId}: ${error?.message || error}`);
127
+ catch (err) {
128
+ this.logger.error(`Error locking message ${messageId}: ${err?.message || err}`);
136
129
  return false;
137
130
  }
138
131
  }
@@ -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
- import type { DataSource, EntityManager } from "typeorm";
2
- import type { TxManager } from "../service/transaction";
1
+ import type { DataSource, EntityManager } from 'typeorm';
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,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"}
1
+ {"version":3,"file":"tx-manager.d.ts","sourceRoot":"","sources":["../../src/envelope/tx-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,CAAC;CACxC;AAED,qBAAa,gBAAgB,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAE3E,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;CASd"}
@@ -10,10 +10,7 @@ class TypeormTxManager {
10
10
  }
11
11
  async transaction(fn, opts) {
12
12
  const iso = opts?.isolation;
13
- return this.dataSource.transaction(iso ? { isolation: iso } : undefined, async (manager) => {
14
- const trxRepo = this.repo.withManager(manager);
15
- return fn(trxRepo);
16
- });
13
+ return this.dataSource.transaction(iso ? { isolation: iso } : undefined, async (manager) => fn(this.repo.withManager(manager)));
17
14
  }
18
15
  }
19
16
  exports.TypeormTxManager = TypeormTxManager;
@@ -1 +1 @@
1
- {"version":3,"file":"tx-manager.js","sourceRoot":"","sources":["../../src/envelope/tx-manager.ts"],"names":[],"mappings":";;;AA2BA,MAAa,gBAAgB;IAIR;IACA;IAFnB,YACmB,UAAsB,EACtB,IAAO;QADP,eAAU,GAAV,UAAU,CAAY;QACtB,SAAI,GAAJ,IAAI,CAAG;IACvB,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,EAA8B,EAC9B,IAA6B;QAE7B,MAAM,GAAG,GAAG,IAAI,EAAE,SAAS,CAAC;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAEhC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAC3C,KAAK,EAAE,OAAO,EAAE,EAAE;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAvBD,4CAuBC"}
1
+ {"version":3,"file":"tx-manager.js","sourceRoot":"","sources":["../../src/envelope/tx-manager.ts"],"names":[],"mappings":";;;AAOA,MAAa,gBAAgB;IAER;IACA;IAFnB,YACmB,UAAsB,EACtB,IAAO;QADP,eAAU,GAAV,UAAU,CAAY;QACtB,SAAI,GAAJ,IAAI,CAAG;IACvB,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,EAA8B,EAC9B,IAA6B;QAE7B,MAAM,GAAG,GAAG,IAAI,EAAE,SAAS,CAAC;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAEhC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EAC3C,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;CACF;AAlBD,4CAkBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-meta.interface.d.ts","sourceRoot":"","sources":["../../../src/envelope/types/event-meta.interface.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IAKxB,SAAS,EAAE,MAAM,CAAC;IAMlB,aAAa,EAAE,MAAM,CAAC;IAMtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAmBD,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAE/B,IAAI,EAAE,CAAC,CAAC;IAGR,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
1
+ {"version":3,"file":"event-meta.interface.d.ts","sourceRoot":"","sources":["../../../src/envelope/types/event-meta.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
@@ -1,17 +1,12 @@
1
1
  export type InboxStatus = 'pending' | 'done' | 'failed';
2
2
  export interface InboxMessage {
3
3
  messageId: string;
4
- correlationId: string;
5
- causationId?: string;
6
- txId?: string;
7
4
  topic: string;
8
5
  payload: any;
9
6
  status: InboxStatus;
10
- error?: string | null;
11
7
  attempts: number;
8
+ error?: string | null;
12
9
  consumedAt: Date;
13
10
  processedAt?: Date | null;
14
- createdAt: Date;
15
- updatedAt: Date;
16
11
  }
17
12
  //# sourceMappingURL=inbox-message.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-message.interface.d.ts","sourceRoot":"","sources":["../../../src/envelope/types/inbox-message.interface.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAKxD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"inbox-message.interface.d.ts","sourceRoot":"","sources":["../../../src/envelope/types/inbox-message.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B"}
@@ -1,17 +1,14 @@
1
1
  export type OutboxStatus = 'pending' | 'published' | 'failed';
2
2
  export interface OutboxMessage {
3
- id: number;
3
+ id: string;
4
4
  topic: string;
5
5
  payload: any;
6
- correlationId: string;
7
- causationId?: string;
8
- txId?: string;
9
6
  publishAfter?: Date | null;
10
7
  publishedAt?: Date | null;
8
+ status: OutboxStatus;
11
9
  attempts: number;
12
10
  lastError?: string | null;
13
11
  lastAttemptAt?: Date | null;
14
12
  createdAt: Date;
15
- updatedAt: Date;
16
13
  }
17
14
  //# sourceMappingURL=outbox-message.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-message.interface.d.ts","sourceRoot":"","sources":["../../../src/envelope/types/outbox-message.interface.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAK9D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"outbox-message.interface.d.ts","sourceRoot":"","sources":["../../../src/envelope/types/outbox-message.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anatix/runtime",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Runtime infrastructure for Anatix-generated microservices",
5
5
  "author": "Anatix Team",
6
6
  "license": "MIT",