@hg-ts/knex 0.5.5 → 0.5.7

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 (37) hide show
  1. package/config/base/knex.json +14 -0
  2. package/dist/event.knex.repository.d.ts +1 -0
  3. package/dist/event.knex.repository.d.ts.map +1 -1
  4. package/dist/event.knex.repository.js +6 -6
  5. package/dist/event.knex.repository.js.map +1 -1
  6. package/dist/index.d.ts +2 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/{knex.repository.spec.d.ts → knex.repository.suite.d.ts} +4 -3
  11. package/dist/knex.repository.suite.d.ts.map +1 -0
  12. package/dist/{knex.repository.spec.js → knex.repository.suite.js} +19 -29
  13. package/dist/knex.repository.suite.js.map +1 -0
  14. package/dist/migrations/20250920124822_addEventTable.d.ts +2 -0
  15. package/dist/migrations/20250920124822_addEventTable.d.ts.map +1 -0
  16. package/dist/migrations/20250920124822_addEventTable.js +2 -0
  17. package/dist/migrations/20250920124822_addEventTable.js.map +1 -0
  18. package/dist/tests/event.knex.repository.test.d.ts +12 -0
  19. package/dist/tests/event.knex.repository.test.d.ts.map +1 -0
  20. package/dist/tests/event.knex.repository.test.js +81 -0
  21. package/dist/tests/event.knex.repository.test.js.map +1 -0
  22. package/dist/tests/index.d.ts +2 -0
  23. package/dist/tests/index.d.ts.map +1 -0
  24. package/dist/tests/index.js +2 -0
  25. package/dist/tests/index.js.map +1 -0
  26. package/dist/tests/repository.testing.module.d.ts +3 -0
  27. package/dist/tests/repository.testing.module.d.ts.map +1 -0
  28. package/dist/tests/repository.testing.module.js +22 -0
  29. package/dist/tests/repository.testing.module.js.map +1 -0
  30. package/dist/tests/test.event.d.ts +5 -0
  31. package/dist/tests/test.event.d.ts.map +1 -0
  32. package/dist/tests/test.event.js +11 -0
  33. package/dist/tests/test.event.js.map +1 -0
  34. package/package.json +30 -26
  35. package/vitest.config.mjs +3 -0
  36. package/dist/knex.repository.spec.d.ts.map +0 -1
  37. package/dist/knex.repository.spec.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ {
2
+ "port": 60022,
3
+ "host": "localhost",
4
+ "user": "user",
5
+ "database": "user",
6
+ "password": "user",
7
+ "migrations": {
8
+ "path": "dist/migrations",
9
+ "allowTypescript": false
10
+ },
11
+ "seeds": {
12
+ "path": "src/seeds"
13
+ }
14
+ }
@@ -18,6 +18,7 @@ declare module 'knex/types/tables.js' {
18
18
  }
