@axinom/mosaic-transactional-inbox-outbox 0.1.0 → 0.1.2

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.
@@ -61,4 +61,5 @@ export interface DbConfig {
61
61
  transactionalMessageProcessingTimeoutInMs?: number;
62
62
  }
63
63
  export declare const UNKNOWN_AGGREGATE_TYPE = "UNDEFINED_TYPE";
64
+ export declare const UNKNOWN_AGGREGATE_ID = "UNDEFINED_ID";
64
65
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAExD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAExD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAEvD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAEtD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAExD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B,EAAE,MAAM,CAAC;IACnC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAEhD,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAExC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,yCAAyC,CAAC,EAAE,MAAM,CAAC;CACpD;AAGD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAExD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAExD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAEvD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAEtD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAExD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B,EAAE,MAAM,CAAC;IACnC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAEhD,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAExC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,yCAAyC,CAAC,EAAE,MAAM,CAAC;CACpD;AAGD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNKNOWN_AGGREGATE_TYPE = void 0;
3
+ exports.UNKNOWN_AGGREGATE_ID = exports.UNKNOWN_AGGREGATE_TYPE = void 0;
4
4
  //TODO: [feature/image-transactional-in-out-box] remove backwards compatibility after 2024-02-01
5
5
  exports.UNKNOWN_AGGREGATE_TYPE = 'UNDEFINED_TYPE';
