@axinom/mosaic-transactional-inbox-outbox 0.1.2 → 0.1.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 (42) hide show
  1. package/dist/inbox/get-transactional-inbox-config.d.ts +2 -2
  2. package/dist/inbox/get-transactional-inbox-config.d.ts.map +1 -1
  3. package/dist/inbox/get-transactional-inbox-config.js.map +1 -1
  4. package/dist/inbox/transactional-inbox-message-handler.d.ts.map +1 -1
  5. package/dist/inbox/transactional-inbox-message-handler.js +5 -5
  6. package/dist/inbox/transactional-inbox-message-handler.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/outbox/get-transactional-outbox-config.d.ts +2 -2
  12. package/dist/outbox/get-transactional-outbox-config.d.ts.map +1 -1
  13. package/dist/outbox/get-transactional-outbox-config.js.map +1 -1
  14. package/dist/outbox/index.d.ts +1 -1
  15. package/dist/outbox/index.d.ts.map +1 -1
  16. package/dist/outbox/index.js +1 -1
  17. package/dist/outbox/index.js.map +1 -1
  18. package/dist/outbox/setup-outbox-storage.js +2 -2
  19. package/dist/outbox/setup-outbox-storage.js.map +1 -1
  20. package/dist/outbox/setup-transactional-outbox-listener.d.ts +13 -0
  21. package/dist/outbox/setup-transactional-outbox-listener.d.ts.map +1 -0
  22. package/dist/outbox/{setup-transactional-outbox-message-service.js → setup-transactional-outbox-listener.js} +12 -8
  23. package/dist/outbox/setup-transactional-outbox-listener.js.map +1 -0
  24. package/dist/transactional-log-mapper.d.ts +15 -0
  25. package/dist/transactional-log-mapper.d.ts.map +1 -0
  26. package/dist/{transactional-logger.js → transactional-log-mapper.js} +4 -8
  27. package/dist/transactional-log-mapper.js.map +1 -0
  28. package/package.json +4 -3
  29. package/src/inbox/get-transactional-inbox-config.ts +2 -4
  30. package/src/inbox/transactional-inbox-message-handler.ts +5 -9
  31. package/src/index.ts +1 -1
  32. package/src/outbox/get-transactional-outbox-config.ts +2 -2
  33. package/src/outbox/index.ts +1 -1
  34. package/src/outbox/setup-outbox-storage.ts +2 -2
  35. package/src/outbox/{setup-transactional-outbox-message-service.ts → setup-transactional-outbox-listener.ts} +22 -8
  36. package/src/{transactional-logger.ts → transactional-log-mapper.ts} +1 -9
  37. package/dist/outbox/setup-transactional-outbox-message-service.d.ts +0 -10
  38. package/dist/outbox/setup-transactional-outbox-message-service.d.ts.map +0 -1
  39. package/dist/outbox/setup-transactional-outbox-message-service.js.map +0 -1
  40. package/dist/transactional-logger.d.ts +0 -3
  41. package/dist/transactional-logger.d.ts.map +0 -1
  42. package/dist/transactional-logger.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { InboxServiceConfig } from 'pg-transactional-outbox';
1
+ import { InboxConfig } from 'pg-transactional-outbox';
2
2
  import { DbConfig } from '../common';
3
- export declare const getTransactionalInboxConfig: (config: DbConfig) => InboxServiceConfig;
3
+ export declare const getTransactionalInboxConfig: (config: DbConfig) => InboxConfig;
4
4
  //# sourceMappingURL=get-transactional-inbox-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-transactional-inbox-config.d.ts","sourceRoot":"","sources":["../../src/inbox/get-transactional-inbox-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAsC,MAAM,WAAW,CAAC;AAEzE,eAAO,MAAM,2BAA2B,WAC9B,QAAQ,KACf,kBAsBF,CAAC"}