19
19
  export declare class EventKnexRepository extends BaseEventRepository {
20
20
  protected readonly knex: KnexService;
21
+ add(entityOrEntities: DomainEvent[] | DomainEvent): Promise<void>;
21
22
  protected rawAdd(entities: NotEmptyList<DomainEvent>): Promise<void>;
22
23
  protected findEntities(options?: Partial<EventFindOptions>, table?: 'event'): Promise<DomainEvent[]>;
23
24
  protected createEvent(name: string, row: Omit<EventTable, 'name'>): DomainEvent;
@@ -1 +1 @@
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;cAEZ,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAc1D,YAAY,CACpC,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,EACvC,KAAK,GAAE,OAAiB,GACtB,OAAO,CAAC,WAAW,EAAE,CAAC;IA+CzB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,WAAW;CAU/E"}
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"}
@@ -5,11 +5,13 @@ import { Inject } from '@nestjs/common';
5
5
  import { KnexService } from './knex.service.js';
6
6
  export class EventKnexRepository extends BaseEventRepository {
7
7
  knex;
8
+ async add(entityOrEntities) {
9
+ const entities = Array.isArray(entityOrEntities) ? entityOrEntities : [entityOrEntities];
10
+ return super.add(entities.filter(entity => !entity[STORED_PROPERTY]));
11
+ }
8
12
  async rawAdd(entities) {
9
13
  const trx = await this.knex.getMasterTrx();
10
- const dtos = entities
11
- .filter(entity => !entity[STORED_PROPERTY])
12
- .map(entity => entity.toDto());
14
+ const dtos = entities.map(entity => entity.toDto());
13
15
  await trx('event').insert(dtos);
14
16
  entities.forEach(entity => {
15
17
  entity[STORED_PROPERTY] = true;
@@ -38,9 +40,6 @@ export class EventKnexRepository extends BaseEventRepository {
38
40
  if (entityName) {
39
41
  qb.where('entityName', entityName);
40
42
  }
41
- if (entityName) {
42
- qb.where('entityName', entityName);
43
- }
44
43
  if (limit) {
45
44
  qb.limit(limit);
46
45
  }
@@ -54,6 +53,7 @@ export class EventKnexRepository extends BaseEventRepository {
54
53
  }
55
54
  createEvent(name, row) {
56
55
  return new DomainEvent({
56
+ id: row.id,
57
57
  body: row.body,
58
58
  entityName: row.entityName,
59
59
  entityId: row.entityId,
@@ -1 +1 @@
1
- {"version":3,"file":"event.knex.repository.js","sourceRoot":"","sources":["../src/event.knex.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.knex.repository.js","sourceRoot":"","sources":["../src/event.knex.repository.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './external-config.js';
5
5
  export * from './test-containers/index.js';
6
6
  export * from './knex.repository.js';
7
7
  export * from './event.knex.repository.js';
8
- export * from './knex.repository.spec.js';
8
+ export * from './knex.repository.suite.js';
9
+ export * from './tests/index.js';
9
10
  export { eventMigration };
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ export * from './external-config.js';
5
5
  export * from './test-containers/index.js';
6
6
  export * from './knex.repository.js';
7
7
  export * from './event.knex.repository.js';
8
- export * from './knex.repository.spec.js';
8
+ export * from './knex.repository.suite.js';
9
+ export * from './tests/index.js';
9
10
  export { eventMigration };
10
11
  //# 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,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { BaseAggregate } from '@hg-ts/domain';
2
2
  import { AggregateId } from '@hg-ts/repository';
3
3
  import { Suite } from '@hg-ts/tests';
4
+ import { Provider } from '@nestjs/common';
4
5
  import { KnexRepository } from './knex.repository.js';
5
6
  import { KnexService } from './knex.service.js';
6
- export declare abstract class KnexRepositorySpec<Aggregate extends BaseAggregate<any>> extends Suite {
7
+ export declare abstract class KnexRepositorySuite<Aggregate extends BaseAggregate<any>> extends Suite {
7
8
  knexService: KnexService;
8
9
  private module;
9
10
  private resolveFunction;
@@ -24,8 +25,8 @@ export declare abstract class KnexRepositorySpec<Aggregate extends BaseAggregate
24
25
  beforeEach(): Promise<void>;
25
26
  afterEach(): Promise<void>;
26
27
  tearDown(): Promise<void>;
27
- protected abstract getRepositoryClass(): Class<KnexRepository<Aggregate>, any[]>;
28
+ protected getAdditionalProviders(): Provider[];
28
29
  protected abstract createAggregate(): Aggregate;
29
30
  protected abstract checkId(id: AggregateId<Aggregate>): void;
30
31
  }
31
- //# sourceMappingURL=knex.repository.spec.d.ts.map
32
+ //# sourceMappingURL=knex.repository.suite.d.ts.map
@@ -0,0 +1 @@
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;AAE9C,OAAO,EAEN,WAAW,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEN,KAAK,EAEL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,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,OAAO,CAAC,MAAM,CAAgB;IAC9B,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;IAO1B,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;IAU1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,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,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI;CAC5D"}
@@ -1,16 +1,12 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { FileConfigLoader } from '@hg-ts/config-loader';
3
2
  import { WillNeverHappenedException } from '@hg-ts/exception';
4
- import { ExecutionModeModule, HgExecutionMode, } from '@hg-ts/execution-mode';
5
- import { LoggerModule } from '@hg-ts/logger';
6
3
  import { AggregateAlreadyExistsException, AggregateNotFoundException, } from '@hg-ts/repository';
7
4
  import { ExpectException, Suite, Test, } from '@hg-ts/tests';
8
5
  import { Test as TestFactory, } from '@nestjs/testing';
9
- import { KnexModule } from './knex.module.js';
10
6
  import { KnexService } from './knex.service.js';
11
- import { PostgresTestcontainerModule } from './test-containers/index.js';
7
+ import { RepositoryTestingModule } from './tests/index.js';
12
8
  const IGNORE_ERROR_SYMBOL = Symbol('Transaction rolled back');
13
- export class KnexRepositorySpec extends Suite {
9
+ export class KnexRepositorySuite extends Suite {
14
10
  knexService;
15
11
  module;
16
12
  resolveFunction = null;
@@ -74,20 +70,11 @@ export class KnexRepositorySpec extends Suite {
74
70
  }
75
71
  async setUp() {
76
72
  this.module = await TestFactory.createTestingModule({
77
- imports: [
78
- ExecutionModeModule,
79
- LoggerModule,
80
- PostgresTestcontainerModule,
81
- KnexModule.forRoot(new FileConfigLoader({
82
- overrideEnv: new HgExecutionMode(),
83
- envBuilder: true,
84
- configDir: 'config',
85
- })),
86
- ],
87
- providers: [this.repositoryClass],
73
+ imports: [RepositoryTestingModule],
74
+ providers: [this.repositoryClass, ...this.getAdditionalProviders()],
88
75
  }).compile();
89
76
  await this.module.init();
90
- this.repository = this.module.get(this.getRepositoryClass());
77
+ this.repository = this.module.get(this.repositoryClass);
91
78
  this.knexService = this.module.get(KnexService);
92
79
  }
93
80
  async beforeEach() {
@@ -106,69 +93,72 @@ export class KnexRepositorySpec extends Suite {
106
93
  async tearDown() {
107
94
  await this.module.close();
108
95
  }
96
+ getAdditionalProviders() {
97
+ return [];
98
+ }
109
99
  }
110
100
  __decorate([
111
101
  Test(),
112
102
  __metadata("design:type", Function),
113
103
  __metadata("design:paramtypes", []),
114
104
  __metadata("design:returntype", Promise)
115
- ], KnexRepositorySpec.prototype, "getNextId", null);
105
+ ], KnexRepositorySuite.prototype, "getNextId", null);
116
106
  __decorate([
117
107
  Test(),
118
108
  __metadata("design:type", Function),
119
109
  __metadata("design:paramtypes", []),
120
110
  __metadata("design:returntype", Promise)
121
- ], KnexRepositorySpec.prototype, "addSuccess", null);
111
+ ], KnexRepositorySuite.prototype, "addSuccess", null);
122
112
  __decorate([
123
113
  Test(),
124
114
  __metadata("design:type", Function),
125
115
  __metadata("design:paramtypes", []),
126
116
  __metadata("design:returntype", Promise)
127
- ], KnexRepositorySpec.prototype, "addEmptyArray", null);
117
+ ], KnexRepositorySuite.prototype, "addEmptyArray", null);
128
118
  __decorate([
129
119
  Test(),
130
120
  __metadata("design:type", Function),
131
121
  __metadata("design:paramtypes", []),
132
122
  __metadata("design:returntype", Promise)
133
- ], KnexRepositorySpec.prototype, "updateSuccess", null);
123
+ ], KnexRepositorySuite.prototype, "updateSuccess", null);
134
124
  __decorate([
135
125
  Test(),
136
126
  __metadata("design:type", Function),
137
127
  __metadata("design:paramtypes", []),
138
128
  __metadata("design:returntype", Promise)
139
- ], KnexRepositorySpec.prototype, "updateEmptyArray", null);
129
+ ], KnexRepositorySuite.prototype, "updateEmptyArray", null);
140
130
  __decorate([
141
131
  Test(),
142
132
  __metadata("design:type", Function),
143
133
  __metadata("design:paramtypes", []),
144
134
  __metadata("design:returntype", Promise)
145
- ], KnexRepositorySpec.prototype, "idSearch", null);
135
+ ], KnexRepositorySuite.prototype, "idSearch", null);
146
136
  __decorate([
147
137
  Test(),
148
138
  ExpectException(AggregateAlreadyExistsException),
149
139
  __metadata("design:type", Function),
150
140
  __metadata("design:paramtypes", []),
151
141
  __metadata("design:returntype", Promise)
152
- ], KnexRepositorySpec.prototype, "addDuplicate", null);
142
+ ], KnexRepositorySuite.prototype, "addDuplicate", null);
153
143
  __decorate([
154
144
  Test(),
155
145
  ExpectException(AggregateNotFoundException),
156
146
  __metadata("design:type", Function),
157
147
  __metadata("design:paramtypes", []),
158
148
  __metadata("design:returntype", Promise)
159
- ], KnexRepositorySpec.prototype, "notFoundExceptionOnGet", null);
149
+ ], KnexRepositorySuite.prototype, "notFoundExceptionOnGet", null);
160
150
  __decorate([
161
151
  Test(),
162
152
  ExpectException(AggregateNotFoundException),
163
153
  __metadata("design:type", Function),
164
154
  __metadata("design:paramtypes", []),
165
155
  __metadata("design:returntype", Promise)
166
- ], KnexRepositorySpec.prototype, "notFoundExceptionOnUpdate", null);
156
+ ], KnexRepositorySuite.prototype, "notFoundExceptionOnUpdate", null);
167
157
  __decorate([
168
158
  Test(),
169
159
  ExpectException(WillNeverHappenedException),
170
160
  __metadata("design:type", Function),
171
161
  __metadata("design:paramtypes", []),
172
162
  __metadata("design:returntype", Promise)
173
- ], KnexRepositorySpec.prototype, "clearError", null);
174
- //# sourceMappingURL=knex.repository.spec.js.map
163
+ ], KnexRepositorySuite.prototype, "clearError", null);
164
+ //# sourceMappingURL=knex.repository.suite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knex.repository.suite.js","sourceRoot":"","sources":["../src/knex.repository.suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { up, down } from '../event.migration.js';
2
+ //# sourceMappingURL=20250920124822_addEventTable.d.ts.map
@@ -0,0 +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,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { up, down } from '../event.migration.js';
2
+ //# sourceMappingURL=20250920124822_addEventTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20250920124822_addEventTable.js","sourceRoot":"","sources":["../../src/migrations/20250920124822_addEventTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Suite } from '@hg-ts/tests';
2
+ export declare class EventKnexRepositoryTest extends Suite {
3
+ private repository;
4
+ private module;
5
+ private knexService;
6
+ addEvents(): Promise<void>;
7
+ addEventsTwice(): Promise<void>;
8
+ getEvents(): Promise<void>;
9
+ setUp(): Promise<void>;
10
+ tearDown(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=event.knex.repository.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.knex.repository.test.d.ts","sourceRoot":"","sources":["../../src/tests/event.knex.repository.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAGN,KAAK,EAEL,MAAM,cAAc,CAAC;AAWtB,qBACa,uBAAwB,SAAQ,KAAK;IACjD,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAc;IAGpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB1B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB/B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/C"}
@@ -0,0 +1,81 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { STORED_PROPERTY, } from '@hg-ts/domain';
3
+ import { Describe, expect, Suite, Test, } from '@hg-ts/tests';
4
+ import { Test as TestFactory, } from '@nestjs/testing';
5
+ import { EventKnexRepository } from '../event.knex.repository.js';
6
+ import { KnexService } from '../knex.service.js';
7
+ import { RepositoryTestingModule } from './repository.testing.module.js';
8
+ import { TestEvent } from './test.event.js';
9
+ let EventKnexRepositoryTest = class EventKnexRepositoryTest extends Suite {
10
+ repository;
11
+ module;
12
+ knexService;
13
+ async addEvents() {
14
+ const events = [];
15
+ events.push(new TestEvent());
16
+ events.push(new TestEvent());
17
+ await this.knexService.runInTransaction(async () => {
18
+ await this.repository.add(events);
19
+ });
20
+ events.forEach(event => {
21
+ expect(event[STORED_PROPERTY]).toBe(true);
22
+ });
23
+ }
24
+ async addEventsTwice() {
25
+ const events = [];
26
+ events.push(new TestEvent());
27
+ events.push(new TestEvent());
28
+ await this.knexService.runInTransaction(async () => {
29
+ await this.repository.add(events);
30
+ });
31
+ await this.knexService.runInTransaction(async () => {
32
+ await this.repository.add(events);
33
+ });
34
+ }
35
+ async getEvents() {
36
+ const events = [];
37
+ events.push(new TestEvent());
38
+ events.push(new TestEvent());
39
+ await this.knexService.runInTransaction(async () => {
40
+ await this.repository.add(events);
41
+ });
42
+ const foundEvents = await this.knexService.runInTransaction(async () => this.repository.find({ entityId: events[0].entityId }));
43
+ expect(foundEvents).toHaveLength(1);
44
+ expect(foundEvents[0]).toMatchObject(events[0]);
45
+ }
46
+ async setUp() {
47
+ this.module = await TestFactory.createTestingModule({
48
+ imports: [RepositoryTestingModule],
49
+ providers: [EventKnexRepository],
50
+ }).compile();
51
+ await this.module.init();
52
+ this.repository = this.module.get(EventKnexRepository);
53
+ this.knexService = this.module.get(KnexService);
54
+ }
55
+ async tearDown() {
56
+ await this.module.close();
57
+ }
58
+ };
59
+ __decorate([
60
+ Test(),
61
+ __metadata("design:type", Function),
62
+ __metadata("design:paramtypes", []),
63
+ __metadata("design:returntype", Promise)
64
+ ], EventKnexRepositoryTest.prototype, "addEvents", null);
65
+ __decorate([
66
+ Test(),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", []),
69
+ __metadata("design:returntype", Promise)
70
+ ], EventKnexRepositoryTest.prototype, "addEventsTwice", null);
71
+ __decorate([
72
+ Test(),
73
+ __metadata("design:type", Function),
74
+ __metadata("design:paramtypes", []),
75
+ __metadata("design:returntype", Promise)
76
+ ], EventKnexRepositoryTest.prototype, "getEvents", null);
77
+ EventKnexRepositoryTest = __decorate([
78
+ Describe()
79
+ ], EventKnexRepositoryTest);
80
+ export { EventKnexRepositoryTest };
81
+ //# sourceMappingURL=event.knex.repository.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.knex.repository.test.js","sourceRoot":"","sources":["../../src/tests/event.knex.repository.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './repository.testing.module.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './repository.testing.module.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare class RepositoryTestingModule {
2
+ }
3
+ //# sourceMappingURL=repository.testing.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.testing.module.d.ts","sourceRoot":"","sources":["../../src/tests/repository.testing.module.ts"],"names":[],"mappings":"AAOA,qBASa,uBAAuB;CAAG"}
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { ConfigModule } from '@hg-ts/config-loader';
3
+ import { ExecutionModeModule } from '@hg-ts/execution-mode';
4
+ import { LoggerModule } from '@hg-ts/logger';
5
+ import { Module } from '@nestjs/common';
6
+ import { KnexModule } from '../knex.module.js';
7
+ import { PostgresTestcontainerModule } from '../test-containers/index.js';
8
+ let RepositoryTestingModule = class RepositoryTestingModule {
9
+ };
10
+ RepositoryTestingModule = __decorate([
11
+ Module({
12
+ imports: [
13
+ ExecutionModeModule,
14
+ LoggerModule,
15
+ ConfigModule,
16
+ PostgresTestcontainerModule,
17
+ KnexModule,
18
+ ],
19
+ })
20
+ ], RepositoryTestingModule);
21
+ export { RepositoryTestingModule };
22
+ //# sourceMappingURL=repository.testing.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.testing.module.js","sourceRoot":"","sources":["../../src/tests/repository.testing.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAWnE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IATnC,MAAM,CAAC;QACP,OAAO,EAAE;YACR,mBAAmB;YACnB,YAAY;YACZ,YAAY;YACZ,2BAA2B;YAC3B,UAAU;SACV;KACD,CAAC;GACW,uBAAuB,CAAG"}
@@ -0,0 +1,5 @@
1
+ import { DomainEvent } from '@hg-ts/domain';
2
+ export declare class TestEvent extends DomainEvent<{}> {
3
+ constructor();
4
+ }
5
+ //# sourceMappingURL=test.event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.event.d.ts","sourceRoot":"","sources":["../../src/tests/test.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,SAAU,SAAQ,WAAW,CAAC,EAAE,CAAC;;CAQ7C"}
@@ -0,0 +1,11 @@
1
+ import { DomainEvent } from '@hg-ts/domain';
2
+ export class TestEvent extends DomainEvent {
3
+ constructor() {
4
+ super({
5
+ body: {},
6
+ entityId: crypto.randomUUID(),
7
+ entityName: 'Test',
8
+ });
9
+ }
10
+ }
11
+ //# sourceMappingURL=test.event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.event.js","sourceRoot":"","sources":["../../src/tests/test.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,OAAO,SAAU,SAAQ,WAAe;IAC7C;QACC,KAAK,CAAC;YACL,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,MAAM;SAClB,CAAC,CAAC;IACJ,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hg-ts/knex",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -13,46 +13,50 @@
13
13
  "build": "tsc",
14
14
  "build:dev": "tsc-watch",
15
15
  "lint:ts": "lint-ts",
16
- "lint:ts:fix": "lint-ts --fix"
16
+ "lint:ts:fix": "lint-ts --fix",
17
+ "test": "HG_ENV=test vitest run",
18
+ "test:dev": "HG_ENV=test vitest watch"
17
19
  },
