@nx-ddd/firestore 1.0.13 → 4.20.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 (131) hide show
  1. package/README.md +5 -1
  2. package/adapters/admin/admin.adapter.d.ts +22 -0
  3. package/adapters/admin/admin.adapter.js +60 -0
  4. package/adapters/admin/admin.adapter.js.map +1 -0
  5. package/adapters/admin/index.d.ts +1 -0
  6. package/adapters/admin/index.js +5 -0
  7. package/adapters/admin/index.js.map +1 -0
  8. package/adapters/base/base.adapter.d.ts +20 -0
  9. package/adapters/base/base.adapter.js +13 -0
  10. package/adapters/base/base.adapter.js.map +1 -0
  11. package/adapters/base/index.d.ts +1 -0
  12. package/adapters/base/index.js +5 -0
  13. package/adapters/base/index.js.map +1 -0
  14. package/adapters/firebase/firebase.adapter.d.ts +22 -0
  15. package/adapters/firebase/firebase.adapter.js +89 -0
  16. package/adapters/firebase/firebase.adapter.js.map +1 -0
  17. package/adapters/firebase/index.d.ts +1 -0
  18. package/adapters/firebase/index.js +5 -0
  19. package/adapters/firebase/index.js.map +1 -0
  20. package/adapters/index.d.ts +3 -0
  21. package/adapters/index.js +7 -0
  22. package/adapters/index.js.map +1 -0
  23. package/converter/converter.d.ts +11 -0
  24. package/converter/converter.js +36 -0
  25. package/converter/converter.js.map +1 -0
  26. package/converter/index.d.ts +1 -0
  27. package/{common/utilities → converter}/index.js +1 -1
  28. package/converter/index.js.map +1 -0
  29. package/dao/firestore.dao.d.ts +18 -0
  30. package/dao/firestore.dao.js +23 -0
  31. package/dao/firestore.dao.js.map +1 -0
  32. package/dao/index.d.ts +1 -0
  33. package/dao/index.js +5 -0
  34. package/dao/index.js.map +1 -0
  35. package/decorators/decorators.d.ts +34 -0
  36. package/decorators/decorators.js +27 -0
  37. package/decorators/decorators.js.map +1 -0
  38. package/decorators/index.d.ts +1 -0
  39. package/decorators/index.js +5 -0
  40. package/decorators/index.js.map +1 -0
  41. package/index.d.ts +8 -0
  42. package/index.js +12 -0
  43. package/index.js.map +1 -0
  44. package/interfaces/index.d.ts +1 -0
  45. package/{admin → interfaces}/index.js +0 -2
  46. package/interfaces/index.js.map +1 -0
  47. package/interfaces/interfaces.d.ts +57 -0
  48. package/interfaces/interfaces.js.map +1 -0
  49. package/package.json +14 -8
  50. package/path-builder/index.d.ts +1 -0
  51. package/path-builder/index.js +5 -0
  52. package/path-builder/index.js.map +1 -0
  53. package/path-builder/path-builder.d.ts +21 -0
  54. package/path-builder/path-builder.js +34 -0
  55. package/path-builder/path-builder.js.map +1 -0
  56. package/query/firestore.query.d.ts +26 -0
  57. package/query/firestore.query.js +50 -0
  58. package/query/firestore.query.js.map +1 -0
  59. package/query/index.d.ts +1 -0
  60. package/query/index.js +5 -0
  61. package/query/index.js.map +1 -0
  62. package/repository/decorator.d.ts +8 -0
  63. package/repository/decorator.js +41 -0
  64. package/repository/decorator.js.map +1 -0
  65. package/{nest → repository}/index.d.ts +1 -1
  66. package/{nest → repository}/index.js +1 -1
  67. package/repository/index.js.map +1 -0
  68. package/repository/repository.d.ts +38 -0
  69. package/repository/repository.js +107 -0
  70. package/repository/repository.js.map +1 -0
  71. package/testing/common.d.ts +5 -0
  72. package/testing/common.js +19 -0
  73. package/testing/common.js.map +1 -0
  74. package/testing/domain.d.ts +12 -0
  75. package/testing/domain.js +22 -0
  76. package/testing/domain.js.map +1 -0
  77. package/testing/index.d.ts +3 -0
  78. package/{client → testing}/index.js +2 -2
  79. package/testing/index.js.map +1 -0
  80. package/testing/repository.d.ts +6 -0
  81. package/testing/repository.js +26 -0
  82. package/testing/repository.js.map +1 -0
  83. package/admin/adapter.d.ts +0 -20
  84. package/admin/adapter.js +0 -62
  85. package/admin/adapter.js.map +0 -1
  86. package/admin/index.d.ts +0 -3
  87. package/admin/index.js.map +0 -1
  88. package/admin/interfaces.d.ts +0 -8
  89. package/admin/interfaces.js +0 -3
  90. package/admin/interfaces.js.map +0 -1
  91. package/admin/repository.d.ts +0 -9
  92. package/admin/repository.js +0 -21
  93. package/admin/repository.js.map +0 -1
  94. package/client/adapter.d.ts +0 -13
  95. package/client/adapter.js +0 -35
  96. package/client/adapter.js.map +0 -1
  97. package/client/index.d.ts +0 -3
  98. package/client/index.js.map +0 -1
  99. package/client/interfaces.d.ts +0 -8
  100. package/client/interfaces.js +0 -3
  101. package/client/interfaces.js.map +0 -1
  102. package/client/repository.d.ts +0 -8
  103. package/client/repository.js +0 -9
  104. package/client/repository.js.map +0 -1
  105. package/common/adapter.d.ts +0 -17
  106. package/common/adapter.js +0 -24
  107. package/common/adapter.js.map +0 -1
  108. package/common/entity.d.ts +0 -24
  109. package/common/entity.js +0 -27
  110. package/common/entity.js.map +0 -1
  111. package/common/index.d.ts +0 -5
  112. package/common/index.js +0 -9
  113. package/common/index.js.map +0 -1
  114. package/common/interfaces.d.ts +0 -51
  115. package/common/interfaces.js.map +0 -1
  116. package/common/repository.d.ts +0 -41
  117. package/common/repository.js +0 -108
  118. package/common/repository.js.map +0 -1
  119. package/common/utilities/generate-id.d.ts +0 -1
  120. package/common/utilities/generate-id.js +0 -22
  121. package/common/utilities/generate-id.js.map +0 -1
  122. package/common/utilities/index.d.ts +0 -1
  123. package/common/utilities/index.js.map +0 -1
  124. package/nest/adapter.d.ts +0 -21
  125. package/nest/adapter.js +0 -63
  126. package/nest/adapter.js.map +0 -1
  127. package/nest/index.js.map +0 -1
  128. package/nest/repository.d.ts +0 -9
  129. package/nest/repository.js +0 -21
  130. package/nest/repository.js.map +0 -1
  131. /package/{common → interfaces}/interfaces.js +0 -0
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateId = void 0;
4
- const defaultOptions = {
5
- letters: true,
6
- upperCase: true,
7
- numbers: true,
8
- symbols: false,
9
- };
10
- const CHARACTERS = {
11
- letters: 'abcdefghijklmnopqrstuvwxyz',
12
- upperCase: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
13
- numbers: '0123456789',
14
- symbols: '!#$%&()',
15
- };
16
- const generateRandomString = (n, options = defaultOptions) => {
17
- const characters = Object.entries(CHARACTERS).filter(([k]) => options[k]).map(([_, v]) => v).join('');
18
- const genChar = () => characters.charAt(Math.floor(Math.random() * characters.length));
19
- return [...Array(n)].map(() => genChar()).join('');
20
- };
21
- exports.generateId = (n = 20) => generateRandomString(n);
22
- //# sourceMappingURL=generate-id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-id.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/utilities/generate-id.ts"],"names":[],"mappings":";;;AAOA,MAAM,cAAc,GAAY;IAC9B,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK;CACf,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAE,UAAmB,cAAc,EAAU,EAAE;IACpF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/F,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC,CAAA;AAEY,QAAA,UAAU,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export * from './generate-id';
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/utilities/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B"}
package/nest/adapter.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import { FirebaseFirestoreService } from '@aginix/nestjs-firebase-admin';
2
- import { CommonFirestoreDocument, CommonFirestoreCollection, CommonFirestoreCollectionGroup, FirestoreAdapter as _FirestoreAdapter, Timestamp } from '@nx-ddd/firestore/common';
3
- import * as dayjs from 'dayjs';
4
- export declare const convertDocRef: <Data>(docRef: FirebaseFirestore.DocumentReference<Data>) => CommonFirestoreDocument<Data>;
5
- export declare const convertCollectionRef: <Data>(collectionRef: FirebaseFirestore.CollectionReference<Data>) => CommonFirestoreCollection<Data>;
6
- export declare const convertCollectionGroupRef: <Data>(collectionRef: FirebaseFirestore.CollectionGroup<Data>) => CommonFirestoreCollectionGroup<Data>;
7
- export declare class FirestoreAdapter<Data> extends _FirestoreAdapter<dayjs.Dayjs> {
8
- nestFire: FirebaseFirestoreService;
9
- constructor(nestFire: FirebaseFirestoreService, firestore: any);
10
- protected isDate(v: any): v is dayjs.Dayjs;
11
- protected convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
12
- protected convertDateToTimestamp(date: dayjs.Dayjs): Timestamp;
13
- doc<Data>(path: string): CommonFirestoreDocument<Data>;
14
- collection<Data>(path: string): CommonFirestoreCollection<Data>;
15
- collectionGroup<Data>(path: string): CommonFirestoreCollectionGroup<Data>;
16
- bulkWriter: () => {
17
- update: (doc: CommonFirestoreDocument<Data>, data: Data) => void;
18
- close: () => Promise<void>;
19
- };
20
- }
21
- export declare function createFirestoreAdapter(nestFire: FirebaseFirestoreService, firestore: any): FirestoreAdapter<unknown>;
package/nest/adapter.js DELETED
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createFirestoreAdapter = exports.FirestoreAdapter = exports.convertCollectionGroupRef = exports.convertCollectionRef = exports.convertDocRef = void 0;
4
- const common_1 = require("@nx-ddd/firestore/common");
5
- const dayjs = require("dayjs");
6
- const rxjs_1 = require("rxjs");
7
- exports.convertDocRef = (docRef) => {
8
- return {
9
- __ref: docRef,
10
- set: (data, options) => {
11
- return docRef.set(data, options).then(() => { });
12
- },
13
- get: () => rxjs_1.from(docRef.get())
14
- };
15
- };
16
- exports.convertCollectionRef = (collectionRef) => {
17
- return {
18
- stateChanges: () => rxjs_1.of(),
19
- get: () => rxjs_1.from(collectionRef.get()),
20
- };
21
- };
22
- exports.convertCollectionGroupRef = (collectionRef) => {
23
- return {
24
- stateChanges: () => rxjs_1.of(),
25
- get: () => rxjs_1.from(collectionRef.get()),
26
- };
27
- };
28
- class FirestoreAdapter extends common_1.FirestoreAdapter {
29
- constructor(nestFire, firestore) {
30
- super(nestFire.firestore, firestore);
31
- this.nestFire = nestFire;
32
- this.bulkWriter = () => ({
33
- update: (doc, data) => {
34
- this.nestFire.bulkWriter().update(doc.__ref, data);
35
- },
36
- close: () => this.nestFire.bulkWriter().close(),
37
- });
38
- }
39
- isDate(v) {
40
- return dayjs.isDayjs(v);
41
- }
42
- convertTimestampToDate(timestamp) {
43
- return dayjs(timestamp.toDate());
44
- }
45
- convertDateToTimestamp(date) {
46
- return this.Timestamp.fromDate(date.toDate());
47
- }
48
- doc(path) {
49
- return exports.convertDocRef(this.nestFire.doc(path));
50
- }
51
- collection(path) {
52
- return exports.convertCollectionRef(this.nestFire.collection(path));
53
- }
54
- collectionGroup(path) {
55
- return exports.convertCollectionGroupRef(this.nestFire.collectionGroup(path));
56
- }
57
- }
58
- exports.FirestoreAdapter = FirestoreAdapter;
59
- function createFirestoreAdapter(nestFire, firestore) {
60
- return new FirestoreAdapter(nestFire, firestore);
61
- }
62
- exports.createFirestoreAdapter = createFirestoreAdapter;
63
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/adapter.ts"],"names":[],"mappings":";;;AACA,qDASkC;AAClC,+BAA+B;AAC/B,+BAA4C;AAG/B,QAAA,aAAa,GAAG,CAC3B,MAAiD,EAClB,EAAE;IACjC,OAAO;QACL,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,CAAC,IAAU,EAAE,OAAa,EAAiB,EAAE;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,EAAE,GAAuC,EAAE,CAAC,WAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;KAClE,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,oBAAoB,GAAG,CAClC,aAA0D,EACzB,EAAE;IACnC,OAAO;QACL,YAAY,EAAE,GAA6C,EAAE,CAAC,SAAE,EAAE;QAClE,GAAG,EAAE,GAAoC,EAAE,CAAC,WAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;KACtE,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,yBAAyB,GAAG,CACvC,aAAsD,EAChB,EAAE;IACxC,OAAO;QACL,YAAY,EAAE,GAA6C,EAAE,CAAC,SAAE,EAAE;QAClE,GAAG,EAAE,GAAoC,EAAE,CAAC,WAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;KACtE,CAAA;AACH,CAAC,CAAA;AAED,MAAa,gBAAuB,SAAQ,yBAA8B;IAExE,YACS,QAAkC,EACzC,SAAc;QAEd,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAH9B,aAAQ,GAAR,QAAQ,CAA0B;QA8B3C,eAAU,GAAG,GAAG,EAAE,CAAC,CAAC;YAClB,MAAM,EAAE,CAAC,GAAkC,EAAE,IAAW,EAAE,EAAE;gBAC1D,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACpD,CAAC;YACD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE;SAChD,CAAC,CAAC;IA/BH,CAAC;IAES,MAAM,CAAC,CAAM;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAES,sBAAsB,CAAC,SAAoB;QACnD,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAES,sBAAsB,CAAC,IAAiB;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAO,IAAY;QACpB,OAAO,qBAAa,CAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAO,IAAY;QAC3B,OAAO,4BAAoB,CAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,eAAe,CAAO,IAAY;QAChC,OAAO,iCAAyB,CAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAQ,CAAC,CAAC;IACrF,CAAC;CAQF;AAvCD,4CAuCC;AAED,SAAgB,sBAAsB,CACpC,QAAkC,EAClC,SAAc;IAEd,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AALD,wDAKC"}
package/nest/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B"}
@@ -1,9 +0,0 @@
1
- import { FirestoreRepository } from '@nx-ddd/firestore/common';
2
- import * as dayjs from 'dayjs';
3
- import { FirestoreAdapter } from './adapter';
4
- export declare abstract class AdminFirestoreRepository<Entity extends {
5
- id: string;
6
- }, Data extends object> extends FirestoreRepository<Entity, Data, dayjs.Dayjs> {
7
- constructor(adapter: FirestoreAdapter<Data>);
8
- bulkUpdate(entities: (Partial<Entity>)[]): Promise<void>;
9
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdminFirestoreRepository = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nx-ddd/firestore/common");
6
- class AdminFirestoreRepository extends common_1.FirestoreRepository {
7
- constructor(adapter) { super(adapter); }
8
- bulkUpdate(entities) {
9
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- return entities.reduce((bulkWriter, entity) => {
11
- const path = this.buildDocPath(entity);
12
- const doc = this.adapter.doc(path);
13
- this.adapter.bulkWriter();
14
- bulkWriter.update(doc, Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['updatedAt'])));
15
- return bulkWriter;
16
- }, this.adapter.bulkWriter()).close();
17
- });
18
- }
19
- }
20
- exports.AdminFirestoreRepository = AdminFirestoreRepository;
21
- //# sourceMappingURL=repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/repository.ts"],"names":[],"mappings":";;;;AAAA,qDAA+D;AAK/D,MAAsB,wBAGpB,SAAQ,4BAA8C;IAEtD,YAAY,OAA+B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1D,UAAU,CAAC,QAA6B;;YAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAO,IAAI,CAAC,CAAC;gBAExC,IAAI,CAAC,OAAkC,CAAC,UAAU,EAAE,CAAC;gBAEtD,UAAU,CAAC,MAAM,CAAC,GAAG,kCAEhB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAgB,CAAC,GAC5C,IAAI,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,CAAC,EACjD,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC,EAAG,IAAI,CAAC,OAAkC,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACpE,CAAC;KAAA;CACF;AAtBD,4DAsBC"}
File without changes