@prodforcode/event-forge-typeorm 1.2.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@ export declare class InboxMessageEntity implements InboxMessage {
5
5
  source: string;
6
6
  eventType: string;
7
7
  payload: Record<string, unknown>;
8
+ metadata?: Record<string, unknown>;
8
9
  status: InboxMessageStatus;
9
10
  processedAt?: Date;
10
11
  errorMessage?: string;
@@ -13,5 +14,9 @@ export declare class InboxMessageEntity implements InboxMessage {
13
14
  scheduledAt?: Date;
14
15
  createdAt: Date;
15
16
  receivedAt: Date;
17
+ updatedAt: Date;
18
+ recoveryAttempts: number;
19
+ lastRecoveredAt?: Date;
20
+ recoveryReason?: string;
16
21
  }
17
22
  //# sourceMappingURL=inbox-message.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-message.entity.d.ts","sourceRoot":"","sources":["../../src/entities/inbox-message.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAcjF,qBAMa,kBAAmB,YAAW,YAAY;IAErD,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOjC,MAAM,EAAE,kBAAkB,CAAC;IAG3B,WAAW,CAAC,EAAE,IAAI,CAAC;IAGnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,IAAI,CAAC;IAGnB,SAAS,EAAE,IAAI,CAAC;IAGhB,UAAU,EAAE,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"inbox-message.entity.d.ts","sourceRoot":"","sources":["../../src/entities/inbox-message.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAejF,qBAMa,kBAAmB,YAAW,YAAY;IAErD,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOnC,MAAM,EAAE,kBAAkB,CAAC;IAG3B,WAAW,CAAC,EAAE,IAAI,CAAC;IAGnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,IAAI,CAAC;IAGnB,SAAS,EAAE,IAAI,CAAC;IAGhB,UAAU,EAAE,IAAI,CAAC;IAGjB,SAAS,EAAE,IAAI,CAAC;IAGhB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,eAAe,CAAC,EAAE,IAAI,CAAC;IAGvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -18,6 +18,7 @@ let InboxMessageEntity = class InboxMessageEntity {
18
18
  source;
19
19
  eventType;
20
20
  payload;
21
+ metadata;
21
22
  status;
22
23
  processedAt;
23
24
  errorMessage;
@@ -26,6 +27,10 @@ let InboxMessageEntity = class InboxMessageEntity {
26
27
  scheduledAt;
27
28
  createdAt;
28
29
  receivedAt;
30
+ updatedAt;
31
+ recoveryAttempts;
32
+ lastRecoveredAt;
33
+ recoveryReason;
29
34
  };
30
35
  exports.InboxMessageEntity = InboxMessageEntity;
31
36
  __decorate([
@@ -48,6 +53,10 @@ __decorate([
48
53
  (0, typeorm_1.Column)({ type: 'jsonb' }),
49
54
  __metadata("design:type", Object)
50
55
  ], InboxMessageEntity.prototype, "payload", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], InboxMessageEntity.prototype, "metadata", void 0);
51
60
  __decorate([
52
61
  (0, typeorm_1.Column)({
53
62
  type: 'enum',
@@ -84,6 +93,22 @@ __decorate([
84
93
  (0, typeorm_1.CreateDateColumn)({ name: 'received_at' }),
85
94
  __metadata("design:type", Date)
86
95
  ], InboxMessageEntity.prototype, "receivedAt", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
98
+ __metadata("design:type", Date)
99
+ ], InboxMessageEntity.prototype, "updatedAt", void 0);
100
+ __decorate([
101
+ (0, typeorm_1.Column)({ name: 'recovery_attempts', type: 'int', default: 0 }),
102
+ __metadata("design:type", Number)
103
+ ], InboxMessageEntity.prototype, "recoveryAttempts", void 0);
104
+ __decorate([
105
+ (0, typeorm_1.Column)({ name: 'last_recovered_at', type: 'timestamptz', nullable: true }),
106
+ __metadata("design:type", Date)
107
+ ], InboxMessageEntity.prototype, "lastRecoveredAt", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({ name: 'recovery_reason', type: 'text', nullable: true }),
110
+ __metadata("design:type", String)
111
+ ], InboxMessageEntity.prototype, "recoveryReason", void 0);
87
112
  exports.InboxMessageEntity = InboxMessageEntity = __decorate([
88
113
  (0, typeorm_1.Entity)('inbox_messages'),
89
114
  (0, typeorm_1.Index)('idx_inbox_unique', ['messageId', 'source'], { unique: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-message.entity.js","sourceRoot":"","sources":["../../src/entities/inbox-message.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAiF;AACjF,qCAMiB;AAaV,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE7B,EAAE,CAAS;IAGX,SAAS,CAAS;IAGlB,MAAM,CAAS;IAGf,SAAS,CAAS;IAGlB,OAAO,CAA0B;IAOjC,MAAM,CAAqB;IAG3B,WAAW,CAAQ;IAGnB,YAAY,CAAU;IAGtB,UAAU,CAAS;IAGnB,UAAU,CAAS;IAGnB,WAAW,CAAQ;IAGnB,SAAS,CAAO;IAGhB,UAAU,CAAO;CAClB,CAAA;AA3CY,gDAAkB;AAE7B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;8CACpB;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;qDAC3C;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;kDAC1B;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;qDAC3C;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;mDACO;AAOjC;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,qCAAkB;QACxB,OAAO,EAAE,qCAAkB,CAAC,QAAQ;KACrC,CAAC;;kDACyB;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACxD,IAAI;uDAAC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDAC1C;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDACtC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDACtC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACxD,IAAI;uDAAC;AAGnB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;qDAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC9B,IAAI;sDAAC;6BA1CN,kBAAkB;IAN9B,IAAA,gBAAM,EAAC,gBAAgB,CAAC;IACxB,IAAA,eAAK,EAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACpE,IAAA,eAAK,EAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAA,eAAK,EAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAA,eAAK,EAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAA,eAAK,EAAC,uBAAuB,EAAE,CAAC,YAAY,CAAC,CAAC;GAClC,kBAAkB,CA2C9B"}
1
+ {"version":3,"file":"inbox-message.entity.js","sourceRoot":"","sources":["../../src/entities/inbox-message.entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Migration } from './migration.interface';
2
+ export declare const migration: Migration;
3
+ //# sourceMappingURL=1.2.0-001-AddInboxMetadataColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1.2.0-001-AddInboxMetadataColumn.d.ts","sourceRoot":"","sources":["../../src/migrations/1.2.0-001-AddInboxMetadataColumn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAWlD,eAAO,MAAM,SAAS,EAAE,SAiBvB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migration = void 0;
4
+ exports.migration = {
5
+ version: '1.2.0-001',
6
+ name: 'AddInboxMetadataColumn',
7
+ async up(queryRunner) {
8
+ await queryRunner.query(`
9
+ ALTER TABLE inbox_messages
10
+ ADD COLUMN IF NOT EXISTS metadata jsonb DEFAULT NULL;
11
+ `);
12
+ },
13
+ async down(queryRunner) {
14
+ await queryRunner.query(`
15
+ ALTER TABLE inbox_messages
16
+ DROP COLUMN IF EXISTS metadata;
17
+ `);
18
+ },
19
+ };
20
+ //# sourceMappingURL=1.2.0-001-AddInboxMetadataColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1.2.0-001-AddInboxMetadataColumn.js","sourceRoot":"","sources":["../../src/migrations/1.2.0-001-AddInboxMetadataColumn.ts"],"names":[],"mappings":";;;AAaa,QAAA,SAAS,GAAc;IAClC,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,wBAAwB;IAE9B,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Migration } from './migration.interface';
2
+ export declare const migration: Migration;
3
+ //# sourceMappingURL=1.5.0-001-AddInboxRecoveryFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1.5.0-001-AddInboxRecoveryFields.d.ts","sourceRoot":"","sources":["../../src/migrations/1.5.0-001-AddInboxRecoveryFields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAgBlD,eAAO,MAAM,SAAS,EAAE,SA4EvB,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migration = void 0;
4
+ exports.migration = {
5
+ version: '1.5.0-001',
6
+ name: 'AddInboxRecoveryFields',
7
+ async up(queryRunner) {
8
+ await queryRunner.query(`
9
+ ALTER TABLE inbox_messages
10
+ ADD COLUMN IF NOT EXISTS updated_at TIMESTAMP WITH TIME ZONE;
11
+ `);
12
+ await queryRunner.query(`
13
+ UPDATE inbox_messages SET updated_at = created_at WHERE updated_at IS NULL;
14
+ `);
15
+ await queryRunner.query(`
16
+ ALTER TABLE inbox_messages
17
+ ALTER COLUMN updated_at SET DEFAULT NOW();
18
+ `);
19
+ await queryRunner.query(`
20
+ ALTER TABLE inbox_messages
21
+ ADD COLUMN IF NOT EXISTS recovery_attempts INTEGER NOT NULL DEFAULT 0;
22
+ `);
23
+ await queryRunner.query(`
24
+ ALTER TABLE inbox_messages
25
+ ADD COLUMN IF NOT EXISTS last_recovered_at TIMESTAMP WITH TIME ZONE;
26
+ `);
27
+ await queryRunner.query(`
28
+ ALTER TABLE inbox_messages
29
+ ADD COLUMN IF NOT EXISTS recovery_reason TEXT;
30
+ `);
31
+ await queryRunner.query(`
32
+ CREATE INDEX IF NOT EXISTS idx_inbox_recovery_sweep
33
+ ON inbox_messages (status, updated_at)
34
+ WHERE status = 'processing';
35
+ `);
36
+ await queryRunner.query(`
37
+ CREATE OR REPLACE FUNCTION update_inbox_updated_at()
38
+ RETURNS TRIGGER AS $$
39
+ BEGIN
40
+ NEW.updated_at = NOW();
41
+ RETURN NEW;
42
+ END;
43
+ $$ LANGUAGE plpgsql;
44
+ `);
45
+ await queryRunner.query(`
46
+ DROP TRIGGER IF EXISTS trg_inbox_updated_at ON inbox_messages;
47
+ CREATE TRIGGER trg_inbox_updated_at
48
+ BEFORE UPDATE ON inbox_messages
49
+ FOR EACH ROW
50
+ EXECUTE FUNCTION update_inbox_updated_at();
51
+ `);
52
+ },
53
+ async down(queryRunner) {
54
+ await queryRunner.query(`DROP TRIGGER IF EXISTS trg_inbox_updated_at ON inbox_messages;`);
55
+ await queryRunner.query(`DROP FUNCTION IF EXISTS update_inbox_updated_at;`);
56
+ await queryRunner.query(`DROP INDEX IF EXISTS idx_inbox_recovery_sweep;`);
57
+ await queryRunner.query(`ALTER TABLE inbox_messages DROP COLUMN IF EXISTS recovery_reason;`);
58
+ await queryRunner.query(`ALTER TABLE inbox_messages DROP COLUMN IF EXISTS last_recovered_at;`);
59
+ await queryRunner.query(`ALTER TABLE inbox_messages DROP COLUMN IF EXISTS recovery_attempts;`);
60
+ await queryRunner.query(`ALTER TABLE inbox_messages DROP COLUMN IF EXISTS updated_at;`);
61
+ },
62
+ };
63
+ //# sourceMappingURL=1.5.0-001-AddInboxRecoveryFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1.5.0-001-AddInboxRecoveryFields.js","sourceRoot":"","sources":["../../src/migrations/1.5.0-001-AddInboxRecoveryFields.ts"],"names":[],"mappings":";;;AAkBa,QAAA,SAAS,GAAc;IAClC,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,wBAAwB;IAE9B,KAAK,CAAC,EAAE,CAAC,WAAwB;QAE/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAGH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;KAMvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAC1F,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC5E,MAAM,WAAW,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC1E,MAAM,WAAW,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAC7F,MAAM,WAAW,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC/F,MAAM,WAAW,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC/F,MAAM,WAAW,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAC1F,CAAC;CACF,CAAC"}
@@ -1,13 +1,16 @@
1
- import { CreateInboxMessageDto, IInboxRepository, RecordInboxMessageResult } from '@prodforcode/event-forge-core';
1
+ import { CreateInboxMessageDto, IInboxRepository, InboxMessage, RecordInboxMessageResult } from '@prodforcode/event-forge-core';
2
2
  import { DataSource } from 'typeorm';
3
3
  export declare class TypeOrmInboxRepository implements IInboxRepository {
4
4
  private readonly repository;
5
5
  constructor(dataSource: DataSource);
6
6
  record(dto: CreateInboxMessageDto): Promise<RecordInboxMessageResult>;
7
7
  exists(messageId: string, source: string): Promise<boolean>;
8
- markProcessing(id: string): Promise<void>;
8
+ markProcessing(id: string): Promise<boolean>;
9
9
  markProcessed(id: string): Promise<void>;
10
10
  markFailed(id: string, error: string, permanent?: boolean, scheduledAt?: Date): Promise<void>;
11
11
  deleteOlderThan(date: Date): Promise<number>;
12
+ findStuckProcessing(cutoffDate: Date, limit: number): Promise<InboxMessage[]>;
13
+ resetForRetry(id: string, reason: string): Promise<boolean>;
14
+ markPermanentlyFailedRecovery(id: string, reason: string): Promise<void>;
12
15
  }
13
16
  //# sourceMappingURL=typeorm-inbox.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-inbox.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/typeorm-inbox.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAEhB,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAwB,MAAM,SAAS,CAAC;AAS3D,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAEhD,UAAU,EAAE,UAAU;IAI5B,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA2DrE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW3D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,UAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3F,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAQnD"}
1
+ {"version":3,"file":"typeorm-inbox.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/typeorm-inbox.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EAEZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAwB,MAAM,SAAS,CAAC;AAS3D,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAEhD,UAAU,EAAE,UAAU;IAI5B,MAAM,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmFrE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW3D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa5C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,UAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3F,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5C,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAY7E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3D,6BAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB/E"}
@@ -17,6 +17,13 @@ class TypeOrmInboxRepository {
17
17
  },
18
18
  });
19
19
  if (existing) {
20
+ if (existing.status === event_forge_core_1.InboxMessageStatus.PROCESSING ||
21
+ existing.status === event_forge_core_1.InboxMessageStatus.FAILED) {
22
+ return {
23
+ message: existing,
24
+ isDuplicate: false,
25
+ };
26
+ }
20
27
  return {
21
28
  message: existing,
22
29
  isDuplicate: true,
@@ -27,6 +34,7 @@ class TypeOrmInboxRepository {
27
34
  source: dto.source,
28
35
  eventType: dto.eventType,
29
36
  payload: dto.payload,
37
+ metadata: dto.metadata ?? undefined,
30
38
  status: event_forge_core_1.InboxMessageStatus.RECEIVED,
31
39
  retryCount: 0,
32
40
  maxRetries: dto.maxRetries ?? 3,
@@ -49,6 +57,13 @@ class TypeOrmInboxRepository {
49
57
  if (!existing) {
50
58
  throw new Error(`Race condition: Duplicate key error but message not found for messageId=${dto.messageId}, source=${dto.source}`);
51
59
  }
60
+ if (existing.status === event_forge_core_1.InboxMessageStatus.PROCESSING ||
61
+ existing.status === event_forge_core_1.InboxMessageStatus.FAILED) {
62
+ return {
63
+ message: existing,
64
+ isDuplicate: false,
65
+ };
66
+ }
52
67
  return {
53
68
  message: existing,
54
69
  isDuplicate: true,
@@ -67,9 +82,16 @@ class TypeOrmInboxRepository {
67
82
  return count > 0;
68
83
  }
69
84
  async markProcessing(id) {
70
- await this.repository.update(id, {
71
- status: event_forge_core_1.InboxMessageStatus.PROCESSING,
72
- });
85
+ const result = await this.repository
86
+ .createQueryBuilder()
87
+ .update(inbox_message_entity_1.InboxMessageEntity)
88
+ .set({ status: event_forge_core_1.InboxMessageStatus.PROCESSING })
89
+ .where('id = :id AND status IN (:...statuses)', {
90
+ id,
91
+ statuses: [event_forge_core_1.InboxMessageStatus.RECEIVED, event_forge_core_1.InboxMessageStatus.FAILED],
92
+ })
93
+ .execute();
94
+ return (result.affected ?? 0) > 0;
73
95
  }
74
96
  async markProcessed(id) {
75
97
  await this.repository.update(id, {
@@ -100,6 +122,52 @@ class TypeOrmInboxRepository {
100
122
  });
101
123
  return result.affected ?? 0;
102
124
  }
125
+ async findStuckProcessing(cutoffDate, limit) {
126
+ const entities = await this.repository.find({
127
+ where: {
128
+ status: event_forge_core_1.InboxMessageStatus.PROCESSING,
129
+ updatedAt: (0, typeorm_1.LessThan)(cutoffDate),
130
+ },
131
+ take: limit,
132
+ order: { updatedAt: 'ASC' },
133
+ });
134
+ return entities;
135
+ }
136
+ async resetForRetry(id, reason) {
137
+ const result = await this.repository
138
+ .createQueryBuilder()
139
+ .update(inbox_message_entity_1.InboxMessageEntity)
140
+ .set({
141
+ status: event_forge_core_1.InboxMessageStatus.FAILED,
142
+ recoveryReason: reason,
143
+ lastRecoveredAt: new Date(),
144
+ errorMessage: `Recovered: ${reason}`,
145
+ recoveryAttempts: () => 'recovery_attempts + 1',
146
+ })
147
+ .where('id = :id AND status = :status', {
148
+ id,
149
+ status: event_forge_core_1.InboxMessageStatus.PROCESSING,
150
+ })
151
+ .execute();
152
+ return (result.affected ?? 0) > 0;
153
+ }
154
+ async markPermanentlyFailedRecovery(id, reason) {
155
+ await this.repository
156
+ .createQueryBuilder()
157
+ .update(inbox_message_entity_1.InboxMessageEntity)
158
+ .set({
159
+ status: event_forge_core_1.InboxMessageStatus.PERMANENTLY_FAILED,
160
+ recoveryReason: reason,
161
+ lastRecoveredAt: new Date(),
162
+ errorMessage: `Recovery exhausted: ${reason}`,
163
+ recoveryAttempts: () => 'recovery_attempts + 1',
164
+ })
165
+ .where('id = :id AND status = :status', {
166
+ id,
167
+ status: event_forge_core_1.InboxMessageStatus.PROCESSING,
168
+ })
169
+ .execute();
170
+ }
103
171
  }
104
172
  exports.TypeOrmInboxRepository = TypeOrmInboxRepository;
105
173
  //# sourceMappingURL=typeorm-inbox.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-inbox.repository.js","sourceRoot":"","sources":["../../src/repositories/typeorm-inbox.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeorm-inbox.repository.js","sourceRoot":"","sources":["../../src/repositories/typeorm-inbox.repository.ts"],"names":[],"mappings":";;;AAAA,oEAMuC;AACvC,qCAA2D;AAG3D,2EAAsE;AAMtE,MAAa,sBAAsB;IAChB,UAAU,CAAiC;IAE5D,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,yCAAkB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAA0B;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE;gBACL,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YAEb,IACE,QAAQ,CAAC,MAAM,KAAK,qCAAkB,CAAC,UAAU;gBACjD,QAAQ,CAAC,MAAM,KAAK,qCAAkB,CAAC,MAAM,EAC7C,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,KAAK;iBACnB,CAAC;YACJ,CAAC;YAGD,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACpC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;YACnC,MAAM,EAAE,qCAAkB,CAAC,QAAQ;YACnC,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAK,KAA2B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC7C,KAAK,EAAE;wBACL,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,2EAA2E,GAAG,CAAC,SAAS,YAAY,GAAG,CAAC,MAAM,EAAE,CACjH,CAAC;gBACJ,CAAC;gBAGD,IACE,QAAQ,CAAC,MAAM,KAAK,qCAAkB,CAAC,UAAU;oBACjD,QAAQ,CAAC,MAAM,KAAK,qCAAkB,CAAC,MAAM,EAC7C,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE,QAAQ;wBACjB,WAAW,EAAE,KAAK;qBACnB,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,IAAI;iBAClB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAc;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACxC,KAAK,EAAE;gBACL,SAAS;gBACT,MAAM;aACP;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU;aACjC,kBAAkB,EAAE;aACpB,MAAM,CAAC,yCAAkB,CAAC;aAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,qCAAkB,CAAC,UAAU,EAAE,CAAC;aAC9C,KAAK,CAAC,uCAAuC,EAAE;YAC9C,EAAE;YACF,QAAQ,EAAE,CAAC,qCAAkB,CAAC,QAAQ,EAAE,qCAAkB,CAAC,MAAM,CAAC;SACnE,CAAC;aACD,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE;YAC/B,MAAM,EAAE,qCAAkB,CAAC,SAAS;YACpC,WAAW,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,KAAa,EAAE,SAAS,GAAG,KAAK,EAAE,WAAkB;QAC/E,MAAM,MAAM,GAAG,SAAS;YACtB,CAAC,CAAC,qCAAkB,CAAC,kBAAkB;YACvC,CAAC,CAAC,qCAAkB,CAAC,MAAM,CAAC;QAG9B,MAAM,IAAI,CAAC,UAAU;aAClB,kBAAkB,EAAE;aACpB,MAAM,CAAC,yCAAkB,CAAC;aAC1B,GAAG,CAAC;YACH,MAAM;YACN,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,WAAW,IAAI,IAAI;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,iBAAiB;SAC3B,CAAC;aACV,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;aACzB,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAU;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,qCAAkB,CAAC,SAAS;YACpC,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAgB,EAAE,KAAa;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE;gBACL,MAAM,EAAE,qCAAkB,CAAC,UAAU;gBACrC,SAAS,EAAE,IAAA,kBAAQ,EAAC,UAAU,CAAC;aAChC;YACD,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAc;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU;aACjC,kBAAkB,EAAE;aACpB,MAAM,CAAC,yCAAkB,CAAC;aAC1B,GAAG,CAAC;YACH,MAAM,EAAE,qCAAkB,CAAC,MAAM;YACjC,cAAc,EAAE,MAAM;YACtB,eAAe,EAAE,IAAI,IAAI,EAAE;YAC3B,YAAY,EAAE,cAAc,MAAM,EAAE;YACpC,gBAAgB,EAAE,GAAG,EAAE,CAAC,uBAAuB;SACvC,CAAC;aACV,KAAK,CAAC,+BAA+B,EAAE;YACtC,EAAE;YACF,MAAM,EAAE,qCAAkB,CAAC,UAAU;SACtC,CAAC;aACD,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,EAAU,EAAE,MAAc;QAC5D,MAAM,IAAI,CAAC,UAAU;aAClB,kBAAkB,EAAE;aACpB,MAAM,CAAC,yCAAkB,CAAC;aAC1B,GAAG,CAAC;YACH,MAAM,EAAE,qCAAkB,CAAC,kBAAkB;YAC7C,cAAc,EAAE,MAAM;YACtB,eAAe,EAAE,IAAI,IAAI,EAAE;YAC3B,YAAY,EAAE,uBAAuB,MAAM,EAAE;YAC7C,gBAAgB,EAAE,GAAG,EAAE,CAAC,uBAAuB;SACvC,CAAC;aACV,KAAK,CAAC,+BAA+B,EAAE;YACtC,EAAE;YACF,MAAM,EAAE,qCAAkB,CAAC,UAAU;SACtC,CAAC;aACD,OAAO,EAAE,CAAC;IACf,CAAC;CACF;AArMD,wDAqMC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prodforcode/event-forge-typeorm",
3
- "version": "1.2.0",
3
+ "version": "1.5.0",
4
4
  "description": "TypeORM adapter for Universal Inbox-Outbox Pattern (PostgreSQL)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "commander": "^14.0.2",
25
25
  "typeorm": "^0.3.17",
26
- "@prodforcode/event-forge-core": "1.2.0"
26
+ "@prodforcode/event-forge-core": "1.5.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/better-sqlite3": "^7.6.8",