18
20
  "devDependencies": {
19
- "@hg-ts-config/typescript": "0.5.5",
20
- "@hg-ts/async-context": "0.5.5",
21
- "@hg-ts/config-loader": "0.5.5",
22
- "@hg-ts/domain": "0.5.5",
23
- "@hg-ts/events": "0.5.5",
24
- "@hg-ts/exception": "0.5.5",
25
- "@hg-ts/execution-mode": "0.5.5",
26
- "@hg-ts/linter": "0.5.5",
27
- "@hg-ts/logger": "0.5.5",
28
- "@hg-ts/repository": "0.5.5",
29
- "@hg-ts/tests": "0.5.5",
30
- "@hg-ts/types": "0.5.5",
31
- "@hg-ts/validation": "0.5.5",
21
+ "@hg-ts-config/typescript": "0.5.7",
22
+ "@hg-ts/async-context": "0.5.7",
23
+ "@hg-ts/config-loader": "0.5.7",
24
+ "@hg-ts/domain": "0.5.7",
25
+ "@hg-ts/events": "0.5.7",
26
+ "@hg-ts/exception": "0.5.7",
27
+ "@hg-ts/execution-mode": "0.5.7",
28
+ "@hg-ts/linter": "0.5.7",
29
+ "@hg-ts/logger": "0.5.7",
30
+ "@hg-ts/repository": "0.5.7",
31
+ "@hg-ts/tests": "0.5.7",
32
+ "@hg-ts/types": "0.5.7",
33
+ "@hg-ts/validation": "0.5.7",
32
34
  "@nestjs/common": "11.1.0",
33
35
  "@nestjs/core": "11.1.0",
34
36
  "@nestjs/testing": "11.1.0",
35
37
  "@types/node": "22.19.1",
36
38
  "@types/pg": "^8",
39
+ "@vitest/coverage-v8": "4.0.14",
37
40
  "eslint": "9.18.0",
38
41
  "knex": "3.1.0",
39
42
  "reflect-metadata": "0.2.2",
40
43
  "rxjs": "7.8.1",
41
44
  "tsc-watch": "6.3.0",
42
45
  "tslib": "2.8.1",
43
- "typescript": "5.7.3"
46
+ "typescript": "5.7.3",
47
+ "vitest": "4.0.14"
44
48
  },
