@nx-ddd/firestore 16.2.0 → 16.3.1

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 (71) hide show
  1. package/README.md +76 -6
  2. package/adapters/admin/admin.adapter.d.ts +16 -12
  3. package/adapters/admin/admin.adapter.js +25 -23
  4. package/adapters/admin/admin.adapter.js.map +1 -1
  5. package/adapters/admin/index.js +1 -4
  6. package/adapters/admin/index.js.map +1 -1
  7. package/adapters/base/base.adapter.d.ts +8 -4
  8. package/adapters/base/base.adapter.js +80 -51
  9. package/adapters/base/base.adapter.js.map +1 -1
  10. package/adapters/base/index.js +1 -4
  11. package/adapters/base/index.js.map +1 -1
  12. package/adapters/firebase/firebase.adapter.d.ts +2 -2
  13. package/adapters/firebase/firebase.adapter.js +43 -41
  14. package/adapters/firebase/firebase.adapter.js.map +1 -1
  15. package/adapters/firebase/index.js +1 -4
  16. package/adapters/firebase/index.js.map +1 -1
  17. package/adapters/index.d.ts +0 -2
  18. package/adapters/index.js +1 -6
  19. package/adapters/index.js.map +1 -1
  20. package/converter/converter.d.ts +18 -12
  21. package/converter/converter.js +14 -28
  22. package/converter/converter.js.map +1 -1
  23. package/converter/index.js +1 -4
  24. package/converter/index.js.map +1 -1
  25. package/dao/firestore.dao.js +1 -5
  26. package/dao/firestore.dao.js.map +1 -1
  27. package/dao/index.js +1 -4
  28. package/dao/index.js.map +1 -1
  29. package/decorators/decorators.d.ts +4 -4
  30. package/decorators/decorators.js +26 -33
  31. package/decorators/decorators.js.map +1 -1
  32. package/decorators/index.js +1 -4
  33. package/decorators/index.js.map +1 -1
  34. package/index.d.ts +1 -0
  35. package/index.js +7 -9
  36. package/index.js.map +1 -1
  37. package/interfaces/index.js +1 -4
  38. package/interfaces/index.js.map +1 -1
  39. package/interfaces/interfaces.js +1 -2
  40. package/interfaces/interfaces.js.map +1 -1
  41. package/package.json +11 -5
  42. package/path-builder/index.js +1 -4
  43. package/path-builder/index.js.map +1 -1
  44. package/path-builder/path-builder.js +7 -14
  45. package/path-builder/path-builder.js.map +1 -1
  46. package/query/firestore.query.d.ts +8 -3
  47. package/query/firestore.query.js +37 -17
  48. package/query/firestore.query.js.map +1 -1
  49. package/query/index.js +1 -4
  50. package/query/index.js.map +1 -1
  51. package/repository/index.d.ts +0 -1
  52. package/repository/index.js +1 -5
  53. package/repository/index.js.map +1 -1
  54. package/repository/repository.d.ts +12 -14
  55. package/repository/repository.js +26 -24
  56. package/repository/repository.js.map +1 -1
  57. package/testing/common.d.ts +1 -0
  58. package/testing/common.js +15 -15
  59. package/testing/common.js.map +1 -1
  60. package/testing/index.d.ts +0 -2
  61. package/testing/index.js +1 -6
  62. package/testing/index.js.map +1 -1
  63. package/repository/decorator.d.ts +0 -8
  64. package/repository/decorator.js +0 -41
  65. package/repository/decorator.js.map +0 -1
  66. package/testing/domain.d.ts +0 -12
  67. package/testing/domain.js +0 -22
  68. package/testing/domain.js.map +0 -1
  69. package/testing/repository.d.ts +0 -6
  70. package/testing/repository.js +0 -24
  71. package/testing/repository.js.map +0 -1
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolvePaths = exports.parsePath = exports.pathBuilderFactory = exports.FirestorePathBuilder = void 0;
4
- class FirestorePathBuilder {
1
+ export class FirestorePathBuilder {
5
2
  doc(param) {
6
- return (0, exports.resolvePaths)(param, this.paths);
3
+ return resolvePaths(param, this.paths);
7
4
  }
8
5
  collection(param = {}) {
9
- return (0, exports.resolvePaths)(param, this.paths.slice(0, -1));
6
+ return resolvePaths(param, this.paths.slice(0, -1));
10
7
  }
11
8
  collectionGroup() {
12
9
  return this.paths[this.paths.length - 2];
@@ -15,23 +12,19 @@ class FirestorePathBuilder {
15
12
  this.paths = paths;
16
13
  }
17
14
  }
18
- exports.FirestorePathBuilder = FirestorePathBuilder;
19
- const pathBuilderFactory = (path) => {
20
- const paths = (0, exports.parsePath)(path);
15
+ export const pathBuilderFactory = (path) => {
16
+ const paths = parsePath(path);
21
17
  return new FirestorePathBuilder(paths);
22
18
  };
23
- exports.pathBuilderFactory = pathBuilderFactory;
24
- const parsePath = (path) => {
19
+ export const parsePath = (path) => {
25
20
  const paths = path.split('/').filter(p => p.length);
26
21
  if (!paths[paths.length - 1].startsWith(':'))
27
22
  paths.push(':id');
28
23
  return paths;
29
24
  };
30
- exports.parsePath = parsePath;
31
- const resolvePaths = (obj, paths) => {
25
+ export const resolvePaths = (obj, paths) => {
32
26
  return paths.map((path) => path.startsWith(':') ? resolvePath(obj, path.slice(1)) : path).join('/');
33
27
  };
34
- exports.resolvePaths = resolvePaths;
35
28
  const resolvePath = (obj, key) => {
36
29
  if (!(obj === null || obj === void 0 ? void 0 : obj[key]))
37
30
  throw new Error(`Invalid key is detected in resolving paths, key: \`${key}\`, obj: \`${JSON.stringify(obj)}\``);
@@ -1 +1 @@
1
- {"version":3,"file":"path-builder.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/path-builder/path-builder.ts"],"names":[],"mappings":";;;AAGA,MAAa,oBAAoB;IAC/B,GAAG,CAAC,KAA0B;QAC5B,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,QAAoC,EAAE;QAC/C,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,YAAoB,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;IAAI,CAAC;CACzC;AAdD,oDAcC;AAEM,MAAM,kBAAkB,GAAG,CAChC,IAAY,EACa,EAAE;IAC3B,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEK,MAAM,SAAS,GAAG,CAAC,IAAY,EAAY,EAAE;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AAJY,QAAA,SAAS,aAIrB;AAEM,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAe,EAAU,EAAE;IACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtG,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IAC/C,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,CAAC,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjI,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,CAAC,CAAC;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"path-builder.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/path-builder/path-builder.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAC/B,GAAG,CAAC,KAA0B;QAC5B,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,QAAoC,EAAE;QAC/C,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,YAAoB,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;IAAI,CAAC;CACzC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAY,EACa,EAAE;IAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAY,EAAE;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAe,EAAU,EAAE;IACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtG,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IAC/C,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,CAAC,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjI,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,CAAC,CAAC;AACpB,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import dayjs from 'dayjs';
2
2
  import { Observable, ReplaySubject } from 'rxjs';
3
3
  import { FirestoreAdapter } from '../adapters/base';
4
- import { FirestoreConverter } from '../converter';
4
+ import { IFirestoreConverter } from '../converter';
5
5
  import { FirestoreDAO } from '../dao';
6
6
  import { FirestorePathBuilder } from '../path-builder';
7
7
  import { FirestoreCollection, FirestoreCollectionGroup, ToFirestoreData } from '../interfaces';
@@ -9,14 +9,19 @@ type FirestoreCollectionType<D> = FirestoreCollection<D> | FirestoreCollectionGr
9
9
  export declare class FirestoreQuery<Entity extends {
10
10
  id: string;
11
11
  } = any, FirestoreData = ToFirestoreData<Entity, dayjs.Dayjs>> extends FirestoreDAO<Entity, FirestoreData> {
12
- protected converter: FirestoreConverter<Entity>;
12
+ protected converter: IFirestoreConverter<Entity>;
13
13
  protected pathBuilder: FirestorePathBuilder<Entity>;
14
- constructor(adapter: FirestoreAdapter, converter: FirestoreConverter<Entity>, pathBuilder: FirestorePathBuilder<Entity>);
14
+ constructor(adapter: FirestoreAdapter, converter: IFirestoreConverter<Entity>, pathBuilder: FirestorePathBuilder<Entity>);
15
15
  protected readonly collection$: ReplaySubject<FirestoreCollectionType<FirestoreData>>;
16
16
  protected readonly list$: Observable<Entity[]>;
17
+ /** @deprecated */
17
18
  listChanges(paramMap?: Partial<Entity>, options?: {
18
19
  switch?: boolean;
19
20
  }): Observable<Entity[]>;
21
+ listChangesV2(paramMap?: Partial<Entity>): Observable<Entity[]>;
22
+ listChangesAfter(updatedAt: dayjs.Dayjs, { limit }?: {
23
+ limit?: number;
24
+ }): Observable<Entity[]>;
20
25
  changes({ id }: Partial<Entity>): Observable<Entity>;
21
26
  changesV2(params: Partial<Entity>): Observable<Entity>;
22
27
  get({ id }: Partial<Entity> & {
@@ -1,47 +1,68 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestoreQuery = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const dao_1 = require("../dao");
7
- class FirestoreQuery extends dao_1.FirestoreDAO {
1
+ import dayjs from 'dayjs';
2
+ import { ReplaySubject, lastValueFrom, of, throwError } from 'rxjs';
3
+ import { catchError, distinctUntilChanged, map, shareReplay, switchMap, take, tap } from 'rxjs/operators';
4
+ import { FirestoreDAO } from '../dao';
5
+ export class FirestoreQuery extends FirestoreDAO {
8
6
  constructor(adapter, converter, pathBuilder) {
9
7
  super(adapter);
10
8
  this.converter = converter;
11
9
  this.pathBuilder = pathBuilder;
12
- this.collection$ = new rxjs_1.ReplaySubject(1);
13
- this.list$ = this.collection$.pipe((0, operators_1.switchMap)((collection) => this.listChangesByCollectionRef(collection).pipe((0, operators_1.catchError)(error => (0, rxjs_1.throwError)(() => error)))), (0, operators_1.shareReplay)(1));
10
+ this.collection$ = new ReplaySubject(1);
11
+ this.list$ = this.collection$.pipe(switchMap((collection) => this.listChangesByCollectionRef(collection).pipe(catchError(error => throwError(() => error)))), shareReplay(1));
14
12
  this.switchCollectionRef();
15
13
  }
14
+ /** @deprecated */
16
15
  listChanges(paramMap, options = { switch: true }) {
17
- return (0, rxjs_1.of)(paramMap).pipe((0, operators_1.tap)((paramMap) => (options === null || options === void 0 ? void 0 : options.switch) && this.switchCollectionRef(paramMap)), (0, operators_1.switchMap)(() => this.list$));
16
+ return of(paramMap).pipe(tap((paramMap) => (options === null || options === void 0 ? void 0 : options.switch) && this.switchCollectionRef(paramMap)), switchMap(() => this.list$));
17
+ }
18
+ listChangesV2(paramMap) {
19
+ return of(paramMap).pipe(tap((paramMap) => paramMap && this.switchCollectionRef(paramMap)), switchMap(() => this.list$));
20
+ }
21
+ listChangesAfter(updatedAt, { limit } = {}) {
22
+ const entitiesMap = new Map();
23
+ const _updatedAt = dayjs.isDayjs(updatedAt) ? this.adapter.convertDateToTimestamp(updatedAt) : updatedAt;
24
+ return this.adapter.query(this.collection(), ...[
25
+ this.adapter.where('updatedAt', '>', _updatedAt),
26
+ this.adapter.orderBy('updatedAt', 'asc'),
27
+ limit ? this.adapter.limit(limit) : undefined,
28
+ ].filter(Boolean)).stateChanges().pipe(
29
+ // bufferTime(1_000),
30
+ // map(zippedActions => zippedActions.flat()),
31
+ tap(actions => actions.forEach(({ type, payload: { doc } }) => {
32
+ if (new Set(['added', 'modified']).has(type)) {
33
+ entitiesMap.set(doc.id, this.converter.fromFirestore(doc));
34
+ }
35
+ else if (type === 'removed') {
36
+ entitiesMap.delete(doc.id);
37
+ }
38
+ })), map(() => [...entitiesMap.values()]));
18
39
  }
19
40
  changes({ id }) {
20
41
  if (!id)
21
42
  throw new Error(`Invalid Id. it must be Truthy`);
22
- return this.list$.pipe((0, operators_1.map)(entities => entities.find(entity => entity.id === id)), (0, operators_1.distinctUntilChanged)((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)));
43
+ return this.list$.pipe(map(entities => entities.find(entity => entity.id === id)), distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)));
23
44
  }
24
45
  changesV2(params) {
25
46
  const docRef = this.doc(params);
26
- return docRef.stateChanges().pipe((0, operators_1.map)((doc) => this.converter.fromFirestore(doc)));
47
+ return docRef.stateChanges().pipe(map((doc) => this.converter.fromFirestore(doc)));
27
48
  }
28
49
  get({ id }) {
29
- return (0, rxjs_1.lastValueFrom)(this.list$.pipe((0, operators_1.take)(1), (0, operators_1.map)(entities => entities.find(entity => entity.id === id))));
50
+ return lastValueFrom(this.list$.pipe(take(1), map(entities => entities.find(entity => entity.id === id))));
30
51
  }
31
52
  list(paramMap) {
32
53
  this.switchCollectionRef(paramMap);
33
- return (0, rxjs_1.lastValueFrom)(this.list$.pipe((0, operators_1.take)(1)));
54
+ return lastValueFrom(this.list$.pipe(take(1)));
34
55
  }
35
56
  listChangesByCollectionRef(collection) {
36
57
  const entitiesMap = new Map();
37
- return collection.stateChanges().pipe((0, operators_1.tap)(actions => actions.forEach(({ type, payload: { doc } }) => {
58
+ return collection.stateChanges().pipe(tap(actions => actions.forEach(({ type, payload: { doc } }) => {
38
59
  if (new Set(['added', 'modified']).has(type)) {
39
60
  entitiesMap.set(doc.id, this.converter.fromFirestore(doc));
40
61
  }
41
62
  else if (type === 'removed') {
42
63
  entitiesMap.delete(doc.id);
43
64
  }
44
- })), (0, operators_1.map)(() => [...entitiesMap.values()]));
65
+ })), map(() => [...entitiesMap.values()]));
45
66
  }
46
67
  switchCollectionRef(paramMap) {
47
68
  const collection = this.getCollection(paramMap);
@@ -51,5 +72,4 @@ class FirestoreQuery extends dao_1.FirestoreDAO {
51
72
  this.collection$.next(collection);
52
73
  }
53
74
  }
54
- exports.FirestoreQuery = FirestoreQuery;
55
75
  //# sourceMappingURL=firestore.query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.query.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/query/firestore.query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestore.query.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/query/firestore.query.ts"],"names":[],"mappings":"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"}
package/query/index.js CHANGED
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./firestore.query"), exports);
1
+ export * from './firestore.query';
5
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/query/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1 @@
1
- export * from './decorator';
2
1
  export * from './repository';
@@ -1,6 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./decorator"), exports);
5
- tslib_1.__exportStar(require("./repository"), exports);
1
+ export * from './repository';
6
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,17 +1,15 @@
1
1
  import { PartialWithId, Repository } from '@nx-ddd/common/domain/repository';
2
- import { Dayjs } from 'dayjs';
3
2
  import { FirestoreAdapter } from '../adapters/base';
4
3
  import { IFirestoreConverter } from '../converter';
5
4
  import { FirestorePathBuilder } from '../path-builder';
6
- import { FirestoreCollection, FirestoreCollectionGroup, FirestoreDocument, ToFirestoreData } from '../interfaces';
5
+ import { FirestoreCollection, FirestoreCollectionGroup, FirestoreDocument } from '../interfaces';
7
6
  export declare abstract class BaseFirestoreRepository<Entity extends {
8
7
  id: string;
9
- }, FirestoreData = ToFirestoreData<Entity, Dayjs>> extends Repository<Entity> {
10
- protected adapter: FirestoreAdapter;
8
+ }> extends Repository<Entity> {
11
9
  protected abstract collectionPath: string;
12
- protected abstract converter: IFirestoreConverter<Entity, FirestoreData>;
10
+ protected abstract converter: IFirestoreConverter<Entity>;
13
11
  protected pathBuilder: FirestorePathBuilder<Entity>;
14
- constructor(adapter: FirestoreAdapter);
12
+ protected adapter: FirestoreAdapter;
15
13
  list(paramMap?: Partial<Entity>, query?: any): Promise<Entity[]>;
16
14
  get(paramMap?: Partial<Entity>): Promise<Entity>;
17
15
  save(entity: Entity): Promise<[Entity, boolean]>;
@@ -22,14 +20,14 @@ export declare abstract class BaseFirestoreRepository<Entity extends {
22
20
  bulkWrite(entities: Entity[], timestamps?: string[]): Promise<void>;
23
21
  bulkCreate(entities: Entity[]): Promise<void>;
24
22
  bulkUpdate(entities: PartialWithId<Entity>[]): Promise<void>;
25
- protected collection(paramMap?: Partial<Entity>): FirestoreCollection<FirestoreData>;
26
- protected collectionGroup(): FirestoreCollectionGroup<FirestoreData>;
27
- protected doc(paramMap: PartialWithId<Entity>): FirestoreDocument<FirestoreData>;
23
+ protected collection(paramMap?: Partial<Entity>): FirestoreCollection<object>;
24
+ protected collectionGroup(): FirestoreCollectionGroup<object>;
25
+ protected doc(paramMap: PartialWithId<Entity>): FirestoreDocument<object>;
28
26
  protected genId: () => string;
29
- protected _list(collection: FirestoreCollection<FirestoreData>): Promise<Entity[]>;
30
- protected _get(doc: FirestoreDocument<FirestoreData>): Promise<Entity>;
31
- protected _save(doc: FirestoreDocument<FirestoreData>, entity: Entity): Promise<[Entity, boolean]>;
32
- protected _create(doc: FirestoreDocument<FirestoreData>, entity: Entity): Promise<Entity>;
33
- protected _set(doc: FirestoreDocument<FirestoreData>, entity: Partial<Entity>, isUpdate?: boolean): Promise<import("../interfaces").DocumentSnapshot<FirestoreData>>;
27
+ protected _list(collection: FirestoreCollection<object>): Promise<Entity[]>;
28
+ protected _get(doc: FirestoreDocument<object>): Promise<Entity>;
29
+ protected _save(doc: FirestoreDocument<object>, entity: Entity): Promise<[Entity, boolean]>;
30
+ protected _create(doc: FirestoreDocument<object>, entity: Entity): Promise<Entity>;
31
+ protected _set(doc: FirestoreDocument<object>, entity: Partial<Entity>, isUpdate?: boolean): Promise<import("../interfaces").DocumentSnapshot<object>>;
34
32
  protected buildServerTimestampObject(keys?: string[]): {};
35
33
  }
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseFirestoreRepository = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nx-ddd/core");
6
- const repository_1 = require("@nx-ddd/common/domain/repository");
7
- const to_object_1 = require("@nx-ddd/common/utilities/to-object");
8
- const utilities_1 = require("@nx-ddd/common/utilities");
9
- const base_1 = require("../adapters/base");
10
- const toPromise = callback => new Promise((resolve, reject) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { Repository } from '@nx-ddd/common/domain/repository';
4
+ import { toObject } from '@nx-ddd/common/utilities/to-object';
5
+ import { generateId } from '@nx-ddd/common/utilities';
6
+ const toPromise = callback => new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
11
7
  try {
12
8
  resolve(callback());
13
9
  }
@@ -15,14 +11,13 @@ const toPromise = callback => new Promise((resolve, reject) => tslib_1.__awaiter
15
11
  reject(error);
16
12
  }
17
13
  }));
18
- let BaseFirestoreRepository = exports.BaseFirestoreRepository = class BaseFirestoreRepository extends repository_1.Repository {
19
- constructor(adapter) {
20
- super();
21
- this.adapter = adapter;
22
- this.genId = () => (0, utilities_1.generateId)();
14
+ let BaseFirestoreRepository = class BaseFirestoreRepository extends Repository {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.genId = () => generateId();
23
18
  }
24
19
  list(paramMap, query = q => q) {
25
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
+ return __awaiter(this, void 0, void 0, function* () {
26
21
  const collection = paramMap ? this.collection(paramMap) : this.collectionGroup();
27
22
  return this._list(query(collection));
28
23
  });
@@ -35,7 +30,7 @@ let BaseFirestoreRepository = exports.BaseFirestoreRepository = class BaseFirest
35
30
  return this._save(docRef, entity);
36
31
  }
37
32
  create(entity) {
38
- const obj = (0, to_object_1.toObject)(entity);
33
+ const obj = toObject(entity);
39
34
  const id = (obj === null || obj === void 0 ? void 0 : obj.id) || this.genId();
40
35
  return toPromise(() => this.doc(Object.assign(Object.assign({}, obj), { id }))).then(doc => this._create(doc, entity));
41
36
  }
@@ -43,7 +38,7 @@ let BaseFirestoreRepository = exports.BaseFirestoreRepository = class BaseFirest
43
38
  return Promise.all(entities.map(entity => this.create(entity)));
44
39
  }
45
40
  update(entity) {
46
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
41
+ return __awaiter(this, void 0, void 0, function* () {
47
42
  return this.doc(entity).update(this.adapter.flattenForUpdate(Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['updatedAt'])))).then(() => { });
48
43
  });
49
44
  }
@@ -98,11 +93,18 @@ let BaseFirestoreRepository = exports.BaseFirestoreRepository = class BaseFirest
98
93
  }));
99
94
  }
100
95
  _save(doc, entity) {
101
- return this._set(doc, entity, !(entity === null || entity === void 0 ? void 0 : entity.id))
102
- .then(doc => this.converter.fromFirestore(doc)).then(e => [e, !!(entity === null || entity === void 0 ? void 0 : entity.id)]);
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const exists = yield doc.exists();
98
+ if (exists) {
99
+ return this._set(doc, entity).then(doc => [this.converter.fromFirestore(doc), false]);
100
+ }
101
+ else {
102
+ return this._create(doc, entity).then(entity => [entity, true]);
103
+ }
104
+ });
103
105
  }
104
106
  _create(doc, entity) {
105
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
107
+ return __awaiter(this, void 0, void 0, function* () {
106
108
  const exists = yield doc.exists();
107
109
  if (exists)
108
110
  throw new Error('Document already exists');
@@ -117,8 +119,8 @@ let BaseFirestoreRepository = exports.BaseFirestoreRepository = class BaseFirest
117
119
  return keys.reduce((m, k) => (Object.assign(Object.assign({}, m), { [k]: this.adapter.FieldValue.serverTimestamp() })), {});
118
120
  }
119
121
  };
120
- exports.BaseFirestoreRepository = BaseFirestoreRepository = tslib_1.__decorate([
121
- (0, core_1.Injectable)(),
122
- tslib_1.__metadata("design:paramtypes", [base_1.FirestoreAdapter])
122
+ BaseFirestoreRepository = __decorate([
123
+ Injectable()
123
124
  ], BaseFirestoreRepository);
125
+ export { BaseFirestoreRepository };
124
126
  //# sourceMappingURL=repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/repository.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ import { AdminFirestoreAdapter } from '../adapters/admin';
4
4
  export declare const testAdapterFactory: () => AdminFirestoreAdapter;
5
5
  export declare const timestampFactory: (dt: dayjs.Dayjs) => admin.firestore.Timestamp;
6
6
  export declare function initializeTest(projectId?: string): AdminFirestoreAdapter;
7
+ export declare function clearFirestoreData(projectId?: string): Promise<void>;
package/testing/common.js CHANGED
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initializeTest = exports.timestampFactory = exports.testAdapterFactory = void 0;
4
- const tslib_1 = require("tslib");
5
- const firebase_admin_1 = tslib_1.__importDefault(require("firebase-admin"));
6
- const admin_1 = require("../adapters/admin");
7
- const testAdapterFactory = () => new admin_1.AdminFirestoreAdapter();
8
- exports.testAdapterFactory = testAdapterFactory;
9
- const timestampFactory = (dt) => {
10
- return firebase_admin_1.default.firestore.Timestamp.fromDate(dt.toDate());
1
+ import { __awaiter } from "tslib";
2
+ import admin from 'firebase-admin';
3
+ import { AdminFirestoreAdapter } from '../adapters/admin';
4
+ import axios from 'axios';
5
+ export const testAdapterFactory = () => new AdminFirestoreAdapter();
6
+ export const timestampFactory = (dt) => {
7
+ return admin.firestore.Timestamp.fromDate(dt.toDate());
11
8
  };
12
- exports.timestampFactory = timestampFactory;
13
- function initializeTest(projectId = 'nx-ddd') {
9
+ export function initializeTest(projectId = 'nx-ddd') {
14
10
  process.env['FIRESTORE_EMULATOR_HOST'] = 'localhost:8080';
15
- firebase_admin_1.default.initializeApp({ projectId });
16
- return (0, exports.testAdapterFactory)();
11
+ admin.initializeApp({ projectId });
12
+ return testAdapterFactory();
13
+ }
14
+ export function clearFirestoreData(projectId = 'nx-ddd') {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ yield axios.delete(`http://127.0.0.1:8080/emulator/v1/projects/${projectId}/databases/(default)/documents`);
17
+ });
17
18
  }
18
- exports.initializeTest = initializeTest;
19
19
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/common.ts"],"names":[],"mappings":";;;;AAAA,4EAAmC;AAEnC,6CAA0D;AAEnD,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,6BAAqB,EAAE,CAAC;AAAvD,QAAA,kBAAkB,sBAAqC;AAE7D,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,OAAO,wBAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF,SAAgB,cAAc,CAAC,YAAoB,QAAQ;IACzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,gBAAgB,CAAC;IAC1D,wBAAK,CAAC,aAAa,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC;IACjC,OAAO,IAAA,0BAAkB,GAAE,CAAC;AAC9B,CAAC;AAJD,wCAIC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/common.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,YAAoB,QAAQ;IACzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,gBAAgB,CAAC;IAC1D,KAAK,CAAC,aAAa,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC;IACjC,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAgB,kBAAkB,CAAC,YAAoB,QAAQ;;QACnE,MAAM,KAAK,CAAC,MAAM,CAAC,8CAA8C,SAAS,gCAAgC,CAAC,CAAC;IAC9G,CAAC;CAAA"}
@@ -1,3 +1 @@
1
1
  export * from './common';
2
- export * from './domain';
3
- export * from './repository';
package/testing/index.js CHANGED
@@ -1,7 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./common"), exports);
5
- tslib_1.__exportStar(require("./domain"), exports);
6
- tslib_1.__exportStar(require("./repository"), exports);
1
+ export * from './common';
7
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,mDAAyB;AACzB,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1,8 +0,0 @@
1
- import { Entity } from '@nx-ddd/common/domain/models';
2
- import { FirestoreQuery } from '../query';
3
- export interface FirestoreRepository<EntityClass extends typeof Entity = any> {
4
- Entity: EntityClass;
5
- path?: string;
6
- Query?: typeof FirestoreQuery;
7
- }
8
- export declare function FirestoreRepository({ Entity, Query, path, }: FirestoreRepository): <T extends new (...args: any[]) => {}>(target: T) => any;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirestoreRepository = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nx-ddd/core");
6
- const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
7
- const base_1 = require("../adapters/base");
8
- const converter_1 = require("../converter");
9
- const path_builder_1 = require("../path-builder");
10
- const query_1 = require("../query");
11
- const repository_1 = require("../repository");
12
- function FirestoreRepository({ Entity,
13
- // Converter,
14
- Query, path, }) {
15
- return function (target) {
16
- // const __ConverterClass = Converter ?? FirestoreConverter;
17
- const __QueryClass = Query !== null && Query !== void 0 ? Query : query_1.FirestoreQuery;
18
- const __path = path !== null && path !== void 0 ? path : resolvePathByEntity(Entity);
19
- let _ = class _ extends repository_1.BaseFirestoreRepository {
20
- constructor(adapter) {
21
- super(adapter);
22
- this.pathBuilder = (0, path_builder_1.pathBuilderFactory)(__path);
23
- this.collectionPath = __path;
24
- this.converter = (0, converter_1.createConverter)(Entity, this.adapter);
25
- this.query = new __QueryClass(this.adapter, this.converter, this.pathBuilder);
26
- }
27
- };
28
- _ = tslib_1.__decorate([
29
- (0, core_1.Injectable)(),
30
- tslib_1.__metadata("design:paramtypes", [base_1.FirestoreAdapter])
31
- ], _);
32
- ;
33
- Object.defineProperty(_, 'name', { value: target.name, writable: false });
34
- return _;
35
- };
36
- }
37
- exports.FirestoreRepository = FirestoreRepository;
38
- function resolvePathByEntity(EntityClass) {
39
- return `${(0, lodash_camelcase_1.default)(EntityClass.name)}s`;
40
- }
41
- //# sourceMappingURL=decorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/decorator.ts"],"names":[],"mappings":";;;;AAAA,uCAA0C;AAE1C,gFAAyC;AACzC,2CAAoD;AACpD,4CAA+C;AAC/C,kDAAqD;AACrD,oCAA0C;AAC1C,8CAAwD;AAYxD,SAAgB,mBAAmB,CAAC,EAClC,MAAM;AACN,aAAa;AACb,KAAK,EACL,IAAI,GACgB;IACpB,OAAO,UAAkD,MAAS;QAChE,4DAA4D;QAC5D,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,sBAAc,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEnD,IACM,CAAC,GADP,MACM,CAAE,SAAQ,oCAAsC;YAOpD,YACE,OAAyB;gBAEzB,KAAK,CAAC,OAAO,CAAC,CAAC;gBATP,gBAAW,GAAG,IAAA,iCAAkB,EAAC,MAAM,CAAC,CAAC;gBACzC,mBAAc,GAAG,MAAM,CAAC;gBACxB,cAAS,GAAG,IAAA,2BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE5D,UAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAMzE,CAAC;SACF,CAAA;QAZK,CAAC;YADN,IAAA,iBAAU,GAAE;qDASA,uBAAgB;WARvB,CAAC,CAYN;QAAA,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;QAExE,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;AACH,CAAC;AA9BD,kDA8BC;AAED,SAAS,mBAAmB,CAAC,WAA0B;IACrD,OAAO,GAAG,IAAA,0BAAS,EAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3C,CAAC"}
@@ -1,12 +0,0 @@
1
- import { Entity } from '@nx-ddd/common/domain/models';
2
- import dayjs from 'dayjs';
3
- export declare class Transaction extends Entity {
4
- dealAt: dayjs.Dayjs;
5
- static readonly FIELDS: string[];
6
- }
7
- export declare class UserTransaction extends Transaction {
8
- userId: string;
9
- static readonly FIELDS: string[];
10
- }
11
- export declare const testTransaction: Entity<string>;
12
- export declare const testUserTransaction: Entity<string>;
package/testing/domain.js DELETED
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.testUserTransaction = exports.testTransaction = exports.UserTransaction = exports.Transaction = void 0;
4
- const tslib_1 = require("tslib");
5
- const models_1 = require("@nx-ddd/common/domain/models");
6
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
7
- class Transaction extends models_1.Entity {
8
- }
9
- exports.Transaction = Transaction;
10
- Transaction.FIELDS = ['dealAt', 'createdAt', 'updatedAt'];
11
- class UserTransaction extends Transaction {
12
- }
13
- exports.UserTransaction = UserTransaction;
14
- UserTransaction.FIELDS = ['dealAt', 'createdAt', 'updatedAt'];
15
- exports.testTransaction = Transaction.fromObj({
16
- id: 'test-transaction-0001',
17
- dealAt: (0, dayjs_1.default)('2018-02-01'),
18
- createdAt: (0, dayjs_1.default)('2022-01-01'),
19
- updatedAt: (0, dayjs_1.default)('2022-01-01'),
20
- });
21
- exports.testUserTransaction = Transaction.fromObj(Object.assign(Object.assign({}, exports.testTransaction), { userId: 'test-user-0001' }));
22
- //# sourceMappingURL=domain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/domain.ts"],"names":[],"mappings":";;;;AAAA,yDAAsD;AACtD,0DAA0B;AAE1B,MAAa,WAAY,SAAQ,eAAM;;AAAvC,kCAIC;AADiB,kBAAM,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAGhE,MAAa,eAAgB,SAAQ,WAAW;;AAAhD,0CAIC;AADiB,sBAAM,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAGnD,QAAA,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC;IACjD,EAAE,EAAE,uBAAuB;IAC3B,MAAM,EAAE,IAAA,eAAK,EAAC,YAAY,CAAC;IAC3B,SAAS,EAAE,IAAA,eAAK,EAAC,YAAY,CAAC;IAC9B,SAAS,EAAE,IAAA,eAAK,EAAC,YAAY,CAAC;CAC/B,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,WAAW,CAAC,OAAO,iCACjD,uBAAe,KAClB,MAAM,EAAE,gBAAgB,IACxB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Repository } from "@nx-ddd/common/domain/repository";
2
- import { Transaction, UserTransaction } from "./domain";
3
- export declare class TransactionRepository extends Repository<Transaction> {
4
- }
5
- export declare class UserTransactionRepository extends Repository<UserTransaction> {
6
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserTransactionRepository = exports.TransactionRepository = void 0;
4
- const tslib_1 = require("tslib");
5
- const repository_1 = require("@nx-ddd/common/domain/repository");
6
- const repository_2 = require("../repository");
7
- const domain_1 = require("./domain");
8
- let TransactionRepository = exports.TransactionRepository = class TransactionRepository extends repository_1.Repository {
9
- };
10
- exports.TransactionRepository = TransactionRepository = tslib_1.__decorate([
11
- (0, repository_2.FirestoreRepository)({
12
- Entity: domain_1.Transaction,
13
- path: 'transactions',
14
- })
15
- ], TransactionRepository);
16
- let UserTransactionRepository = exports.UserTransactionRepository = class UserTransactionRepository extends repository_1.Repository {
17
- };
18
- exports.UserTransactionRepository = UserTransactionRepository = tslib_1.__decorate([
19
- (0, repository_2.FirestoreRepository)({
20
- Entity: domain_1.UserTransaction,
21
- path: `users/:userId/transactions`,
22
- })
23
- ], UserTransactionRepository);
24
- //# sourceMappingURL=repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/repository.ts"],"names":[],"mappings":";;;;AAAA,iEAA8D;AAC9D,8CAAoD;AACpD,qCAAwD;AAMjD,IAAM,qBAAqB,mCAA3B,MAAM,qBAAsB,SAAQ,uBAAuB;CAAI,CAAA;gCAAzD,qBAAqB;IAJjC,IAAA,gCAAmB,EAAC;QACnB,MAAM,EAAE,oBAAW;QACnB,IAAI,EAAE,cAAc;KACrB,CAAC;GACW,qBAAqB,CAAoC;AAM/D,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,uBAA2B;CAAI,CAAA;oCAAjE,yBAAyB;IAJrC,IAAA,gCAAmB,EAAC;QACnB,MAAM,EAAE,wBAAe;QACvB,IAAI,EAAE,4BAA4B;KACnC,CAAC;GACW,yBAAyB,CAAwC"}