@volontariapp/outbox 0.3.1-snap-fb27685 → 0.3.1-snap-6b2bff2

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 (41) hide show
  1. package/dist/consumers/event-queue.consumer.d.ts +3 -3
  2. package/dist/consumers/event-queue.consumer.d.ts.map +1 -1
  3. package/dist/consumers/event-queue.consumer.js.map +1 -1
  4. package/dist/consumers/jobs-outbox.consumer.d.ts +3 -3
  5. package/dist/consumers/jobs-outbox.consumer.d.ts.map +1 -1
  6. package/dist/consumers/jobs-outbox.consumer.js.map +1 -1
  7. package/dist/dispatchers/event-queue.dispatcher.d.ts +2 -2
  8. package/dist/dispatchers/event-queue.dispatcher.d.ts.map +1 -1
  9. package/dist/dispatchers/event-queue.dispatcher.js.map +1 -1
  10. package/dist/dispatchers/jobs-outbox.dispatcher.d.ts +2 -2
  11. package/dist/dispatchers/jobs-outbox.dispatcher.d.ts.map +1 -1
  12. package/dist/dispatchers/jobs-outbox.dispatcher.js.map +1 -1
  13. package/dist/test/dispatchers/event/event-queue.generics.int.spec.d.ts +2 -0
  14. package/dist/test/dispatchers/event/event-queue.generics.int.spec.d.ts.map +1 -0
  15. package/dist/test/dispatchers/event/event-queue.generics.int.spec.js +44 -0
  16. package/dist/test/dispatchers/event/event-queue.generics.int.spec.js.map +1 -0
  17. package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.d.ts +2 -0
  18. package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.d.ts.map +1 -0
  19. package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.js +43 -0
  20. package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.js.map +1 -0
  21. package/dist/test/utils/helpers/event-queue-generics.helper.d.ts +9 -0
  22. package/dist/test/utils/helpers/event-queue-generics.helper.d.ts.map +1 -0
  23. package/dist/test/utils/helpers/event-queue-generics.helper.js +5 -0
  24. package/dist/test/utils/helpers/event-queue-generics.helper.js.map +1 -0
  25. package/dist/test/utils/helpers/jobs-outbox-generics.helper.d.ts +9 -0
  26. package/dist/test/utils/helpers/jobs-outbox-generics.helper.d.ts.map +1 -0
  27. package/dist/test/utils/helpers/jobs-outbox-generics.helper.js +5 -0
  28. package/dist/test/utils/helpers/jobs-outbox-generics.helper.js.map +1 -0
  29. package/dist/test/utils/repositories/event-queue-test.repository.d.ts +2 -2
  30. package/dist/test/utils/repositories/event-queue-test.repository.d.ts.map +1 -1
  31. package/dist/test/utils/repositories/event-queue-test.repository.js.map +1 -1
  32. package/dist/test/utils/repositories/jobs-outbox-test.repository.d.ts +2 -2
  33. package/dist/test/utils/repositories/jobs-outbox-test.repository.d.ts.map +1 -1
  34. package/dist/test/utils/repositories/jobs-outbox-test.repository.js.map +1 -1
  35. package/dist/writers/event-queue.writer.d.ts +2 -2
  36. package/dist/writers/event-queue.writer.d.ts.map +1 -1
  37. package/dist/writers/event-queue.writer.js.map +1 -1
  38. package/dist/writers/jobs-outbox.writer.d.ts +2 -2
  39. package/dist/writers/jobs-outbox.writer.d.ts.map +1 -1
  40. package/dist/writers/jobs-outbox.writer.js.map +1 -1
  41. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
- import type { BaseRepository, EventQueueEntity, EventQueueModel } from '@volontariapp/database';
1
+ import type { BaseRepository, EventQueueEntity, EventQueueModel, EventType } from '@volontariapp/database';
2
2
  import { OutboxConsumer } from '@volontariapp/database';
3
3
  import type { Logger } from '@volontariapp/logger';