6
+ //TODO: [feature/image-transactional-in-out-box] remove backwards compatibility after 2024-02-01
7
+ exports.UNKNOWN_AGGREGATE_ID = 'UNDEFINED_ID';
6
8
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":";;;AA0EA,gGAAgG;AACnF,QAAA,sBAAsB,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":";;;AA0EA,gGAAgG;AACnF,QAAA,sBAAsB,GAAG,gBAAgB,CAAC;AAEvD,gGAAgG;AACnF,QAAA,oBAAoB,GAAG,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-inbox-writer.d.ts","sourceRoot":"","sources":["../../src/inbox/rabbitmq-inbox-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAG5E,OAAO,EAEL,IAAI,EAEL,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,OAAO,CAAC;IAU5D,SAAS,CAAC,iBAAiB,EAAE,iBAAiB;IAC9C,OAAO,CAAC,uBAAuB,CAAC;IAVlC,OAAO,CAAC,6BAA6B,CAAe;IACpD,OAAO,CAAC,KAAK,CAAe;IAC5B;;;;;OAKG;gBAES,iBAAiB,EAAE,iBAAiB,EACtC,uBAAuB,CAAC,iCAAqB;IAOvD,2BAA2B,QAAO,KAAK,MAAM,CAAC,CAa5C;IAEF;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,OAAO,EAChB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;CAkCjB"}
1
+ {"version":3,"file":"rabbitmq-inbox-writer.d.ts","sourceRoot":"","sources":["../../src/inbox/rabbitmq-inbox-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAG5E,OAAO,EAEL,IAAI,EAGL,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,OAAO,CAAC;IAU5D,SAAS,CAAC,iBAAiB,EAAE,iBAAiB;IAC9C,OAAO,CAAC,uBAAuB,CAAC;IAVlC,OAAO,CAAC,6BAA6B,CAAe;IACpD,OAAO,CAAC,KAAK,CAAe;IAC5B;;;;;OAKG;gBAES,iBAAiB,EAAE,iBAAiB,EACtC,uBAAuB,CAAC,iCAAqB;IAOvD,2BAA2B,QAAO,KAAK,MAAM,CAAC,CAO5C;IAEF;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,OAAO,EAChB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;CA0CjB"}
@@ -21,11 +21,8 @@ class RabbitMqInboxWriter extends mosaic_message_bus_1.MessageHandler {
21
21
  var _a;
22
22
  const backwardCompatibilityMappings = {};
23
23
  for (const messageSettings of (_a = this.acceptedMessageSettings) !== null && _a !== void 0 ? _a : []) {
24
- const staticPropertyNames = Object.keys(messageSettings);
25
- for (const propName of staticPropertyNames) {
26
- const value = messageSettings[propName];
27
- backwardCompatibilityMappings[value.messageType] = value.aggregateType;
28
- }
24
+ backwardCompatibilityMappings[messageSettings.messageType] =
25
+ messageSettings.aggregateType;
29
26
  }
30
27
  return backwardCompatibilityMappings;
31
28
  };
@@ -35,7 +32,7 @@ class RabbitMqInboxWriter extends mosaic_message_bus_1.MessageHandler {
35
32
  * Store the incoming message in the transactional inbox.
36
33
  */
37
34
  async onMessage(payload, { envelope, fields, properties }) {
38
- var _a;
35
+ var _a, _b;
39
36
  // Using a mutex to ensure that each message is completely inserted
40
37
  // in the original sort order into the inbox.
41
38
  const release = await this.mutex.acquire();
@@ -46,10 +43,15 @@ class RabbitMqInboxWriter extends mosaic_message_bus_1.MessageHandler {
46
43
  aggregateType =
47
44
  (_a = this.backwardCompatibilityMappings[envelope.message_type]) !== null && _a !== void 0 ? _a : common_1.UNKNOWN_AGGREGATE_TYPE;
48
45
  }
46
+ let aggregateId = envelope.aggregate_id;
47
+ if (!aggregateId) {
48
+ //TODO: [feature/image-transactional-in-out-box] remove backwards compatibility after 2024-02-01
49
+ aggregateId = String((_b = payload === null || payload === void 0 ? void 0 : payload.id) !== null && _b !== void 0 ? _b : common_1.UNKNOWN_AGGREGATE_ID);
50
+ }
49
51
  const content = {
50
52
  id: envelope.message_id,
51
53
  aggregateType,
52
- aggregateId: envelope.aggregate_id,
54
+ aggregateId,
53
55
  messageType: envelope.message_type,
54
56
  payload,
55
57
  metadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-inbox-writer.js","sourceRoot":"","sources":["../../src/inbox/rabbitmq-inbox-writer.ts"],"names":[],"mappings":";;;AAAA,mEAAyE;AAEzE,6CAAoC;AAEpC,sCAImB;AAGnB,MAAa,mBAAoB,SAAQ,mCAAuB;IAG9D;;;;;OAKG;IACH,YACY,iBAAoC,EACtC,uBAA6C;QAErD,KAAK,CAAC,mCAA0B,CAAC,CAAC;QAHxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACtC,4BAAuB,GAAvB,uBAAuB,CAAsB;QAT/C,UAAK,GAAG,IAAI,mBAAK,EAAE,CAAC;QAe5B,gGAAgG;QAChG,gCAA2B,GAAG,GAAiB,EAAE;;YAC/C,MAAM,6BAA6B,GAAiB,EAAE,CAAC;YACvD,KAAK,MAAM,eAAe,IAAI,MAAA,IAAI,CAAC,uBAAuB,mCAAI,EAAE,EAAE;gBAChE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzD,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE;oBAC1C,MAAM,KAAK,GAAI,eAAsD,CACnE,QAAQ,CACT,CAAC;oBAEF,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;iBACxE;aACF;YACD,OAAO,6BAA6B,CAAC;QACvC,CAAC,CAAC;QAjBA,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC1E,CAAC;IAkBD;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,OAAgB,EAChB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAwB;;QAEtD,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI;YACF,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE;gBAClB,gGAAgG;gBAChG,aAAa;oBACX,MAAA,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,YAAY,CAAC,mCACzD,+BAAsB,CAAC;aAC1B;YACD,MAAM,OAAO,GAAiB;gBAC5B,EAAE,EAAE,QAAQ,CAAC,UAAU;gBACvB,aAAa;gBACb,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,OAAO;gBACP,QAAQ,EAAE;oBACR,cAAc,EAAE,QAAQ,CAAC,eAAe;oBACxC,cAAc,EAAE,QAAQ,CAAC,eAAe;oBACxC,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC9B,MAAM;oBACN,UAAU;iBACX;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvC;gBAAS;YACR,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AAzED,kDAyEC"}
1
+ {"version":3,"file":"rabbitmq-inbox-writer.js","sourceRoot":"","sources":["../../src/inbox/rabbitmq-inbox-writer.ts"],"names":[],"mappings":";;;AAAA,mEAAyE;AAEzE,6CAAoC;AAEpC,sCAKmB;AAGnB,MAAa,mBAAoB,SAAQ,mCAAuB;IAG9D;;;;;OAKG;IACH,YACY,iBAAoC,EACtC,uBAA6C;QAErD,KAAK,CAAC,mCAA0B,CAAC,CAAC;QAHxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACtC,4BAAuB,GAAvB,uBAAuB,CAAsB;QAT/C,UAAK,GAAG,IAAI,mBAAK,EAAE,CAAC;QAe5B,gGAAgG;QAChG,gCAA2B,GAAG,GAAiB,EAAE;;YAC/C,MAAM,6BAA6B,GAAiB,EAAE,CAAC;YACvD,KAAK,MAAM,eAAe,IAAI,MAAA,IAAI,CAAC,uBAAuB,mCAAI,EAAE,EAAE;gBAChE,6BAA6B,CAAC,eAAe,CAAC,WAAW,CAAC;oBACxD,eAAe,CAAC,aAAa,CAAC;aACjC;YACD,OAAO,6BAA6B,CAAC;QACvC,CAAC,CAAC;QAXA,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC1E,CAAC;IAYD;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,OAAgB,EAChB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAwB;;QAEtD,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI;YACF,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE;gBAClB,gGAAgG;gBAChG,aAAa;oBACX,MAAA,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,YAAY,CAAC,mCACzD,+BAAsB,CAAC;aAC1B;YACD,IAAI,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,WAAW,EAAE;gBAChB,gGAAgG;gBAChG,WAAW,GAAG,MAAM,CAClB,MAAC,OAA+C,aAA/C,OAAO,uBAAP,OAAO,CAA0C,EAAE,mCAClD,6BAAoB,CACvB,CAAC;aACH;YACD,MAAM,OAAO,GAAiB;gBAC5B,EAAE,EAAE,QAAQ,CAAC,UAAU;gBACvB,aAAa;gBACb,WAAW;gBACX,WAAW,EAAE,QAAQ,CAAC,YAAY;gBAClC,OAAO;gBACP,QAAQ,EAAE;oBACR,cAAc,EAAE,QAAQ,CAAC,eAAe;oBACxC,cAAc,EAAE,QAAQ,CAAC,eAAe;oBACxC,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC9B,MAAM;oBACN,UAAU;iBACX;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvC;gBAAS;YACR,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AA3ED,kDA2EC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-transactional-inbox-outbox",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "This library encapsulates the Mosaic based transactional inbox and outbox pattern",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -47,5 +47,5 @@
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
50
- "gitHead": "ba7e5a51c2203d2ae44fa62461e0a66eadaa80f4"
50
+ "gitHead": "21ee496052191f152aab4ced17a1a67be4c9acfe"
51
51
  }
@@ -74,3 +74,6 @@ export interface DbConfig {
74
74
 
75
75
  //TODO: [feature/image-transactional-in-out-box] remove backwards compatibility after 2024-02-01
76
76
  export const UNKNOWN_AGGREGATE_TYPE = 'UNDEFINED_TYPE';
77
+
78
+ //TODO: [feature/image-transactional-in-out-box] remove backwards compatibility after 2024-02-01
79
+ export const UNKNOWN_AGGREGATE_ID = 'UNDEFINED_ID';
@@ -5,6 +5,7 @@ import { InboxMessage } from 'pg-transactional-outbox';
5
5
  import {
6
6
  DEFAULT_INBOX_MESSAGE_TYPE,
7
7
  Dict,
8
+ UNKNOWN_AGGREGATE_ID,
8
9
  UNKNOWN_AGGREGATE_TYPE,
9
10
  } from '../common';
10
11
  import { StoreInboxMessage } from './transactional-inbox-message-handler';
@@ -30,14 +31,8 @@ export class RabbitMqInboxWriter extends MessageHandler<unknown> {
30
31
  backwardCompatibilityMapper = (): Dict<string> => {
31
32
  const backwardCompatibilityMappings: Dict<string> = {};
32
33
  for (const messageSettings of this.acceptedMessageSettings ?? []) {
33
- const staticPropertyNames = Object.keys(messageSettings);
34
- for (const propName of staticPropertyNames) {
35
- const value = (messageSettings as unknown as Dict<MessagingSettings>)[
36
- propName
37
- ];
38
-
39
- backwardCompatibilityMappings[value.messageType] = value.aggregateType;
40
- }
34
+ backwardCompatibilityMappings[messageSettings.messageType] =
35
+ messageSettings.aggregateType;
41
36
  }
42
37
  return backwardCompatibilityMappings;
43
38
  };
@@ -60,10 +55,18 @@ export class RabbitMqInboxWriter extends MessageHandler<unknown> {
60
55
  this.backwardCompatibilityMappings[envelope.message_type] ??
61
56
  UNKNOWN_AGGREGATE_TYPE;
62
57
  }
58
+ let aggregateId = envelope.aggregate_id;
59
+ if (!aggregateId) {
60
+ //TODO: [feature/image-transactional-in-out-box] remove backwards compatibility after 2024-02-01
61
+ aggregateId = String(
62
+ (payload as { id: string | number | undefined })?.id ??
63
+ UNKNOWN_AGGREGATE_ID,
64
+ );
65
+ }
63
66
  const content: InboxMessage = {
64
67
  id: envelope.message_id, // Primary key - ensures the message is stored only once
65
68
  aggregateType,
66
- aggregateId: envelope.aggregate_id,
69
+ aggregateId,
67
70
  messageType: envelope.message_type,
68
71
  payload,
69
72
  metadata: {