@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.
- package/dist/consumers/event-queue.consumer.d.ts +3 -3
- package/dist/consumers/event-queue.consumer.d.ts.map +1 -1
- package/dist/consumers/event-queue.consumer.js.map +1 -1
- package/dist/consumers/jobs-outbox.consumer.d.ts +3 -3
- package/dist/consumers/jobs-outbox.consumer.d.ts.map +1 -1
- package/dist/consumers/jobs-outbox.consumer.js.map +1 -1
- package/dist/dispatchers/event-queue.dispatcher.d.ts +2 -2
- package/dist/dispatchers/event-queue.dispatcher.d.ts.map +1 -1
- package/dist/dispatchers/event-queue.dispatcher.js.map +1 -1
- package/dist/dispatchers/jobs-outbox.dispatcher.d.ts +2 -2
- package/dist/dispatchers/jobs-outbox.dispatcher.d.ts.map +1 -1
- package/dist/dispatchers/jobs-outbox.dispatcher.js.map +1 -1
- package/dist/test/dispatchers/event/event-queue.generics.int.spec.d.ts +2 -0
- package/dist/test/dispatchers/event/event-queue.generics.int.spec.d.ts.map +1 -0
- package/dist/test/dispatchers/event/event-queue.generics.int.spec.js +44 -0
- package/dist/test/dispatchers/event/event-queue.generics.int.spec.js.map +1 -0
- package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.d.ts +2 -0
- package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.d.ts.map +1 -0
- package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.js +43 -0
- package/dist/test/dispatchers/jobs/jobs-outbox.generics.int.spec.js.map +1 -0
- package/dist/test/utils/helpers/event-queue-generics.helper.d.ts +9 -0
- package/dist/test/utils/helpers/event-queue-generics.helper.d.ts.map +1 -0
- package/dist/test/utils/helpers/event-queue-generics.helper.js +5 -0
- package/dist/test/utils/helpers/event-queue-generics.helper.js.map +1 -0
- package/dist/test/utils/helpers/jobs-outbox-generics.helper.d.ts +9 -0
- package/dist/test/utils/helpers/jobs-outbox-generics.helper.d.ts.map +1 -0
- package/dist/test/utils/helpers/jobs-outbox-generics.helper.js +5 -0
- package/dist/test/utils/helpers/jobs-outbox-generics.helper.js.map +1 -0
- package/dist/test/utils/repositories/event-queue-test.repository.d.ts +2 -2
- package/dist/test/utils/repositories/event-queue-test.repository.d.ts.map +1 -1
- package/dist/test/utils/repositories/event-queue-test.repository.js.map +1 -1
- package/dist/test/utils/repositories/jobs-outbox-test.repository.d.ts +2 -2
- package/dist/test/utils/repositories/jobs-outbox-test.repository.d.ts.map +1 -1
- package/dist/test/utils/repositories/jobs-outbox-test.repository.js.map +1 -1
- package/dist/writers/event-queue.writer.d.ts +2 -2
- package/dist/writers/event-queue.writer.d.ts.map +1 -1
- package/dist/writers/event-queue.writer.js.map +1 -1
- package/dist/writers/jobs-outbox.writer.d.ts +2 -2
- package/dist/writers/jobs-outbox.writer.d.ts.map +1 -1
- package/dist/writers/jobs-outbox.writer.js.map +1 -1
- 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
|
|
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,
|
|
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":"
|
|
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
|
|
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;
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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,
|
|
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;
|
|
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,
|
|
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-
|
|
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-
|
|
40
|
+
"@volontariapp/database": "1.12.0-snap-6b2bff2",
|
|
41
41
|
"@volontariapp/errors": "0.5.0",
|
|
42
42
|
"@volontariapp/logger": "0.2.3"
|
|
43
43
|
},
|