1
+ {"version":3,"file":"get-transactional-inbox-config.d.ts","sourceRoot":"","sources":["../../src/inbox/get-transactional-inbox-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAsC,MAAM,WAAW,CAAC;AAEzE,eAAO,MAAM,2BAA2B,WAAY,QAAQ,KAAG,WAsB9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-transactional-inbox-config.js","sourceRoot":"","sources":["../../src/inbox/get-transactional-inbox-config.ts"],"names":[],"mappings":";;;AACA,sCAAyE;AAElE,MAAM,2BAA2B,GAAG,CACzC,MAAgB,EACI,EAAE;;IACtB,OAAO;QACL,QAAQ,EAAE;YACR,gBAAgB,EAAE,MAAM,CAAC,0BAA0B;SACpD;QACD,mBAAmB,EAAE;YACnB,gBAAgB,EAAE,MAAM,CAAC,kCAAkC;SAC5D;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAA,MAAM,CAAC,0BAA0B,mCAAI,YAAY;YAC3D,OAAO,EAAE,MAAA,MAAM,CAAC,yBAAyB,mCAAI,OAAO;YACpD,WAAW,EACT,MAAA,MAAM,CAAC,6BAA6B,mCACpC,2CAAkC;YACpC,YAAY,EAAE,MAAM,CAAC,iCAAiC;YACtD,WAAW,EAAE,MAAM,CAAC,6BAA6B;YACjD,wBAAwB,EACtB,MAAM,CAAC,yCAAyC;YAClD,YAAY,EAAE,MAAM,CAAC,6BAA6B;YAClD,qBAAqB,EAAE,MAAM,CAAC,sCAAsC;SACrE;KACF,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,2BAA2B,+BAwBtC"}
1
+ {"version":3,"file":"get-transactional-inbox-config.js","sourceRoot":"","sources":["../../src/inbox/get-transactional-inbox-config.ts"],"names":[],"mappings":";;;AACA,sCAAyE;AAElE,MAAM,2BAA2B,GAAG,CAAC,MAAgB,EAAe,EAAE;;IAC3E,OAAO;QACL,QAAQ,EAAE;YACR,gBAAgB,EAAE,MAAM,CAAC,0BAA0B;SACpD;QACD,mBAAmB,EAAE;YACnB,gBAAgB,EAAE,MAAM,CAAC,kCAAkC;SAC5D;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAA,MAAM,CAAC,0BAA0B,mCAAI,YAAY;YAC3D,OAAO,EAAE,MAAA,MAAM,CAAC,yBAAyB,mCAAI,OAAO;YACpD,WAAW,EACT,MAAA,MAAM,CAAC,6BAA6B,mCACpC,2CAAkC;YACpC,YAAY,EAAE,MAAM,CAAC,iCAAiC;YACtD,WAAW,EAAE,MAAM,CAAC,6BAA6B;YACjD,wBAAwB,EACtB,MAAM,CAAC,yCAAyC;YAClD,YAAY,EAAE,MAAM,CAAC,6BAA6B;YAClD,qBAAqB,EAAE,MAAM,CAAC,sCAAsC;SACrE;KACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,2BAA2B,+BAsBtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactional-inbox-message-handler.d.ts","sourceRoot":"","sources":["../../src/inbox/transactional-inbox-message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EAGd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,yBAAyB,CAAC,CAAC,CAC1C,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC;IAEX,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;CACpC;AAED,UAAU,kBAAkB,CAC1B,QAAQ,EACR,QAAQ,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAE9C,CACE,OAAO,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC5C,cAAc,EAAE,UAAU,EAC1B,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,8BAAsB,gCAAgC,CACpD,QAAQ,EACR,QAAQ,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAC9C,OAAO,SAAS,QAAQ,GAAG,QAAQ,CACnC,YAAW,mBAAmB;IAe5B,SAAS,CAAC,iBAAiB,EAAE,iBAAiB;IAC9C,SAAS,CAAC,MAAM,EAAE,iBAAiB;IACnC,SAAS,CAAC,MAAM,EAAE,OAAO;IACzB,SAAS,CAAC,kBAAkB,CAAC;IAhB/B,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B;;;;;;;OAOG;gBAES,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,OAAO,EACf,kBAAkB,CAAC,oDAAwC;IAUvE;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CACpB,OAAO,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC5C,cAAc,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC;IAEhB;;;;;;;;;OASG;IACU,kBAAkB,CAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAC5C,eAAe,EAAE,UAAU,EAC3B,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAC1C,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAcjD;;;;;;OAMG;IACU,MAAM,CACjB,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;;;;;OASG;IACU,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,UAAU,EAC1B,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAiBjD;;;OAGG;IACI,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;CAGrC"}
1
+ {"version":3,"file":"transactional-inbox-message-handler.d.ts","sourceRoot":"","sources":["../../src/inbox/transactional-inbox-message-handler.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,10 @@ class TransactionalInboxMessageHandler {
32
32
  */
33
33
  async handleErrorMessage(error, message, _envOwnerClient, attempts, _context) {
34
34
  if (attempts.current >= attempts.max) {
35
- (0, pg_transactional_outbox_1.logger)().error({
36
- error,
37
- details: message,
38
- }, `The final message handling attempt failed: ${error.message}`);
35
+ this.logger.error(error, {
36
+ message: `The final message handling attempt failed: ${error.message}`,
37
+ details: Object.assign({}, message),
38
+ });
39
39
  return 'permanent_error';
40
40
  }
41
41
  return 'transient_error';
@@ -68,7 +68,7 @@ class TransactionalInboxMessageHandler {
68
68
  const msg = message;
69
69
  const e = this.mapError(error);
70
70
  const context = await ((_a = this.handlePreprocessor) === null || _a === void 0 ? void 0 : _a.call(this, msg, envOwnerClient, e));
71
- const errorType = this.handleErrorMessage(e, message, envOwnerClient, attempts, context);
71
+ const errorType = await this.handleErrorMessage(e, message, envOwnerClient, attempts, context);
72
72
  if (attempts.current >= attempts.max) {
73
73
  return 'permanent_error';
74
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transactional-inbox-message-handler.js","sourceRoot":"","sources":["../../src/inbox/transactional-inbox-message-handler.ts"],"names":[],"mappings":";;;AAGA,qEAMiC;AA+BjC,MAAsB,gCAAgC;IAUpD;;;;;;;OAOG;IACH,YACY,iBAAoC,EACpC,MAAyB,EACzB,MAAe,EACf,kBAA2D;QAH3D,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAmB;QACzB,WAAM,GAAN,MAAM,CAAS;QACf,uBAAkB,GAAlB,kBAAkB,CAAyC;QAErE,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;QAEjD,IAAI,CAAC,WAAW,GAAG,IAAA,wCAAc,EAC/B,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAC1C,CAAC;IACJ,CAAC;IAcD;;;;;;;;;OASG;IACI,KAAK,CAAC,kBAAkB,CAC7B,KAAY,EACZ,OAA4C,EAC5C,eAA2B,EAC3B,QAA0C,EAC1C,QAAmB;QAEnB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE;YACpC,IAAA,gCAAM,GAAE,CAAC,KAAK,CACZ;gBACE,KAAK;gBACL,OAAO,EAAE,OAAO;aACjB,EACD,8CAA8C,KAAK,CAAC,OAAO,EAAE,CAC9D,CAAC;YACF,OAAO,iBAAiB,CAAC;SAC1B;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,OAAqB,EACrB,cAA0B;;QAE1B,MAAM,GAAG,GAAwC,OAAO,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,kBAAkB,qDAAG,GAAG,EAAE,cAAc,CAAC,CAAA,CAAC;QACrE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,WAAW,CACtB,KAAY,EACZ,OAAqB,EACrB,cAA0B,EAC1B,QAA0C;;QAE1C,MAAM,GAAG,GAAwC,OAAO,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,kBAAkB,qDAAG,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACvC,CAAC,EACoC,OAAO,EAC5C,cAAc,EACd,QAAQ,EACR,OAAO,CACR,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE;YACpC,OAAO,iBAAiB,CAAC;SAC1B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAY;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAjID,4EAiIC"}
1
+ {"version":3,"file":"transactional-inbox-message-handler.js","sourceRoot":"","sources":["../../src/inbox/transactional-inbox-message-handler.ts"],"names":[],"mappings":";;;AAGA,qEAKiC;AA+BjC,MAAsB,gCAAgC;IAUpD;;;;;;;OAOG;IACH,YACY,iBAAoC,EACpC,MAAyB,EACzB,MAAe,EACf,kBAA2D;QAH3D,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAmB;QACzB,WAAM,GAAN,MAAM,CAAS;QACf,uBAAkB,GAAlB,kBAAkB,CAAyC;QAErE,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;QAEjD,IAAI,CAAC,WAAW,GAAG,IAAA,wCAAc,EAC/B,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAC1C,CAAC;IACJ,CAAC;IAcD;;;;;;;;;OASG;IACI,KAAK,CAAC,kBAAkB,CAC7B,KAAY,EACZ,OAA4C,EAC5C,eAA2B,EAC3B,QAA0C,EAC1C,QAAmB;QAEnB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;gBACvB,OAAO,EAAE,8CAA8C,KAAK,CAAC,OAAO,EAAE;gBACtE,OAAO,oBAAO,OAAO,CAAE;aACxB,CAAC,CAAC;YACH,OAAO,iBAAiB,CAAC;SAC1B;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,OAAqB,EACrB,cAA0B;;QAE1B,MAAM,GAAG,GAAwC,OAAO,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,kBAAkB,qDAAG,GAAG,EAAE,cAAc,CAAC,CAAA,CAAC;QACrE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,WAAW,CACtB,KAAY,EACZ,OAAqB,EACrB,cAA0B,EAC1B,QAA0C;;QAE1C,MAAM,GAAG,GAAwC,OAAO,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,kBAAkB,qDAAG,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA,CAAC;QACxE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,CAAC,EACoC,OAAO,EAC5C,cAAc,EACd,QAAQ,EACR,OAAO,CACR,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE;YACpC,OAAO,iBAAiB,CAAC;SAC1B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAY;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA9HD,4EA8HC"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export * from './common';
2
2
  export * from './inbox';
3
3
  export * from './outbox';
4
4
  export * from './rabbitmq';
5
- export * from './transactional-logger';
5
+ export * from './transactional-log-mapper';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -18,5 +18,5 @@ __exportStar(require("./common"), exports);
18
18
  __exportStar(require("./inbox"), exports);
19
19
  __exportStar(require("./outbox"), exports);
20
20
  __exportStar(require("./rabbitmq"), exports);
21
- __exportStar(require("./transactional-logger"), exports);
21
+ __exportStar(require("./transactional-log-mapper"), exports);
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,6DAA2C"}
@@ -1,4 +1,4 @@
1
- import { OutboxServiceConfig } from 'pg-transactional-outbox';
1
+ import { OutboxConfig } from 'pg-transactional-outbox';
2
2
  import { DbConfig } from '../common';
3
- export declare const getTransactionalOutboxConfig: (config: DbConfig) => OutboxServiceConfig;
3
+ export declare const getTransactionalOutboxConfig: (config: DbConfig) => OutboxConfig;
4
4
  //# sourceMappingURL=get-transactional-outbox-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-transactional-outbox-config.d.ts","sourceRoot":"","sources":["../../src/outbox/get-transactional-outbox-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAuC,MAAM,WAAW,CAAC;AAE1E,eAAO,MAAM,4BAA4B,WAC/B,QAAQ,KACf,mBAkBF,CAAC"}
1
+ {"version":3,"file":"get-transactional-outbox-config.d.ts","sourceRoot":"","sources":["../../src/outbox/get-transactional-outbox-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAuC,MAAM,WAAW,CAAC;AAE1E,eAAO,MAAM,4BAA4B,WAC/B,QAAQ,KACf,YAkBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-transactional-outbox-config.js","sourceRoot":"","sources":["../../src/outbox/get-transactional-outbox-config.ts"],"names":[],"mappings":";;;AACA,sCAA0E;AAEnE,MAAM,4BAA4B,GAAG,CAC1C,MAAgB,EACK,EAAE;;IACvB,OAAO;QACL,mBAAmB,EAAE;YACnB,gBAAgB,EAAE,MAAM,CAAC,kCAAkC;SAC5D;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAA,MAAM,CAAC,2BAA2B,mCAAI,YAAY;YAC5D,OAAO,EAAE,MAAA,MAAM,CAAC,0BAA0B,mCAAI,QAAQ;YACtD,WAAW,EACT,MAAA,MAAM,CAAC,8BAA8B,mCACrC,4CAAmC;YACrC,YAAY,EAAE,MAAM,CAAC,kCAAkC;YACvD,wBAAwB,EACtB,MAAM,CAAC,yCAAyC;YAClD,YAAY,EAAE,MAAM,CAAC,6BAA6B;YAClD,qBAAqB,EAAE,MAAM,CAAC,sCAAsC;SACrE;KACF,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,4BAA4B,gCAoBvC"}
1
+ {"version":3,"file":"get-transactional-outbox-config.js","sourceRoot":"","sources":["../../src/outbox/get-transactional-outbox-config.ts"],"names":[],"mappings":";;;AACA,sCAA0E;AAEnE,MAAM,4BAA4B,GAAG,CAC1C,MAAgB,EACF,EAAE;;IAChB,OAAO;QACL,mBAAmB,EAAE;YACnB,gBAAgB,EAAE,MAAM,CAAC,kCAAkC;SAC5D;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAA,MAAM,CAAC,2BAA2B,mCAAI,YAAY;YAC5D,OAAO,EAAE,MAAA,MAAM,CAAC,0BAA0B,mCAAI,QAAQ;YACtD,WAAW,EACT,MAAA,MAAM,CAAC,8BAA8B,mCACrC,4CAAmC;YACrC,YAAY,EAAE,MAAM,CAAC,kCAAkC;YACvD,wBAAwB,EACtB,MAAM,CAAC,yCAAyC;YAClD,YAAY,EAAE,MAAM,CAAC,6BAA6B;YAClD,qBAAqB,EAAE,MAAM,CAAC,sCAAsC;SACrE;KACF,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,4BAA4B,gCAoBvC"}
@@ -1,4 +1,4 @@
1
1
  export * from './get-transactional-outbox-config';
2
2
  export * from './setup-outbox-storage';
3
- export * from './setup-transactional-outbox-message-service';
3
+ export * from './setup-transactional-outbox-listener';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC"}
@@ -16,5 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./get-transactional-outbox-config"), exports);
18
18
  __exportStar(require("./setup-outbox-storage"), exports);
19
- __exportStar(require("./setup-transactional-outbox-message-service"), exports);
19
+ __exportStar(require("./setup-transactional-outbox-listener"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,yDAAuC;AACvC,+EAA6D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,yDAAuC;AACvC,wEAAsD"}
@@ -8,8 +8,8 @@ const get_transactional_outbox_config_1 = require("./get-transactional-outbox-co
8
8
  * See the StoreOutboxMessage type for parameter descriptions.
9
9
  */
10
10
  const setupOutboxStorage = (config) => {
11
- const outboxServiceConfig = (0, get_transactional_outbox_config_1.getTransactionalOutboxConfig)(config);
12
- const storage = (0, pg_transactional_outbox_1.initializeGeneralOutboxMessageStorage)(outboxServiceConfig);
11
+ const outboxConfig = (0, get_transactional_outbox_config_1.getTransactionalOutboxConfig)(config);
12
+ const storage = (0, pg_transactional_outbox_1.initializeGeneralOutboxMessageStorage)(outboxConfig);
13
13
  return (aggregateId, messagingSettings, content, client, envelopeOverrides, options) => {
14
14
  const metadata = {
15
15
  envelopeOverrides,
@@ -1 +1 @@
1
- {"version":3,"file":"setup-outbox-storage.js","sourceRoot":"","sources":["../../src/outbox/setup-outbox-storage.ts"],"names":[],"mappings":";;;AAGA,qEAGiC;AAGjC,uFAAiF;AAiCjF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAsB,EAAE;IACzE,MAAM,mBAAmB,GAAG,IAAA,8DAA4B,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAA,+DAAqC,EAAC,mBAAmB,CAAC,CAAC;IAE3E,OAAO,CACL,WAAmB,EACnB,iBAAoC,EACpC,OAAU,EACV,MAAkB,EAClB,iBAA4C,EAC5C,OAA2B,EACH,EAAE;QAC1B,MAAM,QAAQ,GAA2B;YACvC,iBAAiB;YACjB,OAAO;SACR,CAAC;QACF,OAAO,OAAO,CACZ,WAAW,EACX,iBAAiB,CAAC,aAAa,EAC/B,iBAAiB,CAAC,WAAW,EAC7B,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,kBAAkB,sBAyB7B"}
1
+ {"version":3,"file":"setup-outbox-storage.js","sourceRoot":"","sources":["../../src/outbox/setup-outbox-storage.ts"],"names":[],"mappings":";;;AAGA,qEAGiC;AAGjC,uFAAiF;AAiCjF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAsB,EAAE;IACzE,MAAM,YAAY,GAAG,IAAA,8DAA4B,EAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,+DAAqC,EAAC,YAAY,CAAC,CAAC;IAEpE,OAAO,CACL,WAAmB,EACnB,iBAAoC,EACpC,OAAU,EACV,MAAkB,EAClB,iBAA4C,EAC5C,OAA2B,EACH,EAAE;QAC1B,MAAM,QAAQ,GAA2B;YACvC,iBAAiB;YACjB,OAAO;SACR,CAAC;QACF,OAAO,OAAO,CACZ,WAAW,EACX,iBAAiB,CAAC,aAAa,EAC/B,iBAAiB,CAAC,WAAW,EAC7B,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,kBAAkB,sBAyB7B"}
@@ -0,0 +1,13 @@
1
+ import { Broker } from '@axinom/mosaic-message-bus';
2
+ import { TransactionalStrategies } from 'pg-transactional-outbox';
3
+ import { DbConfig, InboxOutboxLogger } from '../common';
4
+ /**
5
+ * Setup the transactional outbox listener to send messages
6
+ * @param config The service configurations
7
+ * @param broker RabbitMQ based messaging broker
8
+ * @param logger A service-common library based logger instance
9
+ * @param strategies Optional strategies to customize the outbox message processing
10
+ * @returns shutdown action to stop the outbox listener
11
+ */
12
+ export declare const setupTransactionalOutboxListener: (config: DbConfig, broker: Broker, logger: InboxOutboxLogger, strategies?: TransactionalStrategies) => Promise<() => Promise<void>>;
13
+ //# sourceMappingURL=setup-transactional-outbox-listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-transactional-outbox-listener.d.ts","sourceRoot":"","sources":["../../src/outbox/setup-transactional-outbox-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAEL,uBAAuB,EAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AA4BxD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,WACnC,QAAQ,UACR,MAAM,UACN,iBAAiB,eACZ,uBAAuB,KACnC,QAAQ,MAAM,QAAQ,IAAI,CAAC,CAe7B,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupTransactionalOutboxMessageService = void 0;
3
+ exports.setupTransactionalOutboxListener = void 0;
4
4
  const pg_transactional_outbox_1 = require("pg-transactional-outbox");
5
+ const transactional_log_mapper_1 = require("../transactional-log-mapper");
5
6
  const get_transactional_outbox_config_1 = require("./get-transactional-outbox-config");
6
7
  const setupRabbitMqPublisher = async (broker) => {
7
8
  return [
@@ -16,16 +17,19 @@ const setupRabbitMqPublisher = async (broker) => {
16
17
  ];
17
18
  };
18
19
  /**
19
- * Setup the transactional outbox service to send messages
20
+ * Setup the transactional outbox listener to send messages
20
21
  * @param config The service configurations
21
22
  * @param broker RabbitMQ based messaging broker
22
- * @returns shutdown action to stop the messaging service
23
+ * @param logger A service-common library based logger instance
24
+ * @param strategies Optional strategies to customize the outbox message processing
25
+ * @returns shutdown action to stop the outbox listener
23
26
  */
24
- const setupTransactionalOutboxMessageService = async (config, broker) => {
25
- const outboxServiceConfig = (0, get_transactional_outbox_config_1.getTransactionalOutboxConfig)(config);
27
+ const setupTransactionalOutboxListener = async (config, broker, logger, strategies) => {
28
+ const outboxConfig = (0, get_transactional_outbox_config_1.getTransactionalOutboxConfig)(config);
26
29
  const [rmqPublisher] = await setupRabbitMqPublisher(broker);
27
- const [shutdown] = (0, pg_transactional_outbox_1.initializeOutboxService)(outboxServiceConfig, rmqPublisher);
30
+ const transactionalLogger = new transactional_log_mapper_1.TransactionalLogMapper(logger, config.logLevel);
31
+ const [shutdown] = (0, pg_transactional_outbox_1.initializeOutboxListener)(outboxConfig, rmqPublisher, transactionalLogger, strategies);
28
32
  return shutdown;
29
33
  };
30
- exports.setupTransactionalOutboxMessageService = setupTransactionalOutboxMessageService;
31
- //# sourceMappingURL=setup-transactional-outbox-message-service.js.map
34
+ exports.setupTransactionalOutboxListener = setupTransactionalOutboxListener;
35
+ //# sourceMappingURL=setup-transactional-outbox-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-transactional-outbox-listener.js","sourceRoot":"","sources":["../../src/outbox/setup-transactional-outbox-listener.ts"],"names":[],"mappings":";;;AAEA,qEAIiC;AAGjC,0EAAqE;AACrE,uFAAiF;AAGjF,MAAM,sBAAsB,GAAG,KAAK,EAClC,MAAc,EAC8B,EAAE;IAC9C,OAAO;QACL,KAAK,EAAE,OAAsB,EAAiB,EAAE;YAC9C,oBAAoB;YACpB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAClC,OAAO,CAAC,QAAkC,CAAC;YAC7C,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,CAAC,WAAW,EACnB;gBACE,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,EACD,OAAO,CAAC,OAAO,EACf,iBAAiB,EACjB,OAAO,CACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,MAAM,gCAAgC,GAAG,KAAK,EACnD,MAAgB,EAChB,MAAc,EACd,MAAyB,EACzB,UAAoC,EACN,EAAE;IAChC,MAAM,YAAY,GAAG,IAAA,8DAA4B,EAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,IAAI,iDAAsB,CACpD,MAAM,EACN,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,kDAAwB,EACzC,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,UAAU,CACX,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,gCAAgC,oCAoB3C"}
@@ -0,0 +1,15 @@
1
+ import { InboxOutboxLogger } from './common';
2
+ export declare class TransactionalLogMapper {
3
+ private logger;
4
+ constructor(logger: InboxOutboxLogger, logLevel: string);
5
+ fatal(obj: unknown, msg?: string): void;
6
+ error(obj: unknown, msg?: string): void;
7
+ warn(obj: unknown, msg?: string): void;
8
+ info(obj: unknown, msg?: string): void;
9
+ debug(obj: unknown, msg?: string): void;
10
+ trace(obj: unknown, msg?: string): void;
11
+ silent(): void;
12
+ level: string;
13
+ private log;
14
+ }
15
+ //# sourceMappingURL=transactional-log-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactional-log-mapper.d.ts","sourceRoot":"","sources":["../src/transactional-log-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,UAAU,CAAC;AAIzD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM;IAIxD,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGvC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGvC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGtC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGtC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGvC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAGvC,MAAM,IAAI,IAAI;IAGrB,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,GAAG;CAWZ"}
@@ -1,14 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setTransactionalLogger = void 0;
4
- const pg_transactional_outbox_1 = require("pg-transactional-outbox");
5
- const setTransactionalLogger = (logger, logLevel) => {
6
- (0, pg_transactional_outbox_1.setLogger)(new TransactionalLogger(logger, logLevel));
7
- };
8
- exports.setTransactionalLogger = setTransactionalLogger;
3
+ exports.TransactionalLogMapper = void 0;
9
4
  // The pg-transactional-outbox library uses a central logger based in Pino.
10
5
  // This logger matches the Mosaic based logger to the Pino one.
11
- class TransactionalLogger {
6
+ class TransactionalLogMapper {
12
7
  constructor(logger, logLevel) {
13
8
  this.logger = logger;
14
9
  this.level = logLevel;
@@ -48,6 +43,7 @@ class TransactionalLogger {
48
43
  }
49
44
  }
50
45
  }
46
+ exports.TransactionalLogMapper = TransactionalLogMapper;
51
47
  const getLogMessage = (obj, message) => {
52
48
  if (typeof obj !== 'object' || !obj) {
53
49
  return { message };
@@ -78,4 +74,4 @@ const getLogMessage = (obj, message) => {
78
74
  message,
79
75
  };
80
76
  };
81
- //# sourceMappingURL=transactional-logger.js.map
77
+ //# sourceMappingURL=transactional-log-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactional-log-mapper.js","sourceRoot":"","sources":["../src/transactional-log-mapper.ts"],"names":[],"mappings":";;;AAEA,2EAA2E;AAC3E,+DAA+D;AAC/D,MAAa,sBAAsB;IACjC,YAAoB,MAAyB,EAAE,QAAgB;QAA3C,WAAM,GAAN,MAAM,CAAmB;QAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,GAAY,EAAE,GAAY;QACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACM,KAAK,CAAC,GAAY,EAAE,GAAY;QACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACM,IAAI,CAAC,GAAY,EAAE,GAAY;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IACM,IAAI,CAAC,GAAY,EAAE,GAAY;QACpC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,+CAA+C;IAC5E,CAAC;IACM,KAAK,CAAC,GAAY,EAAE,GAAY;QACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACM,KAAK,CAAC,GAAY,EAAE,GAAY;QACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACM,MAAM;QACX,cAAc;IAChB,CAAC;IAGO,GAAG,CAAC,KAAa,EAAE,GAAY,EAAE,GAAY;QACnD,8DAA8D;QAC9D,MAAM,OAAO,GAAI,IAAI,CAAC,MAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;SACd;aAAM,IAAI,GAAG,YAAY,KAAK,EAAE;YAC/B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACnB;aAAM;YACL,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SAClC;IACH,CAAC;CACF;AAvCD,wDAuCC;AAED,MAAM,aAAa,GAAG,CAAC,GAAY,EAAE,OAAgB,EAAc,EAAE;IACnE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE;QACnC,OAAO,EAAE,OAAO,EAAE,CAAC;KACpB;IAED,IAAI,OAAO,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE;QACtC,OAAO,gBAAE,OAAO,IAAK,GAAG,CAAgB,CAAC;KAC1C;IAED,IACE,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC;QACvB,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC;QACzB,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC;QACvB,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;QACnB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,CAAC,GAAG,CAAC,OAAO;QACZ,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,EAC3B;QACA,OAAO;YACL,OAAO,EAAE,GAA8B;YACvC,OAAO;SACR,CAAC;KACH;IAED,gEAAgE;IAChE,OAAO;QACL,OAAO,EAAE;YACP,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;SAC7B;QACD,OAAO;KACM,CAAC;AAClB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-transactional-inbox-outbox",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "This library encapsulates the Mosaic based transactional inbox and outbox pattern",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -21,6 +21,7 @@
21
21
  "build": "yarn clean && tsc --project tsconfig.build.json",
22
22
  "build:ci": "yarn workspaces focus && yarn build",
23
23
  "dev": "tsc -w --project tsconfig.build.json",
24
+ "publish:latest": "npm run build && npm publish",
24
25
  "test": "jest --silent",
25
26
  "test:watch": "jest --watch --silent",
26
27
  "test:cov": "jest --coverage --silent && yarn posttest:cov",
@@ -34,7 +35,7 @@
34
35
  "async-mutex": "^0.4.0",
35
36
  "env-var": "^6.3.0",
36
37
  "pg": "^8.11.3",
37
- "pg-transactional-outbox": "^0.3.0"
38
+ "pg-transactional-outbox": "^0.4.0-beta.5"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/pg": "^8.6.1",
@@ -47,5 +48,5 @@
47
48
  "publishConfig": {
48
49
  "access": "public"
49
50
  },
50
- "gitHead": "21ee496052191f152aab4ced17a1a67be4c9acfe"
51
+ "gitHead": "88e055d9c450a63b4a71e065757a2a649cbf3efb"
51
52
  }
@@ -1,9 +1,7 @@
1
- import { InboxServiceConfig } from 'pg-transactional-outbox';
1
+ import { InboxConfig } from 'pg-transactional-outbox';
2
2
  import { DbConfig, PG_TRANSACTIONAL_INBOX_PUBLICATION } from '../common';
3
3
 
4
- export const getTransactionalInboxConfig = (
5
- config: DbConfig,
6
- ): InboxServiceConfig => {
4
+ export const getTransactionalInboxConfig = (config: DbConfig): InboxConfig => {
7
5
  return {
8
6
  pgConfig: {
9
7
  connectionString: config.dbEnvOwnerConnectionString,
@@ -6,7 +6,6 @@ import {
6
6
  InboxMessageHandler,
7
7
  OutboxMessage,
8
8
  getMaxAttempts,
9
- logger,
10
9
  } from 'pg-transactional-outbox';
11
10
  import { DbConfig, Dict, InboxOutboxLogger } from '../common';
12
11
 
@@ -100,13 +99,10 @@ export abstract class TransactionalInboxMessageHandler<
100
99
  _context?: TContext,
101
100
  ): Promise<'transient_error' | 'permanent_error'> {
102
101
  if (attempts.current >= attempts.max) {
103
- logger().error(
104
- {
105
- error,
106
- details: message,
107
- },
108
- `The final message handling attempt failed: ${error.message}`,
109
- );
102
+ this.logger.error(error, {
103
+ message: `The final message handling attempt failed: ${error.message}`,
104
+ details: { ...message },
105
+ });
110
106
  return 'permanent_error';
111
107
  }
112
108
  return 'transient_error';
@@ -147,7 +143,7 @@ export abstract class TransactionalInboxMessageHandler<
147
143
  const msg = <TransactionalInboxMessage<TMessage>>message;
148
144
  const e = this.mapError(error);
149
145
  const context = await this.handlePreprocessor?.(msg, envOwnerClient, e);
150
- const errorType = this.handleErrorMessage(
146
+ const errorType = await this.handleErrorMessage(
151
147
  e,
152
148
  <TransactionalInboxMessage<TMessage>>message,
153
149
  envOwnerClient,
package/src/index.ts CHANGED
@@ -2,4 +2,4 @@ export * from './common';
2
2
  export * from './inbox';
3
3
  export * from './outbox';
4
4
  export * from './rabbitmq';
5
- export * from './transactional-logger';
5
+ export * from './transactional-log-mapper';
@@ -1,9 +1,9 @@
1
- import { OutboxServiceConfig } from 'pg-transactional-outbox';
1
+ import { OutboxConfig } from 'pg-transactional-outbox';
2
2
  import { DbConfig, PG_TRANSACTIONAL_OUTBOX_PUBLICATION } from '../common';
3
3
 
4
4
  export const getTransactionalOutboxConfig = (
5
5
  config: DbConfig,
6
- ): OutboxServiceConfig => {
6
+ ): OutboxConfig => {
7
7
  return {
8
8
  pgReplicationConfig: {
9
9
  connectionString: config.dbOwnerReplicationConnectionString,
@@ -1,3 +1,3 @@
1
1
  export * from './get-transactional-outbox-config';
2
2
  export * from './setup-outbox-storage';
3
- export * from './setup-transactional-outbox-message-service';
3
+ export * from './setup-transactional-outbox-listener';
@@ -45,8 +45,8 @@ export type StoreOutboxMessage = <T>(
45
45
  * See the StoreOutboxMessage type for parameter descriptions.
46
46
  */
47
47
  export const setupOutboxStorage = (config: DbConfig): StoreOutboxMessage => {
48
- const outboxServiceConfig = getTransactionalOutboxConfig(config);
49
- const storage = initializeGeneralOutboxMessageStorage(outboxServiceConfig);
48
+ const outboxConfig = getTransactionalOutboxConfig(config);
49
+ const storage = initializeGeneralOutboxMessageStorage(outboxConfig);
50
50
 
51
51
  return <T>(
52
52
  aggregateId: string,
@@ -2,10 +2,12 @@
2
2
  import { Broker } from '@axinom/mosaic-message-bus';
3
3
  import {
4
4
  OutboxMessage,
5
- initializeOutboxService,
5
+ TransactionalStrategies,
6
+ initializeOutboxListener,
6
7
  } from 'pg-transactional-outbox';
7
- import { DbConfig } from '../common';
8
+ import { DbConfig, InboxOutboxLogger } from '../common';
8
9
  import { StoreInboxMessage } from '../inbox';
10
+ import { TransactionalLogMapper } from '../transactional-log-mapper';
9
11
  import { getTransactionalOutboxConfig } from './get-transactional-outbox-config';
10
12
  import { RabbitMqOutboxMetadata } from './setup-outbox-storage';
11
13
 
@@ -32,19 +34,31 @@ const setupRabbitMqPublisher = async (
32
34
  };
33
35
 
34
36
  /**
35
- * Setup the transactional outbox service to send messages
37
+ * Setup the transactional outbox listener to send messages
36
38
  * @param config The service configurations
37
39
  * @param broker RabbitMQ based messaging broker
38
- * @returns shutdown action to stop the messaging service
40
+ * @param logger A service-common library based logger instance
41
+ * @param strategies Optional strategies to customize the outbox message processing
42
+ * @returns shutdown action to stop the outbox listener
39
43
  */
40
- export const setupTransactionalOutboxMessageService = async (
44
+ export const setupTransactionalOutboxListener = async (
41
45
  config: DbConfig,
42
46
  broker: Broker,
47
+ logger: InboxOutboxLogger,
48
+ strategies?: TransactionalStrategies,
43
49
  ): Promise<() => Promise<void>> => {
44
- const outboxServiceConfig = getTransactionalOutboxConfig(config);
50
+ const outboxConfig = getTransactionalOutboxConfig(config);
45
51
  const [rmqPublisher] = await setupRabbitMqPublisher(broker);
46
-
47
- const [shutdown] = initializeOutboxService(outboxServiceConfig, rmqPublisher);
52
+ const transactionalLogger = new TransactionalLogMapper(
53
+ logger,
54
+ config.logLevel,
55
+ );
56
+ const [shutdown] = initializeOutboxListener(
57
+ outboxConfig,
58
+ rmqPublisher,
59
+ transactionalLogger,
60
+ strategies,
61
+ );
48
62
 
49
63
  return shutdown;
50
64
  };
@@ -1,16 +1,8 @@
1
- import { setLogger } from 'pg-transactional-outbox';
2
1
  import { InboxOutboxLogger, LogMessage } from './common';
3
2
 
4
- export const setTransactionalLogger = (
5
- logger: InboxOutboxLogger,
6
- logLevel: string,
7
- ): void => {
8
- setLogger(new TransactionalLogger(logger, logLevel));
9
- };
10
-
11
3
  // The pg-transactional-outbox library uses a central logger based in Pino.
12
4
  // This logger matches the Mosaic based logger to the Pino one.
13
- class TransactionalLogger {
5
+ export class TransactionalLogMapper {
14
6
  constructor(private logger: InboxOutboxLogger, logLevel: string) {
15
7
  this.level = logLevel;
16
8
  }
@@ -1,10 +0,0 @@
1
- import { Broker } from '@axinom/mosaic-message-bus';
2
- import { DbConfig } from '../common';
3
- /**
4
- * Setup the transactional outbox service to send messages
5
- * @param config The service configurations
6
- * @param broker RabbitMQ based messaging broker
7
- * @returns shutdown action to stop the messaging service
8
- */
9
- export declare const setupTransactionalOutboxMessageService: (config: DbConfig, broker: Broker) => Promise<() => Promise<void>>;
10
- //# sourceMappingURL=setup-transactional-outbox-message-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-transactional-outbox-message-service.d.ts","sourceRoot":"","sources":["../../src/outbox/setup-transactional-outbox-message-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAKpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA2BrC;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,WACzC,QAAQ,UACR,MAAM,KACb,QAAQ,MAAM,QAAQ,IAAI,CAAC,CAO7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-transactional-outbox-message-service.js","sourceRoot":"","sources":["../../src/outbox/setup-transactional-outbox-message-service.ts"],"names":[],"mappings":";;;AAEA,qEAGiC;AAGjC,uFAAiF;AAGjF,MAAM,sBAAsB,GAAG,KAAK,EAClC,MAAc,EAC8B,EAAE;IAC9C,OAAO;QACL,KAAK,EAAE,OAAsB,EAAiB,EAAE;YAC9C,oBAAoB;YACpB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAClC,OAAO,CAAC,QAAkC,CAAC;YAC7C,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,CAAC,WAAW,EACnB;gBACE,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,EACD,OAAO,CAAC,OAAO,EACf,iBAAiB,EACjB,OAAO,CACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,sCAAsC,GAAG,KAAK,EACzD,MAAgB,EAChB,MAAc,EACgB,EAAE;IAChC,MAAM,mBAAmB,GAAG,IAAA,8DAA4B,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE5D,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iDAAuB,EAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IAE9E,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,sCAAsC,0CAUjD"}
@@ -1,3 +0,0 @@
1
- import { InboxOutboxLogger } from './common';
2
- export declare const setTransactionalLogger: (logger: InboxOutboxLogger, logLevel: string) => void;
3
- //# sourceMappingURL=transactional-logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactional-logger.d.ts","sourceRoot":"","sources":["../src/transactional-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAc,MAAM,UAAU,CAAC;AAEzD,eAAO,MAAM,sBAAsB,WACzB,iBAAiB,YACf,MAAM,KACf,IAEF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactional-logger.js","sourceRoot":"","sources":["../src/transactional-logger.ts"],"names":[],"mappings":"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"}