@hg-ts/repository 0.2.13 → 0.2.15

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 (30) hide show
  1. package/dist/exceptions/aggregate.already-exists.exception.d.ts +10 -0
  2. package/dist/exceptions/aggregate.already-exists.exception.d.ts.map +1 -0
  3. package/dist/exceptions/aggregate.already-exists.exception.js +22 -0
  4. package/dist/exceptions/aggregate.already-exists.exception.js.map +1 -0
  5. package/dist/exceptions/index.d.ts +1 -0
  6. package/dist/exceptions/index.d.ts.map +1 -1
  7. package/dist/exceptions/index.js +1 -0
  8. package/dist/exceptions/index.js.map +1 -1
  9. package/dist/repositories/base.memory.repository.d.ts +2 -1
  10. package/dist/repositories/base.memory.repository.d.ts.map +1 -1
  11. package/dist/repositories/base.memory.repository.js +17 -3
  12. package/dist/repositories/base.memory.repository.js.map +1 -1
  13. package/dist/repositories/base.repository.d.ts +3 -2
  14. package/dist/repositories/base.repository.d.ts.map +1 -1
  15. package/dist/repositories/base.repository.js.map +1 -1
  16. package/dist/repositories/repository.d.ts +2 -1
  17. package/dist/repositories/repository.d.ts.map +1 -1
  18. package/dist/repositories/repository.js.map +1 -1
  19. package/dist/tests/base-repository.test.d.ts.map +1 -1
  20. package/dist/tests/base-repository.test.js +4 -4
  21. package/dist/tests/base-repository.test.js.map +1 -1
  22. package/dist/tests/test.already-exists.exception.d.ts +6 -0
  23. package/dist/tests/test.already-exists.exception.d.ts.map +1 -0
  24. package/dist/tests/test.already-exists.exception.js +11 -0
  25. package/dist/tests/test.already-exists.exception.js.map +1 -0
  26. package/dist/tests/test.memory.repository.d.ts +2 -1
  27. package/dist/tests/test.memory.repository.d.ts.map +1 -1
  28. package/dist/tests/test.memory.repository.js +4 -0
  29. package/dist/tests/test.memory.repository.js.map +1 -1
  30. package/package.json +9 -9
@@ -0,0 +1,10 @@
1
+ import { BaseException } from '@hg-ts/exception';
2
+ export type AggregateAlreadyExistsParams<IdType = unknown> = {
3
+ id?: IdType;
4
+ code?: number;
5
+ };
6
+ export declare abstract class AggregateAlreadyExistsException<IdType = unknown> extends BaseException {
7
+ readonly id?: IdType;
8
+ protected constructor(aggregateName: string, params?: AggregateAlreadyExistsParams<IdType>);
9
+ }
10
+ //# sourceMappingURL=aggregate.already-exists.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.already-exists.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/aggregate.already-exists.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,MAAM,4BAA4B,CAAC,MAAM,GAAG,OAAO,IAAI;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAA;AAED,8BAAsB,+BAA+B,CAAC,MAAM,GAAG,OAAO,CAAE,SAAQ,aAAa;IAC5F,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,aAAa,aAAa,EAAE,MAAM,EAAE,MAAM,GAAE,4BAA4B,CAAC,MAAM,CAAM;CAiB9F"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateAlreadyExistsException = void 0;
4
+ const exception_1 = require("@hg-ts/exception");
5
+ const util_1 = require("util");
6
+ class AggregateAlreadyExistsException extends exception_1.BaseException {
7
+ id;
8
+ constructor(aggregateName, params = {}) {
9
+ const { code, id } = params;
10
+ const messageParts = [aggregateName];
11
+ if (id) {
12
+ messageParts.push(`with id ${(0, util_1.format)(id)}`);
13
+ }
14
+ messageParts.push('already exists');
15
+ super(messageParts.join(' '), { code });
16
+ if (id !== undefined) {
17
+ this.id = id;
18
+ }
19
+ }
20
+ }
21
+ exports.AggregateAlreadyExistsException = AggregateAlreadyExistsException;
22
+ //# sourceMappingURL=aggregate.already-exists.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.already-exists.exception.js","sourceRoot":"","sources":["../../src/exceptions/aggregate.already-exists.exception.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AACjD,+BAA8B;AAO9B,MAAsB,+BAAkD,SAAQ,yBAAa;IAC5E,EAAE,CAAU;IAE5B,YAAsB,aAAqB,EAAE,SAA+C,EAAE;QAC7F,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QAC5B,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;QAErC,IAAI,EAAE,EAAE,CAAC;YACR,YAAY,CAAC,IAAI,CAAC,WAAW,IAAA,aAAM,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAGxC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,CAAC;IACF,CAAC;CACD;AApBD,0EAoBC"}
@@ -1,2 +1,3 @@
1
1
  export * from './aggregate.not-found.exception';