4
- export declare class EventQueueConsumer extends OutboxConsumer<EventQueueModel, EventQueueEntity> {
5
- constructor(logger: Logger, repository: BaseRepository<EventQueueModel, EventQueueEntity, string>, batchSize: number);
4
+ export declare class EventQueueConsumer<K extends EventType = EventType> extends OutboxConsumer<EventQueueModel, EventQueueEntity<K>> {
5
+ constructor(logger: Logger, repository: BaseRepository<EventQueueModel, EventQueueEntity<K>, string>, batchSize: number);
6
6
  }
7
7
  //# sourceMappingURL=event-queue.consumer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue.consumer.d.ts","sourceRoot":"","sources":["../../src/consumers/event-queue.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,qBAAa,kBAAmB,SAAQ,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC;gBAErF,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,eAAe,EAAE,gBAAgB,EAAE,MAAM,CAAC,EACrE,SAAS,EAAE,MAAM;CAIpB"}
1
+ {"version":3,"file":"event-queue.consumer.d.ts","sourceRoot":"","sources":["../../src/consumers/event-queue.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,SAAS,EACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,qBAAa,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,cAAc,CACrF,eAAe,EACf,gBAAgB,CAAC,CAAC,CAAC,CACpB;gBAEG,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EACxE,SAAS,EAAE,MAAM;CAIpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue.consumer.js","sourceRoot":"","sources":["../../src/consumers/event-queue.consumer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,MAAM,OAAO,kBAAmB,SAAQ,cAAiD;IACvF,YACE,MAAc,EACd,UAAqE,EACrE,SAAiB;QAEjB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;CACF"}
1
+ {"version":3,"file":"event-queue.consumer.js","sourceRoot":"","sources":["../../src/consumers/event-queue.consumer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,MAAM,OAAO,kBAAoD,SAAQ,cAGxE;IACC,YACE,MAAc,EACd,UAAwE,EACxE,SAAiB;QAEjB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,oBAAoB,CAAI,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACxF,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { OutboxConsumer } from '@volontariapp/database';
2
- import type { JobsOutboxEntity, JobsOutboxModel } from '@volontariapp/database';
2
+ import type { JobsOutboxEntity, JobsOutboxModel, JobType } from '@volontariapp/database';
3
3
  import type { Logger } from '@volontariapp/logger';
4
4
  import type { BaseRepository } from '@volontariapp/database';
5
- export declare class JobsOutboxConsumer extends OutboxConsumer<JobsOutboxModel, JobsOutboxEntity> {
6
- constructor(logger: Logger, repository: BaseRepository<JobsOutboxModel, JobsOutboxEntity, string>, batchSize: number);
5
+ export declare class JobsOutboxConsumer<K extends JobType = JobType> extends OutboxConsumer<JobsOutboxModel, JobsOutboxEntity<K>> {
6
+ constructor(logger: Logger, repository: BaseRepository<JobsOutboxModel, JobsOutboxEntity<K>, string>, batchSize: number);
7
7
  }
8
8
  //# sourceMappingURL=jobs-outbox.consumer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox.consumer.d.ts","sourceRoot":"","sources":["../../src/consumers/jobs-outbox.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qBAAa,kBAAmB,SAAQ,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC;gBAErF,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,eAAe,EAAE,gBAAgB,EAAE,MAAM,CAAC,EACrE,SAAS,EAAE,MAAM;CAIpB"}
1
+ {"version":3,"file":"jobs-outbox.consumer.d.ts","sourceRoot":"","sources":["../../src/consumers/jobs-outbox.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qBAAa,kBAAkB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,cAAc,CACjF,eAAe,EACf,gBAAgB,CAAC,CAAC,CAAC,CACpB;gBAEG,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EACxE,SAAS,EAAE,MAAM;CAIpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox.consumer.js","sourceRoot":"","sources":["../../src/consumers/jobs-outbox.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF,MAAM,OAAO,kBAAmB,SAAQ,cAAiD;IACvF,YACE,MAAc,EACd,UAAqE,EACrE,SAAiB;QAEjB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;CACF"}
1
+ {"version":3,"file":"jobs-outbox.consumer.js","sourceRoot":"","sources":["../../src/consumers/jobs-outbox.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF,MAAM,OAAO,kBAAgD,SAAQ,cAGpE;IACC,YACE,MAAc,EACd,UAAwE,EACxE,SAAiB;QAEjB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,oBAAoB,CAAI,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACxF,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { type EventQueueEntity, type EventQueueModel, OutboxDispatcher } from '@volontariapp/database';
2
- export declare class EventQueueDispatcher extends OutboxDispatcher<EventQueueModel, EventQueueEntity> {
1
+ import { type EventQueueEntity, type EventQueueModel, type EventType, type EventPayload, OutboxDispatcher } from '@volontariapp/database';
2
+ export declare class EventQueueDispatcher<K extends EventType = EventType, P = EventPayload<K>> extends OutboxDispatcher<EventQueueModel, EventQueueEntity<K, P>> {
3
3
  }
4
4
  //# sourceMappingURL=event-queue.dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue.dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatchers/event-queue.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAAG"}
1
+ {"version":3,"file":"event-queue.dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatchers/event-queue.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,oBAAoB,CAC/B,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CACnB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue.dispatcher.js","sourceRoot":"","sources":["../../src/dispatchers/event-queue.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,oBAAqB,SAAQ,gBAAmD;CAAG"}
1
+ {"version":3,"file":"event-queue.dispatcher.js","sourceRoot":"","sources":["../../src/dispatchers/event-queue.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,oBAGX,SAAQ,gBAAyD;CAAG"}
@@ -1,4 +1,4 @@
1
- import { type JobsOutboxEntity, type JobsOutboxModel, OutboxDispatcher } from '@volontariapp/database';
2
- export declare class JobsOutboxDispatcher extends OutboxDispatcher<JobsOutboxModel, JobsOutboxEntity> {
1
+ import { type JobsOutboxEntity, type JobsOutboxModel, type JobType, type JobPayload, OutboxDispatcher } from '@volontariapp/database';
2
+ export declare class JobsOutboxDispatcher<K extends JobType = JobType, P = JobPayload<K>> extends OutboxDispatcher<JobsOutboxModel, JobsOutboxEntity<K, P>> {
3
3
  }
4
4
  //# sourceMappingURL=jobs-outbox.dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox.dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatchers/jobs-outbox.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAAG"}
1
+ {"version":3,"file":"jobs-outbox.dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatchers/jobs-outbox.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,oBAAoB,CAC/B,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CACjB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox.dispatcher.js","sourceRoot":"","sources":["../../src/dispatchers/jobs-outbox.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,oBAAqB,SAAQ,gBAAmD;CAAG"}
1
+ {"version":3,"file":"jobs-outbox.dispatcher.js","sourceRoot":"","sources":["../../src/dispatchers/jobs-outbox.dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,oBAGX,SAAQ,gBAAyD;CAAG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event-queue.generics.int.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-queue.generics.int.spec.d.ts","sourceRoot":"","sources":["../../../../src/test/dispatchers/event/event-queue.generics.int.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { describe, expect, it, beforeAll, afterAll, beforeEach } from '@jest/globals';
2
+ import { databaseMapper, EventQueueModel, EventQueueEntity, OutboxStatus, } from '@volontariapp/database';
3
+ import { testDataSource, initializeTestDb, closeTestDb } from '../../data-source.js';
4
+ import { EventQueueDispatcher } from '../../../dispatchers/event-queue.dispatcher.js';
5
+ import { TestEventQueueRepository } from '../../utils/repositories/event-queue-test.repository.js';
6
+ import { makeLoggerMock } from '../../utils/helpers/logger-mock.helper.js';
7
+ import { EventType } from '../../utils/helpers/event-queue-generics.helper.js';
8
+ describe('EventQueue Generics (Integration)', () => {
9
+ let dispatcher;
10
+ let repository;
11
+ const logger = makeLoggerMock();
12
+ beforeAll(async () => {
13
+ await initializeTestDb();
14
+ databaseMapper.registerBidirectional(EventQueueModel, EventQueueEntity);
15
+ repository = new TestEventQueueRepository(testDataSource.getRepository(EventQueueModel));
16
+ dispatcher = new EventQueueDispatcher(logger, repository);
17
+ });
18
+ afterAll(async () => {
19
+ await closeTestDb();
20
+ });
21
+ beforeEach(async () => {
22
+ await testDataSource.getRepository(EventQueueModel).createQueryBuilder().delete().execute();
23
+ });
24
+ it('should persist and retrieve a perfectly typed generic event', async () => {
25
+ const event = new EventQueueEntity();
26
+ event.id = '00000000-0000-0000-0000-000000000001';
27
+ event.type = EventType.FAKE;
28
+ event.emitter = 'test';
29
+ event.status = OutboxStatus.PENDING;
30
+ event.version = 1;
31
+ event.payload = {
32
+ after: { foo: 'bar', count: 42 },
33
+ };
34
+ await repository.create(event);
35
+ const retrieved = await repository.findOneOrFail({ id: event.id });
36
+ expect(retrieved.type).toBe(EventType.FAKE);
37
+ expect(retrieved.payload.after.foo).toBe('bar');
38
+ expect(retrieved.payload.after.count).toBe(42);
39
+ await dispatcher.markAsProcessing(retrieved);
40
+ const updated = await repository.findOneOrFail({ id: event.id });
41
+ expect(updated.status).toBe(OutboxStatus.PROCESSING);
42
+ });
43
+ });
44
+ //# sourceMappingURL=event-queue.generics.int.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-queue.generics.int.spec.js","sourceRoot":"","sources":["../../../../src/test/dispatchers/event/event-queue.generics.int.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jobs-outbox.generics.int.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-outbox.generics.int.spec.d.ts","sourceRoot":"","sources":["../../../../src/test/dispatchers/jobs/jobs-outbox.generics.int.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { describe, expect, it, beforeAll, afterAll, beforeEach } from '@jest/globals';
2
+ import { databaseMapper, JobsOutboxModel, JobsOutboxEntity, OutboxStatus, } from '@volontariapp/database';
3
+ import { testDataSource, initializeTestDb, closeTestDb } from '../../data-source.js';
4
+ import { JobsOutboxDispatcher } from '../../../dispatchers/jobs-outbox.dispatcher.js';
5
+ import { TestJobsOutboxRepository } from '../../utils/repositories/jobs-outbox-test.repository.js';
6
+ import { makeLoggerMock } from '../../utils/helpers/logger-mock.helper.js';
7
+ import { JobType } from '../../utils/helpers/jobs-outbox-generics.helper.js';
8
+ describe('JobsOutbox Generics (Integration)', () => {
9
+ let dispatcher;
10
+ let repository;
11
+ const logger = makeLoggerMock();
12
+ beforeAll(async () => {
13
+ await initializeTestDb();
14
+ databaseMapper.registerBidirectional(JobsOutboxModel, JobsOutboxEntity);
15
+ repository = new TestJobsOutboxRepository(testDataSource.getRepository(JobsOutboxModel));
16
+ dispatcher = new JobsOutboxDispatcher(logger, repository);
17
+ });
18
+ afterAll(async () => {
19
+ await closeTestDb();
20
+ });
21
+ beforeEach(async () => {
22
+ await testDataSource.getRepository(JobsOutboxModel).createQueryBuilder().delete().execute();
23
+ });
24
+ it('should persist and retrieve a perfectly typed generic job', async () => {
25
+ const job = new JobsOutboxEntity();
26
+ job.id = '00000000-0000-0000-0000-000000000001';
27
+ job.type = JobType.FAKE;
28
+ job.emitter = 'test';
29
+ job.status = OutboxStatus.PENDING;
30
+ job.payload = { foo: 'bar', count: 42 };
31
+ job.target = 'test';
32
+ job.scheduledAt = new Date();
33
+ await repository.create(job);
34
+ const retrieved = await repository.findOneOrFail({ id: job.id });
35
+ expect(retrieved.type).toBe(JobType.FAKE);
36
+ expect(retrieved.payload.foo).toBe('bar');
37
+ expect(retrieved.payload.count).toBe(42);
38
+ await dispatcher.markAsProcessing(retrieved);
39
+ const updated = await repository.findOneOrFail({ id: job.id });
40
+ expect(updated.status).toBe(OutboxStatus.PROCESSING);
41
+ });
42
+ });
43
+ //# sourceMappingURL=jobs-outbox.generics.int.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-outbox.generics.int.spec.js","sourceRoot":"","sources":["../../../../src/test/dispatchers/jobs/jobs-outbox.generics.int.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type JsonObject } from '@volontariapp/database';
2
+ export declare enum EventType {
3
+ FAKE = "fake.event"
4
+ }
5
+ export interface FakePayload extends JsonObject {
6
+ foo: string;
7
+ count: number;
8
+ }
9
+ //# sourceMappingURL=event-queue-generics.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-queue-generics.helper.d.ts","sourceRoot":"","sources":["../../../../src/test/utils/helpers/event-queue-generics.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,oBAAY,SAAS;IACnB,IAAI,eAAe;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,5 @@
1
+ export var EventType;
2
+ (function (EventType) {
3
+ EventType["FAKE"] = "fake.event";
4
+ })(EventType || (EventType = {}));
5
+ //# sourceMappingURL=event-queue-generics.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-queue-generics.helper.js","sourceRoot":"","sources":["../../../../src/test/utils/helpers/event-queue-generics.helper.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,gCAAmB,CAAA;AACrB,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB"}
@@ -0,0 +1,9 @@
1
+ import { type JsonObject } from '@volontariapp/database';
2
+ export declare enum JobType {
3
+ FAKE = "fake.job"
4
+ }
5
+ export interface FakePayload extends JsonObject {
6
+ foo: string;
7
+ count: number;
8
+ }
9
+ //# sourceMappingURL=jobs-outbox-generics.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-outbox-generics.helper.d.ts","sourceRoot":"","sources":["../../../../src/test/utils/helpers/jobs-outbox-generics.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,oBAAY,OAAO;IACjB,IAAI,aAAa;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,5 @@
1
+ export var JobType;
2
+ (function (JobType) {
3
+ JobType["FAKE"] = "fake.job";
4
+ })(JobType || (JobType = {}));
5
+ //# sourceMappingURL=jobs-outbox-generics.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs-outbox-generics.helper.js","sourceRoot":"","sources":["../../../../src/test/utils/helpers/jobs-outbox-generics.helper.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,4BAAiB,CAAA;AACnB,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB"}
@@ -1,5 +1,5 @@
1
- import { BaseRepository, EventQueueEntity, EventQueueModel, type Repository } from '@volontariapp/database';
2
- export declare class TestEventQueueRepository extends BaseRepository<EventQueueModel, EventQueueEntity, string> {
1
+ import { BaseRepository, EventQueueEntity, EventQueueModel, type EventType, type EventPayload, type Repository } from '@volontariapp/database';
2
+ export declare class TestEventQueueRepository<K extends EventType = EventType, P = EventPayload<K>> extends BaseRepository<EventQueueModel, EventQueueEntity<K, P>, string> {
3
3
  constructor(repository: Repository<EventQueueModel>);
4
4
  }
5
5
  //# sourceMappingURL=event-queue-test.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue-test.repository.d.ts","sourceRoot":"","sources":["../../../../src/test/utils/repositories/event-queue-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,wBAAyB,SAAQ,cAAc,CAC1D,eAAe,EACf,gBAAgB,EAChB,MAAM,CACP;gBACa,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;CAGpD"}
1
+ {"version":3,"file":"event-queue-test.repository.d.ts","sourceRoot":"","sources":["../../../../src/test/utils/repositories/event-queue-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,wBAAwB,CACnC,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CACnB,SAAQ,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;gBAC3D,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;CAGpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue-test.repository.js","sourceRoot":"","sources":["../../../../src/test/utils/repositories/event-queue-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,GAEhB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,wBAAyB,SAAQ,cAI7C;IACC,YAAY,UAAuC;QACjD,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;CACF"}
1
+ {"version":3,"file":"event-queue-test.repository.js","sourceRoot":"","sources":["../../../../src/test/utils/repositories/event-queue-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,wBAGX,SAAQ,cAA+D;IACvE,YAAY,UAAuC;QACjD,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { BaseRepository, JobsOutboxEntity, JobsOutboxModel, type Repository } from '@volontariapp/database';
2
- export declare class TestJobsOutboxRepository extends BaseRepository<JobsOutboxModel, JobsOutboxEntity, string> {
1
+ import { BaseRepository, JobsOutboxEntity, JobsOutboxModel, type JobType, type JobPayload, type Repository } from '@volontariapp/database';
2
+ export declare class TestJobsOutboxRepository<K extends JobType = JobType, P = JobPayload<K>> extends BaseRepository<JobsOutboxModel, JobsOutboxEntity<K, P>, string> {
3
3
  constructor(repository: Repository<JobsOutboxModel>);
4
4
  }
5
5
  //# sourceMappingURL=jobs-outbox-test.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox-test.repository.d.ts","sourceRoot":"","sources":["../../../../src/test/utils/repositories/jobs-outbox-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,wBAAyB,SAAQ,cAAc,CAC1D,eAAe,EACf,gBAAgB,EAChB,MAAM,CACP;gBACa,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;CAGpD"}
1
+ {"version":3,"file":"jobs-outbox-test.repository.d.ts","sourceRoot":"","sources":["../../../../src/test/utils/repositories/jobs-outbox-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,wBAAwB,CACnC,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CACjB,SAAQ,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;gBAC3D,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;CAGpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox-test.repository.js","sourceRoot":"","sources":["../../../../src/test/utils/repositories/jobs-outbox-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,GAEhB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,wBAAyB,SAAQ,cAI7C;IACC,YAAY,UAAuC;QACjD,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;CACF"}
1
+ {"version":3,"file":"jobs-outbox-test.repository.js","sourceRoot":"","sources":["../../../../src/test/utils/repositories/jobs-outbox-test.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,wBAGX,SAAQ,cAA+D;IACvE,YAAY,UAAuC;QACjD,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import type { EventQueueEntity, EventQueueModel } from '@volontariapp/database';
1
+ import type { EventQueueEntity, EventQueueModel, EventType } from '@volontariapp/database';
2
2
  import { OutboxWriter } from '@volontariapp/database';
3
- export declare class EventQueueWriter extends OutboxWriter<EventQueueModel, EventQueueEntity> {
3
+ export declare class EventQueueWriter<K extends EventType = EventType> extends OutboxWriter<EventQueueModel, EventQueueEntity<K>> {
4
4
  }
5
5
  //# sourceMappingURL=event-queue.writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue.writer.d.ts","sourceRoot":"","sources":["../../src/writers/event-queue.writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAAG"}
1
+ {"version":3,"file":"event-queue.writer.d.ts","sourceRoot":"","sources":["../../src/writers/event-queue.writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,YAAY,CACjF,eAAe,EACf,gBAAgB,CAAC,CAAC,CAAC,CACpB;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-queue.writer.js","sourceRoot":"","sources":["../../src/writers/event-queue.writer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,gBAAiB,SAAQ,YAA+C;CAAG"}
1
+ {"version":3,"file":"event-queue.writer.js","sourceRoot":"","sources":["../../src/writers/event-queue.writer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,gBAAkD,SAAQ,YAGtE;CAAG"}
@@ -1,5 +1,5 @@
1
- import type { JobsOutboxEntity, JobsOutboxModel } from '@volontariapp/database';
1
+ import type { JobsOutboxEntity, JobsOutboxModel, JobType } from '@volontariapp/database';
2
2
  import { OutboxWriter } from '@volontariapp/database';
3
- export declare class JobsOutboxWriter extends OutboxWriter<JobsOutboxModel, JobsOutboxEntity> {
3
+ export declare class JobsOutboxWriter<K extends JobType = JobType> extends OutboxWriter<JobsOutboxModel, JobsOutboxEntity<K>> {
4
4
  }
5
5
  //# sourceMappingURL=jobs-outbox.writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox.writer.d.ts","sourceRoot":"","sources":["../../src/writers/jobs-outbox.writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAAG"}
1
+ {"version":3,"file":"jobs-outbox.writer.d.ts","sourceRoot":"","sources":["../../src/writers/jobs-outbox.writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,YAAY,CAC7E,eAAe,EACf,gBAAgB,CAAC,CAAC,CAAC,CACpB;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-outbox.writer.js","sourceRoot":"","sources":["../../src/writers/jobs-outbox.writer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,gBAAiB,SAAQ,YAA+C;CAAG"}
1
+ {"version":3,"file":"jobs-outbox.writer.js","sourceRoot":"","sources":["../../src/writers/jobs-outbox.writer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAO,gBAA8C,SAAQ,YAGlE;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volontariapp/outbox",
3
- "version": "0.3.1-snap-fb27685",
3
+ "version": "0.3.1-snap-6b2bff2",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -37,7 +37,7 @@
37
37
  "db:down": "docker-compose -f ../../docker-compose.test.yml down"
38
38
  },
39
39
  "dependencies": {
40
- "@volontariapp/database": "1.12.0-snap-fb27685",
40
+ "@volontariapp/database": "1.12.0-snap-6b2bff2",
41
41
  "@volontariapp/errors": "0.5.0",
42
42
  "@volontariapp/logger": "0.2.3"
43
43
  },