45
49
  "peerDependencies": {
46
- "@hg-ts/async-context": "0.5.5",
47
- "@hg-ts/config-loader": "0.5.5",
48
- "@hg-ts/domain": "0.5.5",
49
- "@hg-ts/events": "0.5.5",
50
- "@hg-ts/exception": "0.5.5",
51
- "@hg-ts/execution-mode": "0.5.5",
52
- "@hg-ts/logger": "0.5.5",
53
- "@hg-ts/repository": "0.5.5",
54
- "@hg-ts/tests": "0.5.5",
55
- "@hg-ts/validation": "0.5.5",
50
+ "@hg-ts/async-context": "0.5.7",
51
+ "@hg-ts/config-loader": "0.5.7",
52
+ "@hg-ts/domain": "0.5.7",
53
+ "@hg-ts/events": "0.5.7",
54
+ "@hg-ts/exception": "0.5.7",
55
+ "@hg-ts/execution-mode": "0.5.7",
56
+ "@hg-ts/logger": "0.5.7",
57
+ "@hg-ts/repository": "0.5.7",
58
+ "@hg-ts/tests": "0.5.7",
59
+ "@hg-ts/validation": "0.5.7",
56
60
  "@nestjs/common": "*",
57
61
  "@nestjs/core": "*",
58
62
  "@nestjs/testing": "*",
@@ -0,0 +1,3 @@
1
+ import config from '@hg-ts/tests/config';
2
+
3
+ export default config;
@@ -1 +0,0 @@
1
- {"version":3,"file":"knex.repository.spec.d.ts","sourceRoot":"","sources":["../src/knex.repository.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,OAAO,EAEN,WAAW,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEN,KAAK,EAEL,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,8BAAsB,kBAAkB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,CAAE,SAAQ,KAAK;IACpF,WAAW,EAAE,WAAW,CAAC;IAChC,OAAO,CAAC,MAAM,CAAgB;IAC9B,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;IAO1B,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;IAU1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAChF,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,SAAS;IAC/C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI;CAC5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"knex.repository.spec.js","sourceRoot":"","sources":["../src/knex.repository.spec.ts"],"names":[],"mappings":"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"}