@prodforcode/event-forge-typeorm 1.1.0 → 1.3.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.
package/README.md CHANGED
@@ -392,7 +392,7 @@ MIT
392
392
 
393
393
  - [@prodforcode/event-forge-core](../core) - Core interfaces and services
394
394
  - [@prodforcode/event-forge-mongoose](../adapter-mongoose) - MongoDB adapter
395
- - [@prodforcode/event-forge-rabbitmq](../publisher-rabbitmq) - RabbitMQ publisher
395
+ - [@prodforcode/event-forge-rabbitmq-publisher](../publisher-rabbitmq) - RabbitMQ publisher
396
396
  - [@prodforcode/event-forge-nestjs](../nestjs) - NestJS integration
397
397
 
398
398
  ## Support
@@ -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;
@@ -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;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;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;CAClB"}
@@ -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;
@@ -48,6 +49,10 @@ __decorate([
48
49
  (0, typeorm_1.Column)({ type: 'jsonb' }),
49
50
  __metadata("design:type", Object)
50
51
  ], InboxMessageEntity.prototype, "payload", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], InboxMessageEntity.prototype, "metadata", void 0);
51
56
  __decorate([
52
57
  (0, typeorm_1.Column)({
53
58
  type: 'enum',
@@ -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":";;;;;;;;;;;;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;IAGjC,QAAQ,CAA2B;IAOnC,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;AA9CY,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;AAGjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACP;AAOnC;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;6BA7CN,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,CA8C9B"}
@@ -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"}
@@ -1,4 +1,4 @@
1
- import { CreateInboxMessageDto, IInboxRepository, InboxMessage, RecordInboxMessageResult } from '@prodforcode/event-forge-core';
1
+ import { CreateInboxMessageDto, IInboxRepository, 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;
@@ -8,7 +8,6 @@ export declare class TypeOrmInboxRepository implements IInboxRepository {
8
8
  markProcessing(id: string): Promise<void>;
9
9
  markProcessed(id: string): Promise<void>;
10
10
  markFailed(id: string, error: string, permanent?: boolean, scheduledAt?: Date): Promise<void>;
11
- findRetryable(limit: number): Promise<InboxMessage[]>;
12
11
  deleteOlderThan(date: Date): Promise<number>;
13
12
  }
14
13
  //# 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,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;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,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA2CrD,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,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;IA4DrE,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"}
@@ -27,6 +27,7 @@ class TypeOrmInboxRepository {
27
27
  source: dto.source,
28
28
  eventType: dto.eventType,
29
29
  payload: dto.payload,
30
+ metadata: dto.metadata ?? undefined,
30
31
  status: event_forge_core_1.InboxMessageStatus.RECEIVED,
31
32
  retryCount: 0,
32
33
  maxRetries: dto.maxRetries ?? 3,
@@ -93,37 +94,6 @@ class TypeOrmInboxRepository {
93
94
  .where('id = :id', { id })
94
95
  .execute();
95
96
  }
96
- async findRetryable(limit) {
97
- const now = new Date();
98
- const messages = [];
99
- const queryRunner = this.repository.manager.connection.createQueryRunner();
100
- await queryRunner.connect();
101
- await queryRunner.startTransaction();
102
- try {
103
- const locked = await queryRunner.manager
104
- .createQueryBuilder(inbox_message_entity_1.InboxMessageEntity, 'inbox')
105
- .where('inbox.status = :status', { status: event_forge_core_1.InboxMessageStatus.FAILED })
106
- .andWhere('inbox.retryCount < inbox.maxRetries')
107
- .andWhere('(inbox.scheduledAt IS NULL OR inbox.scheduledAt <= :now)', { now })
108
- .orderBy('inbox.createdAt', 'ASC')
109
- .limit(limit)
110
- .setLock('pessimistic_write_or_fail')
111
- .getMany();
112
- for (const message of locked) {
113
- await queryRunner.manager.update(inbox_message_entity_1.InboxMessageEntity, { id: message.id }, { status: event_forge_core_1.InboxMessageStatus.PROCESSING });
114
- }
115
- await queryRunner.commitTransaction();
116
- messages.push(...locked);
117
- }
118
- catch (error) {
119
- await queryRunner.rollbackTransaction();
120
- throw error;
121
- }
122
- finally {
123
- await queryRunner.release();
124
- }
125
- return messages;
126
- }
127
97
  async deleteOlderThan(date) {
128
98
  const result = await this.repository.delete({
129
99
  status: event_forge_core_1.InboxMessageStatus.PROCESSED,
@@ -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":"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"}
@@ -11,6 +11,7 @@ export declare class TypeOrmOutboxRepository implements IOutboxRepository {
11
11
  releaseLock(id: string): Promise<void>;
12
12
  releaseStaleLocks(olderThan: Date): Promise<number>;
13
13
  deleteOlderThan(date: Date): Promise<number>;
14
+ findAndLockById(id: string, lockerId: string): Promise<OutboxMessage | null>;
14
15
  withTransaction<T>(operation: (context: unknown) => Promise<T>): Promise<T>;
15
16
  }
16
17
  //# sourceMappingURL=typeorm-outbox.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-outbox.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/typeorm-outbox.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EAEd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAuC,MAAM,SAAS,CAAC;AAS1E,qBAAa,uBAAwB,YAAW,iBAAiB;IAGnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;gBAEhC,UAAU,EAAE,UAAU;IAI7C,MAAM,CACV,GAAG,EAAE,sBAAsB,EAC3B,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,aAAa,CAAC;IAoBnB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAwC9E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,UAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnD,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5C,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAKlF"}
1
+ {"version":3,"file":"typeorm-outbox.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/typeorm-outbox.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EAEd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAuC,MAAM,SAAS,CAAC;AAS1E,qBAAa,uBAAwB,YAAW,iBAAiB;IAGnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;gBAEhC,UAAU,EAAE,UAAU;IAI7C,MAAM,CACV,GAAG,EAAE,sBAAsB,EAC3B,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,aAAa,CAAC;IAoBnB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAwC9E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,UAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnD,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA2B5E,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAKlF"}
@@ -109,6 +109,29 @@ class TypeOrmOutboxRepository {
109
109
  });
110
110
  return result.affected ?? 0;
111
111
  }
112
+ async findAndLockById(id, lockerId) {
113
+ return this.dataSource.transaction(async (manager) => {
114
+ const repo = manager.getRepository(outbox_message_entity_1.OutboxMessageEntity);
115
+ const now = new Date();
116
+ const message = await repo
117
+ .createQueryBuilder('outbox')
118
+ .setLock('pessimistic_write')
119
+ .where('outbox.id = :id', { id })
120
+ .andWhere('outbox.status IN (:...statuses)', {
121
+ statuses: [event_forge_core_1.OutboxMessageStatus.PENDING, event_forge_core_1.OutboxMessageStatus.FAILED],
122
+ })
123
+ .andWhere('(outbox.scheduledAt IS NULL OR outbox.scheduledAt <= :now)', { now })
124
+ .getOne();
125
+ if (!message)
126
+ return null;
127
+ await repo.update(id, {
128
+ status: event_forge_core_1.OutboxMessageStatus.PROCESSING,
129
+ lockedBy: lockerId,
130
+ lockedAt: new Date(),
131
+ });
132
+ return repo.findOneBy({ id });
133
+ });
134
+ }
112
135
  async withTransaction(operation) {
113
136
  return this.dataSource.transaction(async (entityManager) => {
114
137
  return operation(entityManager);
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-outbox.repository.js","sourceRoot":"","sources":["../../src/repositories/typeorm-outbox.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeorm-outbox.repository.js","sourceRoot":"","sources":["../../src/repositories/typeorm-outbox.repository.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prodforcode/event-forge-typeorm",
3
- "version": "1.1.0",
3
+ "version": "1.3.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.1.0"
26
+ "@prodforcode/event-forge-core": "1.3.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/better-sqlite3": "^7.6.8",