2
+ export * from './aggregate.already-exists.exception';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC"}
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./aggregate.not-found.exception"), exports);
5
+ tslib_1.__exportStar(require("./aggregate.already-exists.exception"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD;AAChD,+EAAqD"}
@@ -4,7 +4,8 @@ import type { AggregateId, BaseFindOptions } from './repository';
4
4
  export declare abstract class BaseMemoryRepository<Aggregate extends BaseAggregate<any>, FindOptions extends BaseFindOptions<Aggregate> = BaseFindOptions<Aggregate>> extends BaseRepository<Aggregate, FindOptions> {
5
5
  protected lastId: Nullable<AggregateId<Aggregate>>;
6
6
  protected readonly entitiesMap: Map<AggregateId<Aggregate>, Aggregate>;
7
- save(aggregate: Aggregate | Aggregate[]): Promise<void>;
7
+ add(aggregate: Aggregate | Aggregate[]): Promise<void>;
8
+ update(aggregate: Aggregate | Aggregate[]): Promise<void>;
8
9
  delete(aggregate: Aggregate | Aggregate[]): Promise<void>;
9
10
  clear(): Promise<void>;
10
11
  protected findEntities(options: FindOptions): Promise<Aggregate[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"base.memory.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACX,WAAW,EACX,eAAe,EACf,MAAM,cAAc,CAAC;AAWtB,8BAAsB,oBAAoB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,EAC3E,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAC9E,SAAQ,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;IAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAQ;IAC1D,SAAS,CAAC,QAAQ,CAAC,WAAW,yCAAgD;IAEjE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAInB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAgBxE"}
1
+ {"version":3,"file":"base.memory.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACX,WAAW,EACX,eAAe,EACf,MAAM,cAAc,CAAC;AAWtB,8BAAsB,oBAAoB,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,EAC3E,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAC9E,SAAQ,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;IAC9C,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAQ;IAC1D,SAAS,CAAC,QAAQ,CAAC,WAAW,yCAAgD;IAEjE,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzD,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAInB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAgBxE"}
@@ -11,12 +11,26 @@ function clone(aggregate) {
11
11
  class BaseMemoryRepository extends base_repository_1.BaseRepository {
12
12
  lastId = null;
13
13
  entitiesMap = new Map();
14
- async save(aggregate) {
14
+ async add(aggregate) {
15
15
  if (Array.isArray(aggregate)) {
16
- await Promise.all(aggregate.map(async (aggregate) => this.save(aggregate)));
16
+ await Promise.all(aggregate.map(async (aggregate) => this.add(aggregate)));
17
17
  }
18
18
  else {
19
- this.entitiesMap.set(aggregate['id'], clone(aggregate));
19
+ if (this.entitiesMap.has(aggregate.id)) {
20
+ throw this.getAlreadyExistsException(aggregate.id);
21
+ }
22
+ this.entitiesMap.set(aggregate.id, clone(aggregate));
23
+ }
24
+ }
25
+ async update(aggregate) {
26
+ if (Array.isArray(aggregate)) {
27
+ await Promise.all(aggregate.map(async (aggregate) => this.update(aggregate)));
28
+ }
29
+ else {
30
+ if (!this.entitiesMap.has(aggregate.id)) {
31
+ throw this.getNotFoundException(aggregate.id);
32
+ }
33
+ this.entitiesMap.set(aggregate.id, clone(aggregate));
20
34
  }
21
35
  }
22
36
  async delete(aggregate) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.memory.repository.js","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":";;;AACA,uDAAmD;AAMnD,SAAS,KAAK,CAAuC,SAAoB;IACxE,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAsB,oBAErB,SAAQ,gCAAsC;IACpC,MAAM,GAAqC,IAAI,CAAC;IACvC,WAAW,GAAG,IAAI,GAAG,EAAqC,CAAC;IAEvE,KAAK,CAAC,IAAI,CAAC,SAAkC;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,SAAkC;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,OAAoB;QAChD,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACD;AA1CD,oDA0CC"}
1
+ {"version":3,"file":"base.memory.repository.js","sourceRoot":"","sources":["../../src/repositories/base.memory.repository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BaseAggregate } from '@hg-ts/domain';
2
- import type { AggregateNotFoundException } from '../exceptions';
3
- import { BaseFindOptions, AggregateId, Repository } from './repository';
2
+ import { AggregateAlreadyExistsException, AggregateNotFoundException } from '../exceptions';
3
+ import { AggregateId, BaseFindOptions, Repository } from './repository';
4
4
  type KeyType = number | string | symbol;
5
5
  export type InternalData = {
6
6
  updatedKeys: Set<KeyType>;
@@ -12,6 +12,7 @@ export declare abstract class BaseRepository<Aggregate extends BaseAggregate<any
12
12
  find(options?: Partial<FindOptions>): Promise<Aggregate[]>;
13
13
  protected abstract findEntities(options?: Partial<FindOptions>): Promise<Aggregate[]>;
14
14
  protected abstract getNotFoundException(id: AggregateId<Aggregate>): AggregateNotFoundException;
15
+ protected abstract getAlreadyExistsException(id: AggregateId<Aggregate>): AggregateAlreadyExistsException;
15
16
  }
16
17
  export {};
17
18
  //# sourceMappingURL=base.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EACN,eAAe,EACf,WAAW,EACX,UAAU,EACV,MAAM,cAAc,CAAC;AAEtB,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;CAC7B,CAAC;AAEF,8BAAsB,cAAc,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,EACrE,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAC9E,SAAQ,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC;IAC7B,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAO7D,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAUzD,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMpE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAErF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,0BAA0B;CAClG"}
1
+ {"version":3,"file":"base.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,WAAW,EACX,eAAe,EACf,UAAU,EACV,MAAM,cAAc,CAAC;AAEtB,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;CAC7B,CAAC;AAEF,8BAAsB,cAAc,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,EACrE,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAC9E,SAAQ,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC;IAC7B,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAO7D,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAUzD,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMpE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAErF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,0BAA0B;IAE/F,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,+BAA+B;CAC5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":";;;AAEA,6CAIsB;AAQtB,MAAsB,cAErB,SAAQ,uBAAkC;IACnC,KAAK,CAAC,GAAG,CAAC,EAA0B;QAE1C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,IAAI,IAAI,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,EAA0B;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,EAA0B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,OAAO,MAAM,KAAK,IAAI,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAA8B;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IACjB,CAAC;CAKD;AAnCD,wCAmCC"}
1
+ {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../src/repositories/base.repository.ts"],"names":[],"mappings":";;;AAKA,6CAIsB;AAQtB,MAAsB,cAErB,SAAQ,uBAAkC;IACnC,KAAK,CAAC,GAAG,CAAC,EAA0B;QAE1C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,IAAI,IAAI,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,EAA0B;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,EAA0B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,OAAO,MAAM,KAAK,IAAI,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAA8B;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IACjB,CAAC;CAOD;AArCD,wCAqCC"}
@@ -8,7 +8,8 @@ export declare abstract class Repository<Aggregate extends BaseAggregate<any>, F
8
8
  abstract get(id: AggregateId<Aggregate>): Promise<Nullable<Aggregate>>;
9
9
  abstract getOrFail(id: AggregateId<Aggregate>): Promise<Aggregate>;
10
10
  abstract find(options?: FindOptions): Promise<Aggregate[]>;
11
- abstract save(entity: Aggregate | Aggregate[]): Promise<void>;
11
+ abstract add(entity: Aggregate | Aggregate[]): Promise<void>;
12
+ abstract update(entity: Aggregate | Aggregate[]): Promise<void>;
12
13
  abstract delete(entity: Aggregate | Aggregate[]): Promise<void>;
13
14
  abstract has(id: AggregateId<Aggregate>): Promise<boolean>;
14
15
  abstract clear(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,WAAW,CAAC,SAAS,IAAI,SAAS,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1F,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI;IACnE,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CACvD,CAAC;AAEF,8BAAsB,UAAU,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,EACpE,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC;aAC3D,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAE5C,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAE7D,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;aAEzD,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;aAEjD,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAEpD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAEtD,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;aAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CACtC"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,WAAW,CAAC,SAAS,IAAI,SAAS,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1F,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI;IACnE,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CACvD,CAAC;AAEF,8BAAsB,UAAU,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC,EACpE,WAAW,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC;aAC3D,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAE5C,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAE7D,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;aAEzD,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;aAEjD,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAEnD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAEtD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAEtD,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;aAEjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":";;;AAQA,MAAsB,UAAU;CAiB/B;AAjBD,gCAiBC"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":";;;AAQA,MAAsB,UAAU;CAmB/B;AAnBD,gCAmBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-repository.test.d.ts","sourceRoot":"","sources":["../../src/tests/base-repository.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,KAAK,EACL,MAAM,cAAc,CAAC;AAOtB,qBACa,uBAAwB,SAAQ,KAAK;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAG5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/C,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjD"}
1
+ {"version":3,"file":"base-repository.test.d.ts","sourceRoot":"","sources":["../../src/tests/base-repository.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,EAEL,MAAM,cAAc,CAAC;AAOtB,qBACa,uBAAwB,SAAQ,KAAK;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAG5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/C,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjD"}
@@ -12,7 +12,7 @@ let BaseRepositoryTestSuite = class BaseRepositoryTestSuite extends tests_1.Suit
12
12
  async saveTest() {
13
13
  const id = (0, uuid_1.v4)();
14
14
  const aggregate = new test_aggregate_1.TestAggregate(id);
15
- await this.repository.save(aggregate);
15
+ await this.repository.add(aggregate);
16
16
  const savedAggregate = await this.repository.getOrFail(id);
17
17
  (0, tests_1.expect)(savedAggregate).toBeInstanceOf(test_aggregate_1.TestAggregate);
18
18
  (0, tests_1.expect)(savedAggregate).not.toBe(aggregate);
@@ -21,7 +21,7 @@ let BaseRepositoryTestSuite = class BaseRepositoryTestSuite extends tests_1.Suit
21
21
  async deleteTest() {
22
22
  const id = (0, uuid_1.v4)();
23
23
  const aggregate = new test_aggregate_1.TestAggregate(id);
24
- await this.repository.save(aggregate);
24
+ await this.repository.add(aggregate);
25
25
  const savedAggregate = await this.repository.getOrFail(id);
26
26
  (0, tests_1.expect)(savedAggregate).toBeInstanceOf(test_aggregate_1.TestAggregate);
27
27
  await this.repository.delete(aggregate);
@@ -33,12 +33,12 @@ let BaseRepositoryTestSuite = class BaseRepositoryTestSuite extends tests_1.Suit
33
33
  const expectedValue = (0, uuid_1.v4)();
34
34
  const aggregate = new test_aggregate_1.TestAggregate(id);
35
35
  aggregate.setSomeField(initialValue);
36
- await this.repository.save(aggregate);
36
+ await this.repository.add(aggregate);
37
37
  const savedAggregate = await this.repository.getOrFail(id);
38
38
  (0, tests_1.expect)(savedAggregate).toBeInstanceOf(test_aggregate_1.TestAggregate);
39
39
  (0, tests_1.expect)(savedAggregate.someField).toBe(initialValue);
40
40
  savedAggregate.setSomeField(expectedValue);
41
- await this.repository.save(savedAggregate);
41
+ await this.repository.update(savedAggregate);
42
42
  const updatedAggregate = await this.repository.getOrFail(id);
43
43
  (0, tests_1.expect)(updatedAggregate).toBeInstanceOf(test_aggregate_1.TestAggregate);
44
44
  (0, tests_1.expect)(updatedAggregate.someField).toBe(expectedValue);
@@ -1 +1 @@
1
- {"version":3,"file":"base-repository.test.js","sourceRoot":"","sources":["../../src/tests/base-repository.test.ts"],"names":[],"mappings":";;;;AAAA,wCAMsB;AACtB,+BAAkC;AAElC,qDAAiD;AACjD,qEAAgE;AAChE,yEAAmE;AAG5D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,aAAK;IAChC,UAAU,GAAG,IAAI,6CAAoB,EAAE,CAAC;IAG5C,AAAN,KAAK,CAAC,QAAQ;QACpB,MAAM,EAAE,GAAG,IAAA,SAAI,GAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,8BAAa,CAAC,EAAE,CAAC,CAAC;QAExC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE3D,IAAA,cAAM,EAAC,cAAc,CAAC,CAAC,cAAc,CAAC,8BAAa,CAAC,CAAC;QACrD,IAAA,cAAM,EAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAA,cAAM,EAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAIY,AAAN,KAAK,CAAC,UAAU;QACtB,MAAM,EAAE,GAAG,IAAA,SAAI,GAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,8BAAa,CAAC,EAAE,CAAC,CAAC;QAExC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE3D,IAAA,cAAM,EAAC,cAAc,CAAC,CAAC,cAAc,CAAC,8BAAa,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAGY,AAAN,KAAK,CAAC,UAAU;QACtB,MAAM,EAAE,GAAG,IAAA,SAAI,GAAE,CAAC;QAClB,MAAM,YAAY,GAAG,IAAA,SAAI,GAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,IAAA,SAAI,GAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,8BAAa,CAAC,EAAE,CAAC,CAAC;QACxC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE3D,IAAA,cAAM,EAAC,cAAc,CAAC,CAAC,cAAc,CAAC,8BAAa,CAAC,CAAC;QACrD,IAAA,cAAM,EAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE7D,IAAA,cAAM,EAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,8BAAa,CAAC,CAAC;QACvD,IAAA,cAAM,EAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAIY,AAAN,KAAK,CAAC,8BAA8B;QAC1C,MAAM,EAAE,GAAG,IAAA,SAAI,GAAE,CAAC;QAElB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAGY,AAAN,KAAK,CAAC,+BAA+B;QAC3C,MAAM,EAAE,GAAG,IAAA,SAAI,GAAE,CAAC;QAElB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEe,KAAK,CAAC,UAAU;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACD,CAAA;AA3EY,0DAAuB;AAItB;IADZ,IAAA,YAAI,GAAE;;;;uDAYN;AAIY;IAFZ,IAAA,YAAI,GAAE;IACN,IAAA,uBAAe,EAAC,gDAAqB,CAAC;;;;yDAatC;AAGY;IADZ,IAAA,YAAI,GAAE;;;;yDAsBN;AAIY;IAFZ,IAAA,YAAI,GAAE;IACN,IAAA,uBAAe,EAAC,gDAAqB,CAAC;;;;6EAKtC;AAGY;IADZ,IAAA,YAAI,GAAE;;;;8EAKN;kCAtEW,uBAAuB;IADnC,IAAA,gBAAQ,GAAE;GACE,uBAAuB,CA2EnC"}
1
+ {"version":3,"file":"base-repository.test.js","sourceRoot":"","sources":["../../src/tests/base-repository.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { AggregateAlreadyExistsException } from '../exceptions';
2
+ import type { TestAggregate } from './test.aggregate';
3
+ export declare class TestAlreadyExistsException extends AggregateAlreadyExistsException {
4
+ constructor(id?: Nullable<TestAggregate['id']>);
5
+ }
6
+ //# sourceMappingURL=test.already-exists.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.already-exists.exception.d.ts","sourceRoot":"","sources":["../../src/tests/test.already-exists.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,0BAA2B,SAAQ,+BAA+B;gBAC3D,EAAE,GAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAQ;CAG3D"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestAlreadyExistsException = void 0;
4
+ const exceptions_1 = require("../exceptions");
5
+ class TestAlreadyExistsException extends exceptions_1.AggregateAlreadyExistsException {
6
+ constructor(id = null) {
7
+ super('Test', { id, code: 0 });
8
+ }
9
+ }
10
+ exports.TestAlreadyExistsException = TestAlreadyExistsException;
11
+ //# sourceMappingURL=test.already-exists.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.already-exists.exception.js","sourceRoot":"","sources":["../../src/tests/test.already-exists.exception.ts"],"names":[],"mappings":";;;AAAA,8CAAgE;AAGhE,MAAa,0BAA2B,SAAQ,4CAA+B;IAC9E,YAAmB,KAAoC,IAAI;QAC1D,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACD;AAJD,gEAIC"}
@@ -1,8 +1,9 @@
1
- import type { AggregateNotFoundException } from '../exceptions';
1
+ import { AggregateAlreadyExistsException, AggregateNotFoundException } from '../exceptions';
2
2
  import { BaseMemoryRepository } from '../repositories';
3
3
  import type { TestAggregate } from './test.aggregate';
4
4
  export declare class TestMemoryRepository extends BaseMemoryRepository<TestAggregate> {
5
5
  getNextId(): Promise<TestAggregate['id']>;
6
6
  protected getNotFoundException(id: TestAggregate['id']): AggregateNotFoundException;
7
+ protected getAlreadyExistsException(id: TestAggregate['id']): AggregateAlreadyExistsException;
7
8
  }
8
9
  //# sourceMappingURL=test.memory.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.memory.repository.d.ts","sourceRoot":"","sources":["../../src/tests/test.memory.repository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,qBAAa,oBAAqB,SAAQ,oBAAoB,CAAC,aAAa,CAAC;IAC/D,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAItD,SAAS,CAAC,oBAAoB,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,0BAA0B;CAGnF"}
1
+ {"version":3,"file":"test.memory.repository.d.ts","sourceRoot":"","sources":["../../src/tests/test.memory.repository.ts"],"names":[],"mappings":"AACA,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,qBAAa,oBAAqB,SAAQ,oBAAoB,CAAC,aAAa,CAAC;IAC/D,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAItD,SAAS,CAAC,oBAAoB,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,0BAA0B;IAInF,SAAS,CAAC,yBAAyB,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,+BAA+B;CAG7F"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TestMemoryRepository = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  const repositories_1 = require("../repositories");
6
+ const test_already_exists_exception_1 = require("./test.already-exists.exception");
6
7
  const test_not_found_exception_1 = require("./test.not-found.exception");
7
8
  class TestMemoryRepository extends repositories_1.BaseMemoryRepository {
8
9
  async getNextId() {
@@ -11,6 +12,9 @@ class TestMemoryRepository extends repositories_1.BaseMemoryRepository {
11
12
  getNotFoundException(id) {
12
13
  return new test_not_found_exception_1.TestNotFoundException(id);
13
14
  }
15
+ getAlreadyExistsException(id) {
16
+ return new test_already_exists_exception_1.TestAlreadyExistsException(id);
17
+ }
14
18
  }
15
19
  exports.TestMemoryRepository = TestMemoryRepository;
16
20
  //# sourceMappingURL=test.memory.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.memory.repository.js","sourceRoot":"","sources":["../../src/tests/test.memory.repository.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAGlC,kDAAuD;AAGvD,yEAAmE;AAEnE,MAAa,oBAAqB,SAAQ,mCAAmC;IACrE,KAAK,CAAC,SAAS;QACrB,OAAO,IAAA,SAAI,GAAE,CAAC;IACf,CAAC;IAES,oBAAoB,CAAC,EAAuB;QACrD,OAAO,IAAI,gDAAqB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;CACD;AARD,oDAQC"}
1
+ {"version":3,"file":"test.memory.repository.js","sourceRoot":"","sources":["../../src/tests/test.memory.repository.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAMlC,kDAAuD;AAGvD,mFAA6E;AAC7E,yEAAmE;AAEnE,MAAa,oBAAqB,SAAQ,mCAAmC;IACrE,KAAK,CAAC,SAAS;QACrB,OAAO,IAAA,SAAI,GAAE,CAAC;IACf,CAAC;IAES,oBAAoB,CAAC,EAAuB;QACrD,OAAO,IAAI,gDAAqB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAES,yBAAyB,CAAC,EAAuB;QAC1D,OAAO,IAAI,0DAA0B,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;CACD;AAZD,oDAYC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hg-ts/repository",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "main": "dist/index.js",
5
5
  "exports": {
6
6
  ".": "./dist/index.js"
@@ -17,12 +17,12 @@
17
17
  "test:dev": "yarn build:dev --onSuccess \"yarn test\""
18
18
  },
19
19
  "devDependencies": {
20
- "@hg-ts-config/typescript": "0.2.13",
21
- "@hg-ts/domain": "0.2.13",
22
- "@hg-ts/exception": "0.2.13",
23
- "@hg-ts/linter": "0.2.13",
24
- "@hg-ts/tests": "0.2.13",
25
- "@hg-ts/types": "0.2.13",
20
+ "@hg-ts-config/typescript": "0.2.15",
21
+ "@hg-ts/domain": "0.2.15",
22
+ "@hg-ts/exception": "0.2.15",
23
+ "@hg-ts/linter": "0.2.15",
24
+ "@hg-ts/tests": "0.2.15",
25
+ "@hg-ts/types": "0.2.15",
26
26
  "@types/node": "22.10.6",
27
27
  "@types/uuid": "10.0.0",
28
28
  "eslint": "9.18.0",
@@ -33,8 +33,8 @@
33
33
  "typescript": "5.7.3"
34
34
  },
35
35
  "peerDependencies": {
36
- "@hg-ts/domain": "0.2.13",
37
- "@hg-ts/exception": "0.2.13",
36
+ "@hg-ts/domain": "0.2.15",
37
+ "@hg-ts/exception": "0.2.15",
38
38
  "reflect-metadata": "*",
39
39
  "tslib": "*"
40
40
  },