@hg-ts/knex 0.5.40 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{event.knex.repository.d.ts → events/event.knex.repository.d.ts} +1 -1
- package/dist/events/event.knex.repository.d.ts.map +1 -0
- package/dist/{event.knex.repository.js → events/event.knex.repository.js} +1 -1
- package/dist/events/event.knex.repository.js.map +1 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +4 -0
- package/dist/events/index.js.map +1 -0
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/migrations/20250920124822_addEventTable.d.ts +3 -1
- package/dist/migrations/20250920124822_addEventTable.d.ts.map +1 -1
- package/dist/migrations/20250920124822_addEventTable.js +17 -1
- package/dist/migrations/20250920124822_addEventTable.js.map +1 -1
- package/dist/{event.migration.d.ts → migrations/20260322073026_addOutboxTable.d.ts} +1 -1
- package/dist/migrations/20260322073026_addOutboxTable.d.ts.map +1 -0
- package/dist/migrations/20260322073026_addOutboxTable.js +16 -0
- package/dist/migrations/20260322073026_addOutboxTable.js.map +1 -0
- package/dist/outbox/index.d.ts +4 -0
- package/dist/outbox/index.d.ts.map +1 -0
- package/dist/outbox/index.js +4 -0
- package/dist/outbox/index.js.map +1 -0
- package/dist/outbox/outbox.event.d.ts +18 -0
- package/dist/outbox/outbox.event.d.ts.map +1 -0
- package/dist/outbox/outbox.event.js +11 -0
- package/dist/outbox/outbox.event.js.map +1 -0
- package/dist/outbox/outbox.repository.d.ts +13 -0
- package/dist/outbox/outbox.repository.d.ts.map +1 -0
- package/dist/outbox/outbox.repository.js +29 -0
- package/dist/outbox/outbox.repository.js.map +1 -0
- package/dist/tests/event.knex.repository.test.js +1 -1
- package/dist/tests/event.knex.repository.test.js.map +1 -1
- package/dist/tests/index.d.ts +1 -0
- package/dist/tests/index.d.ts.map +1 -1
- package/dist/tests/index.js +1 -0
- package/dist/tests/index.js.map +1 -1
- package/dist/{knex.repository.suite.d.ts → tests/knex.repository.suite.d.ts} +2 -2
- package/dist/tests/knex.repository.suite.d.ts.map +1 -0
- package/dist/{knex.repository.suite.js → tests/knex.repository.suite.js} +2 -2
- package/dist/tests/knex.repository.suite.js.map +1 -0
- package/package.json +27 -25
- package/src/{event.knex.repository.ts → events/event.knex.repository.ts} +1 -1
- package/src/events/index.ts +5 -0
- package/src/index.ts +4 -8
- package/src/migrations/20250920124822_addEventTable.ts +25 -1
- package/src/migrations/20260322073026_addOutboxTable.ts +22 -0
- package/src/outbox/index.ts +5 -0
- package/src/outbox/outbox.event.ts +28 -0
- package/src/outbox/outbox.repository.ts +38 -0
- package/src/tests/event.knex.repository.test.ts +1 -1
- package/src/tests/index.ts +1 -0
- package/src/{knex.repository.suite.ts → tests/knex.repository.suite.ts} +3 -3
- package/dist/event.knex.repository.d.ts.map +0 -1
- package/dist/event.knex.repository.js.map +0 -1
- package/dist/event.migration.d.ts.map +0 -1
- package/dist/event.migration.js +0 -19
- package/dist/event.migration.js.map +0 -1
- package/dist/knex.repository.suite.d.ts.map +0 -1
- package/dist/knex.repository.suite.js.map +0 -1
- package/src/event.migration.ts +0 -26
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DomainEvent } from '@hg-ts/domain';
|
|
2
2
|
import { BaseEventRepository, EventFindOptions, NotEmptyList } from '@hg-ts/repository';
|
|
3
|
-
import { KnexService } from '
|
|
3
|
+
import { KnexService } from '../knex.service.js';
|
|
4
4
|
export type EventTable = {
|
|
5
5
|
id: string;
|
|
6
6
|
entityName: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.knex.repository.d.ts","sourceRoot":"","sources":["../../src/events/event.knex.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAErC,UAAU,MAAM;QACf,KAAK,EAAE,UAAU,CAAC;KAClB;CACD;AAED,qBAAa,mBAAoB,SAAQ,mBAAmB;IAE3D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAEf,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;cAM9D,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAY1D,YAAY,CACpC,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,EACvC,KAAK,GAAE,OAAiB,GACtB,OAAO,CAAC,WAAW,EAAE,CAAC;IA2CzB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,WAAW;CAW/E"}
|
|
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { DomainEvent, STORED_PROPERTY, } from '@hg-ts/domain';
|
|
3
3
|
import { BaseEventRepository, } from '@hg-ts/repository';
|
|
4
4
|
import { Inject } from '@nestjs/common';
|
|
5
|
-
import { KnexService } from '
|
|
5
|
+
import { KnexService } from '../knex.service.js';
|
|
6
6
|
export class EventKnexRepository extends BaseEventRepository {
|
|
7
7
|
knex;
|
|
8
8
|
async add(entityOrEntities) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.knex.repository.js","sourceRoot":"","sources":["../../src/events/event.knex.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,+CAA+C,CAAC;AAEhF,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,+CAA+C,CAAC;AAEhF,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import * as eventMigration from './event.migration.js';
|
|
2
1
|
export * from './knex.module.js';
|
|
3
2
|
export * from './knex.service.js';
|
|
4
3
|
export * from './external-config.js';
|
|
5
|
-
export * from './test-containers/index.js';
|
|
6
4
|
export * from './knex.repository.js';
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './knex.repository.suite.js';
|
|
5
|
+
export * from './test-containers/index.js';
|
|
9
6
|
export * from './tests/index.js';
|
|
10
|
-
export
|
|
7
|
+
export * from './outbox/index.js';
|
|
8
|
+
export * from './events/index.js';
|
|
11
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import * as eventMigration from './event.migration.js';
|
|
2
1
|
export * from './knex.module.js';
|
|
3
2
|
export * from './knex.service.js';
|
|
4
3
|
export * from './external-config.js';
|
|
5
|
-
export * from './test-containers/index.js';
|
|
6
4
|
export * from './knex.repository.js';
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './knex.repository.suite.js';
|
|
5
|
+
export * from './test-containers/index.js';
|
|
9
6
|
export * from './tests/index.js';
|
|
10
|
-
export
|
|
7
|
+
export * from './outbox/index.js';
|
|
8
|
+
export * from './events/index.js';
|
|
11
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAErC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20250920124822_addEventTable.d.ts","sourceRoot":"","sources":["../../src/migrations/20250920124822_addEventTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"20250920124822_addEventTable.d.ts","sourceRoot":"","sources":["../../src/migrations/20250920124822_addEventTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
export
|
|
1
|
+
export async function up(knex) {
|
|
2
|
+
await knex.schema.createTable('event', table => {
|
|
3
|
+
table.uuid('id').primary();
|
|
4
|
+
table.string('entityName').notNullable();
|
|
5
|
+
table.string('entityId').notNullable();
|
|
6
|
+
table.string('name').notNullable();
|
|
7
|
+
table.json('body').notNullable();
|
|
8
|
+
table.uuid('traceId').nullable();
|
|
9
|
+
table.timestamp('occurredOn').notNullable();
|
|
10
|
+
table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
|
|
11
|
+
table.index(['entityName', 'entityId'], 'eventEntityIdx', { storageEngineIndexType: 'btree' });
|
|
12
|
+
table.index('occurredOn', 'eventOccurredOnIdx', { storageEngineIndexType: 'btree' });
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export async function down(knex) {
|
|
16
|
+
await knex.schema.dropTable('event');
|
|
17
|
+
}
|
|
2
18
|
//# sourceMappingURL=20250920124822_addEventTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20250920124822_addEventTable.js","sourceRoot":"","sources":["../../src/migrations/20250920124822_addEventTable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"20250920124822_addEventTable.js","sourceRoot":"","sources":["../../src/migrations/20250920124822_addEventTable.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IAClC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAE3B,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAEpE,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/F,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260322073026_addOutboxTable.d.ts","sourceRoot":"","sources":["../../src/migrations/20260322073026_addOutboxTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAelD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export async function up(knex) {
|
|
2
|
+
await knex.schema.createTable('outbox', table => {
|
|
3
|
+
table.uuid('id').primary();
|
|
4
|
+
table.string('entityName').notNullable();
|
|
5
|
+
table.string('entityId').notNullable();
|
|
6
|
+
table.string('name').notNullable();
|
|
7
|
+
table.json('body').notNullable();
|
|
8
|
+
table.uuid('traceId').nullable();
|
|
9
|
+
table.timestamp('occurredOn').notNullable();
|
|
10
|
+
table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export async function down(knex) {
|
|
14
|
+
await knex.schema.dropTable('outbox');
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=20260322073026_addOutboxTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20260322073026_addOutboxTable.js","sourceRoot":"","sources":["../../src/migrations/20260322073026_addOutboxTable.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IAClC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;QAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAE3B,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gDAAgD,CAAC;AAE9E,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gDAAgD,CAAC;AAE9E,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseEvent, EventParams } from '@hg-ts/events';
|
|
2
|
+
export type OutboxEventParams<Body extends JsonType> = EventParams<Body> & {
|
|
3
|
+
entityName: string;
|
|
4
|
+
entityId: string;
|
|
5
|
+
};
|
|
6
|
+
type JsonType = JsonPrimitive | JsonArray | JsonObject;
|
|
7
|
+
type JsonPrimitive = string | number | boolean | null;
|
|
8
|
+
type JsonArray = JsonType[];
|
|
9
|
+
type JsonObject = {
|
|
10
|
+
[key: string]: JsonType;
|
|
11
|
+
};
|
|
12
|
+
export declare class OutboxEvent<Body extends JsonType = JsonType> extends BaseEvent<Body> {
|
|
13
|
+
readonly entityName: string;
|
|
14
|
+
readonly entityId: string;
|
|
15
|
+
constructor(params: OutboxEventParams<Body>);
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=outbox.event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.event.d.ts","sourceRoot":"","sources":["../../src/outbox/outbox.event.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,WAAW,EACX,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AACvD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACtD,KAAK,SAAS,GAAG,QAAQ,EAAE,CAAC;AAC5B,KAAK,UAAU,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CACxB,CAAC;AAEF,qBAAa,WAAW,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,SAAS,CAAC,IAAI,CAAC;IACjF,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC;CAMlD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseEvent, } from '@hg-ts/events';
|
|
2
|
+
export class OutboxEvent extends BaseEvent {
|
|
3
|
+
entityName;
|
|
4
|
+
entityId;
|
|
5
|
+
constructor(params) {
|
|
6
|
+
super(params);
|
|
7
|
+
this.entityName = params.entityName;
|
|
8
|
+
this.entityId = params.entityId;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=outbox.event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.event.js","sourceRoot":"","sources":["../../src/outbox/outbox.event.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,GAET,MAAM,eAAe,CAAC;AAcvB,MAAM,OAAO,WAA8C,SAAQ,SAAe;IACjE,UAAU,CAAS;IACnB,QAAQ,CAAS;IAEjC,YAAmB,MAA+B;QACjD,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,CAAC;CACD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventTable } from '../events/event.knex.repository.js';
|
|
2
|
+
import { KnexService } from '../knex.service.js';
|
|
3
|
+
import { OutboxEvent } from './outbox.event.js';
|
|
4
|
+
declare module 'knex/types/tables.js' {
|
|
5
|
+
interface Tables {
|
|
6
|
+
outbox: EventTable;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export declare class OutboxRepository {
|
|
10
|
+
protected readonly knex: KnexService;
|
|
11
|
+
add(events: OutboxEvent[]): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=outbox.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.repository.d.ts","sourceRoot":"","sources":["../../src/outbox/outbox.repository.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,QAAQ,sBAAsB,CAAC;IAErC,UAAU,MAAM;QACf,MAAM,EAAE,UAAU,CAAC;KACnB;CACD;AAED,qBAAa,gBAAgB;IAE5B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAExB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBtD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Inject } from '@nestjs/common';
|
|
3
|
+
import { v7 as uuid } from 'uuid';
|
|
4
|
+
import { KnexService } from '../knex.service.js';
|
|
5
|
+
export class OutboxRepository {
|
|
6
|
+
knex;
|
|
7
|
+
async add(events) {
|
|
8
|
+
if (events.length === 0) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const trx = await this.knex.getMasterTrx();
|
|
12
|
+
events.map((event) => ({
|
|
13
|
+
id: uuid(),
|
|
14
|
+
entityName: event.entityName,
|
|
15
|
+
entityId: event.entityId,
|
|
16
|
+
occurredOn: event.occurredOn,
|
|
17
|
+
createdAt: new Date(),
|
|
18
|
+
name: event.name,
|
|
19
|
+
traceId: event.traceId,
|
|
20
|
+
body: event.body,
|
|
21
|
+
}));
|
|
22
|
+
await trx('outbox').insert(events);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
__decorate([
|
|
26
|
+
Inject(),
|
|
27
|
+
__metadata("design:type", KnexService)
|
|
28
|
+
], OutboxRepository.prototype, "knex", void 0);
|
|
29
|
+
//# sourceMappingURL=outbox.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.repository.js","sourceRoot":"","sources":["../../src/outbox/outbox.repository.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,MAAM,OAAO,gBAAgB;IAET,IAAI,CAAc;IAE9B,KAAK,CAAC,GAAG,CAAC,MAAqB;QACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE3C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAc,EAAE,CAAC,CAAC;YAClC,EAAE,EAAE,IAAI,EAAE;YACV,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAC,CAAC,CAAC;QAEJ,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACD;AArBmB;IADlB,MAAM,EAAE;8BACgB,WAAW;8CAAC"}
|
|
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { STORED_PROPERTY, } from '@hg-ts/domain';
|
|
3
3
|
import { Describe, expect, Suite, Test, } from '@hg-ts/tests';
|
|
4
4
|
import { Test as TestFactory, } from '@nestjs/testing';
|
|
5
|
-
import { EventKnexRepository } from '../
|
|
5
|
+
import { EventKnexRepository } from '../events/index.js';
|
|
6
6
|
import { KnexService } from '../knex.service.js';
|
|
7
7
|
import { RepositoryTestingModule } from './repository.testing.module.js';
|
|
8
8
|
import { TestEvent } from './test.event.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.knex.repository.test.js","sourceRoot":"","sources":["../../src/tests/event.knex.repository.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAEN,eAAe,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,IAAI,GACJ,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,IAAI,IAAI,WAAW,GAEnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"event.knex.repository.test.js","sourceRoot":"","sources":["../../src/tests/event.knex.repository.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC"}
|
package/dist/tests/index.js
CHANGED
package/dist/tests/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC"}
|
|
@@ -2,8 +2,8 @@ import { BaseAggregate } from '@hg-ts/domain';
|
|
|
2
2
|
import { Suite } from '@hg-ts/tests';
|
|
3
3
|
import { Provider } from '@nestjs/common';
|
|
4
4
|
import { TestingModule } from '@nestjs/testing';
|
|
5
|
-
import { KnexRepository } from '
|
|
6
|
-
import { KnexService } from '
|
|
5
|
+
import { KnexRepository } from '../knex.repository.js';
|
|
6
|
+
import { KnexService } from '../knex.service.js';
|
|
7
7
|
export declare abstract class KnexRepositorySuite<Aggregate extends BaseAggregate<any>> extends Suite {
|
|
8
8
|
knexService: KnexService;
|
|
9
9
|
protected module: TestingModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knex.repository.suite.d.ts","sourceRoot":"","sources":["../../src/tests/knex.repository.suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAGN,KAAK,EAEL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEN,aAAa,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,8BAAsB,mBAAmB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,CAAE,SAAQ,KAAK;IACrF,WAAW,EAAE,WAAW,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,OAAO,CAAC,eAAe,CAA6C;IAEpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAGzD,SAAS,aAAa,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAMjE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,CAAC,sBAAsB,IAAI,QAAQ,EAAE;IAI9C,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,SAAS;IAC/C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAC5C"}
|
|
@@ -2,8 +2,8 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { AggregateAlreadyExistsException, AggregateNotFoundException, } from '@hg-ts/repository';
|
|
3
3
|
import { expect, ExpectException, Suite, Test, } from '@hg-ts/tests';
|
|
4
4
|
import { Test as TestFactory, } from '@nestjs/testing';
|
|
5
|
-
import { KnexService } from '
|
|
6
|
-
import { RepositoryTestingModule } from './
|
|
5
|
+
import { KnexService } from '../knex.service.js';
|
|
6
|
+
import { RepositoryTestingModule } from './index.js';
|
|
7
7
|
const IGNORE_ERROR_SYMBOL = Symbol('Transaction rolled back');
|
|
8
8
|
export class KnexRepositorySuite extends Suite {
|
|
9
9
|
knexService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knex.repository.suite.js","sourceRoot":"","sources":["../../src/tests/knex.repository.suite.ts"],"names":[],"mappings":";AACA,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,MAAM,EACN,eAAe,EACf,KAAK,EACL,IAAI,GACJ,MAAM,cAAc,CAAC;AAEtB,OAAO,EACN,IAAI,IAAI,WAAW,GAEnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,mBAAmB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAE9D,MAAM,OAAgB,mBAA0D,SAAQ,KAAK;IACrF,WAAW,CAAc;IACtB,MAAM,CAAgB;IACxB,eAAe,GAAwC,IAAI,CAAC;IAEnD,eAAe,CAA0C;IAI1E,YAAsB,eAAwD;QAC7E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEzD,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACJ,CAAC;IAGY,AAAN,KAAK,CAAC,UAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACJ,CAAC;IAGY,AAAN,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC;IAGY,AAAN,KAAK,CAAC,aAAa;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACJ,CAAC;IAGY,AAAN,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACJ,CAAC;IAGY,AAAN,KAAK,CAAC,QAAQ;IACrB,CAAC;IAIY,AAAN,KAAK,CAAC,YAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACJ,CAAC;IAIY,AAAN,KAAK,CAAC,sBAAsB;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACJ,CAAC;IAIY,AAAN,KAAK,CAAC,yBAAyB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,KAAK;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC;YACnD,OAAO,EAAE,CAAC,uBAAuB,CAAC;YAClC,SAAS,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACnE,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAEe,KAAK,CAAC,UAAU;QAC/B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC7E,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBACnC,OAAO;YACR,CAAC;YAED,MAAM,KAAK,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,SAAS;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAEe,KAAK,CAAC,QAAQ;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAES,sBAAsB;QAC/B,OAAO,EAAE,CAAC;IACX,CAAC;CAID;AAvHa;IADZ,IAAI,EAAE;;;;oDAUN;AAGY;IADZ,IAAI,EAAE;;;;qDAON;AAGY;IADZ,IAAI,EAAE;;;;wDAKN;AAGY;IADZ,IAAI,EAAE;;;;wDAWN;AAGY;IADZ,IAAI,EAAE;;;;2DAKN;AAGY;IADZ,IAAI,EAAE;;;;mDAEN;AAIY;IAFZ,IAAI,EAAE;IACN,eAAe,CAAC,+BAA+B,CAAC;;;;uDAQhD;AAIY;IAFZ,IAAI,EAAE;IACN,eAAe,CAAC,0BAA0B,CAAC;;;;iEAM3C;AAIY;IAFZ,IAAI,EAAE;IACN,eAAe,CAAC,0BAA0B,CAAC;;;;oEAO3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hg-ts/knex",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -19,19 +19,19 @@
|
|
|
19
19
|
"test:dev": "vitest watch"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@hg-ts-config/typescript": "0.
|
|
23
|
-
"@hg-ts/async-context": "0.
|
|
24
|
-
"@hg-ts/config-loader": "0.
|
|
25
|
-
"@hg-ts/domain": "0.
|
|
26
|
-
"@hg-ts/events": "0.
|
|
27
|
-
"@hg-ts/exception": "0.
|
|
28
|
-
"@hg-ts/execution-mode": "0.
|
|
29
|
-
"@hg-ts/linter": "0.
|
|
30
|
-
"@hg-ts/logger": "0.
|
|
31
|
-
"@hg-ts/repository": "0.
|
|
32
|
-
"@hg-ts/tests": "0.
|
|
33
|
-
"@hg-ts/types": "0.
|
|
34
|
-
"@hg-ts/validation": "0.
|
|
22
|
+
"@hg-ts-config/typescript": "0.7.2",
|
|
23
|
+
"@hg-ts/async-context": "0.7.2",
|
|
24
|
+
"@hg-ts/config-loader": "0.7.2",
|
|
25
|
+
"@hg-ts/domain": "0.7.2",
|
|
26
|
+
"@hg-ts/events": "0.7.2",
|
|
27
|
+
"@hg-ts/exception": "0.7.2",
|
|
28
|
+
"@hg-ts/execution-mode": "0.7.2",
|
|
29
|
+
"@hg-ts/linter": "0.7.2",
|
|
30
|
+
"@hg-ts/logger": "0.7.2",
|
|
31
|
+
"@hg-ts/repository": "0.7.2",
|
|
32
|
+
"@hg-ts/tests": "0.7.2",
|
|
33
|
+
"@hg-ts/types": "0.7.2",
|
|
34
|
+
"@hg-ts/validation": "0.7.2",
|
|
35
35
|
"@nestjs/common": "11.1.0",
|
|
36
36
|
"@nestjs/core": "11.1.0",
|
|
37
37
|
"@nestjs/testing": "11.1.0",
|
|
@@ -45,26 +45,28 @@
|
|
|
45
45
|
"tsc-watch": "6.3.0",
|
|
46
46
|
"tslib": "2.8.1",
|
|
47
47
|
"typescript": "5.7.3",
|
|
48
|
+
"uuid": "11.1.0",
|
|
48
49
|
"vitest": "4.0.14"
|
|
49
50
|
},
|
|
50
51
|
"peerDependencies": {
|
|
51
|
-
"@hg-ts/async-context": "0.
|
|
52
|
-
"@hg-ts/config-loader": "0.
|
|
53
|
-
"@hg-ts/domain": "0.
|
|
54
|
-
"@hg-ts/events": "0.
|
|
55
|
-
"@hg-ts/exception": "0.
|
|
56
|
-
"@hg-ts/execution-mode": "0.
|
|
57
|
-
"@hg-ts/logger": "0.
|
|
58
|
-
"@hg-ts/repository": "0.
|
|
59
|
-
"@hg-ts/tests": "0.
|
|
60
|
-
"@hg-ts/validation": "0.
|
|
52
|
+
"@hg-ts/async-context": "0.7.2",
|
|
53
|
+
"@hg-ts/config-loader": "0.7.2",
|
|
54
|
+
"@hg-ts/domain": "0.7.2",
|
|
55
|
+
"@hg-ts/events": "0.7.2",
|
|
56
|
+
"@hg-ts/exception": "0.7.2",
|
|
57
|
+
"@hg-ts/execution-mode": "0.7.2",
|
|
58
|
+
"@hg-ts/logger": "0.7.2",
|
|
59
|
+
"@hg-ts/repository": "0.7.2",
|
|
60
|
+
"@hg-ts/tests": "0.7.2",
|
|
61
|
+
"@hg-ts/validation": "0.7.2",
|
|
61
62
|
"@nestjs/common": "*",
|
|
62
63
|
"@nestjs/core": "*",
|
|
63
64
|
"@nestjs/testing": "*",
|
|
64
65
|
"knex": ">=3.1.0",
|
|
65
66
|
"reflect-metadata": "*",
|
|
66
67
|
"rxjs": "*",
|
|
67
|
-
"tslib": "*"
|
|
68
|
+
"tslib": "*",
|
|
69
|
+
"uuid": "*"
|
|
68
70
|
},
|
|
69
71
|
"dependencies": {
|
|
70
72
|
"@testcontainers/postgresql": "11.5.0",
|
package/src/index.ts
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import * as eventMigration from './event.migration.js';
|
|
2
|
-
|
|
3
1
|
export * from './knex.module.js';
|
|
4
2
|
export * from './knex.service.js';
|
|
5
3
|
export * from './external-config.js';
|
|
6
|
-
export * from './test-containers/index.js';
|
|
7
|
-
|
|
8
4
|
export * from './knex.repository.js';
|
|
9
|
-
export * from './event.knex.repository.js';
|
|
10
|
-
export * from './knex.repository.suite.js';
|
|
11
|
-
export * from './tests/index.js';
|
|
12
5
|
|
|
13
|
-
export
|
|
6
|
+
export * from './test-containers/index.js';
|
|
7
|
+
export * from './tests/index.js';
|
|
8
|
+
export * from './outbox/index.js';
|
|
9
|
+
export * from './events/index.js';
|
|
@@ -1 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
import { Knex } from 'knex';
|
|
2
|
+
|
|
3
|
+
export async function up(knex: Knex): Promise<void> {
|
|
4
|
+
await knex.schema.createTable('event', table => {
|
|
5
|
+
table.uuid('id').primary();
|
|
6
|
+
|
|
7
|
+
table.string('entityName').notNullable();
|
|
8
|
+
table.string('entityId').notNullable();
|
|
9
|
+
|
|
10
|
+
table.string('name').notNullable();
|
|
11
|
+
table.json('body').notNullable();
|
|
12
|
+
|
|
13
|
+
table.uuid('traceId').nullable();
|
|
14
|
+
|
|
15
|
+
table.timestamp('occurredOn').notNullable();
|
|
16
|
+
table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
|
|
17
|
+
|
|
18
|
+
table.index(['entityName', 'entityId'], 'eventEntityIdx', { storageEngineIndexType: 'btree' });
|
|
19
|
+
table.index('occurredOn', 'eventOccurredOnIdx', { storageEngineIndexType: 'btree' });
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export async function down(knex: Knex): Promise<void> {
|
|
24
|
+
await knex.schema.dropTable('event');
|
|
25
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Knex } from 'knex';
|
|
2
|
+
|
|
3
|
+
export async function up(knex: Knex): Promise<void> {
|
|
4
|
+
await knex.schema.createTable('outbox', table => {
|
|
5
|
+
table.uuid('id').primary();
|
|
6
|
+
|
|
7
|
+
table.string('entityName').notNullable();
|
|
8
|
+
table.string('entityId').notNullable();
|
|
9
|
+
|
|
10
|
+
table.string('name').notNullable();
|
|
11
|
+
table.json('body').notNullable();
|
|
12
|
+
|
|
13
|
+
table.uuid('traceId').nullable();
|
|
14
|
+
|
|
15
|
+
table.timestamp('occurredOn').notNullable();
|
|
16
|
+
table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export async function down(knex: Knex): Promise<void> {
|
|
21
|
+
await knex.schema.dropTable('outbox');
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseEvent,
|
|
3
|
+
EventParams,
|
|
4
|
+
} from '@hg-ts/events';
|
|
5
|
+
|
|
6
|
+
export type OutboxEventParams<Body extends JsonType> = EventParams<Body> & {
|
|
7
|
+
entityName: string;
|
|
8
|
+
entityId: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
type JsonType = JsonPrimitive | JsonArray | JsonObject;
|
|
12
|
+
type JsonPrimitive = string | number | boolean | null;
|
|
13
|
+
type JsonArray = JsonType[];
|
|
14
|
+
type JsonObject = {
|
|
15
|
+
[key: string]: JsonType;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export class OutboxEvent<Body extends JsonType = JsonType> extends BaseEvent<Body> {
|
|
19
|
+
public readonly entityName: string;
|
|
20
|
+
public readonly entityId: string;
|
|
21
|
+
|
|
22
|
+
public constructor(params: OutboxEventParams<Body>) {
|
|
23
|
+
super(params);
|
|
24
|
+
|
|
25
|
+
this.entityName = params.entityName;
|
|
26
|
+
this.entityId = params.entityId;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Inject } from '@nestjs/common';
|
|
2
|
+
import { v7 as uuid } from 'uuid';
|
|
3
|
+
|
|
4
|
+
import { EventTable } from '../events/event.knex.repository.js';
|
|
5
|
+
import { KnexService } from '../knex.service.js';
|
|
6
|
+
import { OutboxEvent } from './outbox.event.js';
|
|
7
|
+
|
|
8
|
+
declare module 'knex/types/tables.js' {
|
|
9
|
+
// eslint-disable-next-line @typescript/consistent-type-definitions
|
|
10
|
+
interface Tables {
|
|
11
|
+
outbox: EventTable;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class OutboxRepository {
|
|
16
|
+
@Inject()
|
|
17
|
+
protected readonly knex: KnexService;
|
|
18
|
+
|
|
19
|
+
public async add(events: OutboxEvent[]): Promise<void> {
|
|
20
|
+
if (events.length === 0) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const trx = await this.knex.getMasterTrx();
|
|
24
|
+
|
|
25
|
+
events.map((event): EventTable => ({
|
|
26
|
+
id: uuid(),
|
|
27
|
+
entityName: event.entityName,
|
|
28
|
+
entityId: event.entityId,
|
|
29
|
+
occurredOn: event.occurredOn,
|
|
30
|
+
createdAt: new Date(),
|
|
31
|
+
name: event.name,
|
|
32
|
+
traceId: event.traceId,
|
|
33
|
+
body: event.body,
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
await trx('outbox').insert(events);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TestingModule,
|
|
14
14
|
} from '@nestjs/testing';
|
|
15
15
|
|
|
16
|
-
import { EventKnexRepository } from '../
|
|
16
|
+
import { EventKnexRepository } from '../events/index.js';
|
|
17
17
|
import { KnexService } from '../knex.service.js';
|
|
18
18
|
import { RepositoryTestingModule } from './repository.testing.module.js';
|
|
19
19
|
import { TestEvent } from './test.event.js';
|
package/src/tests/index.ts
CHANGED
|
@@ -14,9 +14,9 @@ import {
|
|
|
14
14
|
Test as TestFactory,
|
|
15
15
|
TestingModule,
|
|
16
16
|
} from '@nestjs/testing';
|
|
17
|
-
import { KnexRepository } from '
|
|
18
|
-
import { KnexService } from '
|
|
19
|
-
import { RepositoryTestingModule } from './
|
|
17
|
+
import { KnexRepository } from '../knex.repository.js';
|
|
18
|
+
import { KnexService } from '../knex.service.js';
|
|
19
|
+
import { RepositoryTestingModule } from './index.js';
|
|
20
20
|
|
|
21
21
|
const IGNORE_ERROR_SYMBOL = Symbol('Transaction rolled back');
|
|
22
22
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.knex.repository.d.ts","sourceRoot":"","sources":["../src/event.knex.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAErC,UAAU,MAAM;QACf,KAAK,EAAE,UAAU,CAAC;KAClB;CACD;AAED,qBAAa,mBAAoB,SAAQ,mBAAmB;IAE3D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAEf,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;cAM9D,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAY1D,YAAY,CACpC,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,EACvC,KAAK,GAAE,OAAiB,GACtB,OAAO,CAAC,WAAW,EAAE,CAAC;IA2CzB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,WAAW;CAW/E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.knex.repository.js","sourceRoot":"","sources":["../src/event.knex.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.migration.d.ts","sourceRoot":"","sources":["../src/event.migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoB5B,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;AACD,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
package/dist/event.migration.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function createEventTable(table, knex) {
|
|
2
|
-
table.uuid('id').primary();
|
|
3
|
-
table.string('entityName').notNullable();
|
|
4
|
-
table.string('entityId').notNullable();
|
|
5
|
-
table.string('name').notNullable();
|
|
6
|
-
table.json('body').notNullable();
|
|
7
|
-
table.uuid('traceId').nullable();
|
|
8
|
-
table.timestamp('occurredOn').notNullable();
|
|
9
|
-
table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
|
|
10
|
-
table.index(['entityName', 'entityId'], 'eventEntityIdx', { storageEngineIndexType: 'btree' });
|
|
11
|
-
table.index('occurredOn', 'eventOccurredOnIdx', { storageEngineIndexType: 'btree' });
|
|
12
|
-
}
|
|
13
|
-
export async function up(knex) {
|
|
14
|
-
await knex.schema.createTable('event', table => createEventTable(table, knex));
|
|
15
|
-
}
|
|
16
|
-
export async function down(knex) {
|
|
17
|
-
await knex.schema.dropTable('event');
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=event.migration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.migration.js","sourceRoot":"","sources":["../src/event.migration.ts"],"names":[],"mappings":"AAEA,SAAS,gBAAgB,CAAC,KAA8B,EAAE,IAAU;IACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAE3B,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEjC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAEpE,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/F,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IAClC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAChF,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knex.repository.suite.d.ts","sourceRoot":"","sources":["../src/knex.repository.suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAGN,KAAK,EAEL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEN,aAAa,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,8BAAsB,mBAAmB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,CAAE,SAAQ,KAAK;IACrF,WAAW,EAAE,WAAW,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,OAAO,CAAC,eAAe,CAA6C;IAEpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAGzD,SAAS,aAAa,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAMjE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,CAAC,sBAAsB,IAAI,QAAQ,EAAE;IAI9C,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,SAAS;IAC/C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAC5C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knex.repository.suite.js","sourceRoot":"","sources":["../src/knex.repository.suite.ts"],"names":[],"mappings":"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"}
|
package/src/event.migration.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Knex } from 'knex';
|
|
2
|
-
|
|
3
|
-
function createEventTable(table: Knex.CreateTableBuilder, knex: Knex): void {
|
|
4
|
-
table.uuid('id').primary();
|
|
5
|
-
|
|
6
|
-
table.string('entityName').notNullable();
|
|
7
|
-
table.string('entityId').notNullable();
|
|
8
|
-
|
|
9
|
-
table.string('name').notNullable();
|
|
10
|
-
table.json('body').notNullable();
|
|
11
|
-
|
|
12
|
-
table.uuid('traceId').nullable();
|
|
13
|
-
|
|
14
|
-
table.timestamp('occurredOn').notNullable();
|
|
15
|
-
table.timestamp('createdAt').notNullable().defaultTo(knex.fn.now());
|
|
16
|
-
|
|
17
|
-
table.index(['entityName', 'entityId'], 'eventEntityIdx', { storageEngineIndexType: 'btree' });
|
|
18
|
-
table.index('occurredOn', 'eventOccurredOnIdx', { storageEngineIndexType: 'btree' });
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export async function up(knex: Knex): Promise<void> {
|
|
22
|
-
await knex.schema.createTable('event', table => createEventTable(table, knex));
|
|
23
|
-
}
|
|
24
|
-
export async function down(knex: Knex): Promise<void> {
|
|
25
|
-
await knex.schema.dropTable('event');
|
|
26
|
-
}
|