@nx-ddd/firestore 19.2.1 → 19.3.0

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 (93) hide show
  1. package/adapters/admin/index.d.ts +40 -1
  2. package/adapters/firebase/index.d.ts +35 -1
  3. package/{adapters/admin/admin.adapter.js → fesm2022/nx-ddd-firestore-adapters-admin.mjs} +21 -13
  4. package/fesm2022/nx-ddd-firestore-adapters-admin.mjs.map +1 -0
  5. package/{adapters/firebase/firebase.adapter.js → fesm2022/nx-ddd-firestore-adapters-firebase.mjs} +20 -13
  6. package/fesm2022/nx-ddd-firestore-adapters-firebase.mjs.map +1 -0
  7. package/fesm2022/nx-ddd-firestore.mjs +796 -0
  8. package/fesm2022/nx-ddd-firestore.mjs.map +1 -0
  9. package/index.d.ts +424 -7
  10. package/package.json +26 -6
  11. package/README.md +0 -172
  12. package/adapters/admin/admin.adapter.d.ts +0 -36
  13. package/adapters/admin/admin.adapter.js.map +0 -1
  14. package/adapters/admin/index.js +0 -2
  15. package/adapters/admin/index.js.map +0 -1
  16. package/adapters/base/base.adapter.d.ts +0 -35
  17. package/adapters/base/base.adapter.js +0 -189
  18. package/adapters/base/base.adapter.js.map +0 -1
  19. package/adapters/base/index.d.ts +0 -1
  20. package/adapters/base/index.js +0 -2
  21. package/adapters/base/index.js.map +0 -1
  22. package/adapters/dayjs/dayjs.adatper.d.ts +0 -15
  23. package/adapters/dayjs/dayjs.adatper.js +0 -44
  24. package/adapters/dayjs/dayjs.adatper.js.map +0 -1
  25. package/adapters/dayjs/index.d.ts +0 -1
  26. package/adapters/dayjs/index.js +0 -2
  27. package/adapters/dayjs/index.js.map +0 -1
  28. package/adapters/firebase/firebase.adapter.d.ts +0 -32
  29. package/adapters/firebase/firebase.adapter.js.map +0 -1
  30. package/adapters/firebase/index.js +0 -2
  31. package/adapters/firebase/index.js.map +0 -1
  32. package/adapters/index.d.ts +0 -1
  33. package/adapters/index.js +0 -2
  34. package/adapters/index.js.map +0 -1
  35. package/converter/converter.d.ts +0 -17
  36. package/converter/converter.js +0 -31
  37. package/converter/converter.js.map +0 -1
  38. package/converter/index.d.ts +0 -1
  39. package/converter/index.js +0 -2
  40. package/converter/index.js.map +0 -1
  41. package/dao/firestore.dao.d.ts +0 -17
  42. package/dao/firestore.dao.js +0 -22
  43. package/dao/firestore.dao.js.map +0 -1
  44. package/dao/index.d.ts +0 -1
  45. package/dao/index.js +0 -2
  46. package/dao/index.js.map +0 -1
  47. package/decorators/decorators.d.ts +0 -87
  48. package/decorators/decorators.js +0 -36
  49. package/decorators/decorators.js.map +0 -1
  50. package/decorators/index.d.ts +0 -1
  51. package/decorators/index.js +0 -2
  52. package/decorators/index.js.map +0 -1
  53. package/index.js +0 -8
  54. package/index.js.map +0 -1
  55. package/interfaces/index.d.ts +0 -1
  56. package/interfaces/index.js +0 -2
  57. package/interfaces/index.js.map +0 -1
  58. package/interfaces/interfaces.d.ts +0 -63
  59. package/interfaces/interfaces.js +0 -2
  60. package/interfaces/interfaces.js.map +0 -1
  61. package/path-builder/index.d.ts +0 -1
  62. package/path-builder/index.js +0 -2
  63. package/path-builder/index.js.map +0 -1
  64. package/path-builder/path-builder.d.ts +0 -34
  65. package/path-builder/path-builder.js +0 -33
  66. package/path-builder/path-builder.js.map +0 -1
  67. package/query/firestore.query.d.ts +0 -33
  68. package/query/firestore.query.js +0 -75
  69. package/query/firestore.query.js.map +0 -1
  70. package/query/index.d.ts +0 -1
  71. package/query/index.js +0 -2
  72. package/query/index.js.map +0 -1
  73. package/query/v2/cached-query.d.ts +0 -58
  74. package/query/v2/cached-query.js +0 -102
  75. package/query/v2/cached-query.js.map +0 -1
  76. package/query/v2/index.d.ts +0 -2
  77. package/query/v2/index.js +0 -3
  78. package/query/v2/index.js.map +0 -1
  79. package/query/v2/query.d.ts +0 -46
  80. package/query/v2/query.js +0 -81
  81. package/query/v2/query.js.map +0 -1
  82. package/repository/index.d.ts +0 -1
  83. package/repository/index.js +0 -2
  84. package/repository/index.js.map +0 -1
  85. package/repository/repository.d.ts +0 -65
  86. package/repository/repository.js +0 -218
  87. package/repository/repository.js.map +0 -1
  88. package/testing/common.d.ts +0 -7
  89. package/testing/common.js +0 -19
  90. package/testing/common.js.map +0 -1
  91. package/testing/index.d.ts +0 -1
  92. package/testing/index.js +0 -2
  93. package/testing/index.js.map +0 -1
@@ -1,46 +0,0 @@
1
- import { FirestoreAdapter } from '@nx-ddd/firestore/adapters';
2
- import { IFirestoreConverter } from '@nx-ddd/firestore/converter';
3
- import { FirestoreDAO } from '@nx-ddd/firestore/dao';
4
- import { CollectionLike, DocumentReference } from '@nx-ddd/firestore/interfaces';
5
- import { ExtractParams, FirestorePathBuilder } from '@nx-ddd/firestore/path-builder';
6
- import { Observable } from 'rxjs';
7
- type ColParam<T extends BaseFirestoreQuery<any>> = Omit<ExtractParams<T['collectionPath']>, 'id'>;
8
- type DocParam<T extends BaseFirestoreQuery<any>> = ColParam<T> & {
9
- id: string;
10
- };
11
- export declare abstract class BaseFirestoreQuery<Entity extends {
12
- id: string;
13
- } = any> {
14
- protected abstract readonly adapter: FirestoreAdapter;
15
- protected abstract readonly converter: IFirestoreConverter<Entity>;
16
- abstract readonly collectionPath: string;
17
- protected abstract pathBuilder: FirestorePathBuilder<Entity, typeof this.collectionPath>;
18
- protected abstract dao: FirestoreDAO<Entity>;
19
- count(paramMap?: ColParam<this>): Promise<number>;
20
- changes(params: DocParam<this>): Observable<Entity>;
21
- get(paramMap: DocParam<this>): Promise<Entity>;
22
- list(paramMap?: ColParam<this>): Promise<Entity[]>;
23
- listChanges(paramMap?: ColParam<this>): Observable<Entity[]>;
24
- protected getChanges$ByDocument(doc: DocumentReference): Observable<Entity>;
25
- protected getListChanges$ByCollectionLike(collection: CollectionLike): Observable<Entity[]>;
26
- }
27
- export declare abstract class FirestoreQuery<Entity extends {
28
- id: string;
29
- } = any> extends BaseFirestoreQuery<Entity> {
30
- protected readonly adapter: FirestoreAdapter<any>;
31
- abstract readonly collectionPath: string;
32
- protected abstract readonly converter: IFirestoreConverter<Entity>;
33
- get pathBuilder(): FirestorePathBuilder<Entity, typeof this.collectionPath>;
34
- protected get dao(): FirestoreDAO<Entity, import("@nx-ddd/firestore/interfaces").ToFirestoreData<Entity, import("dayjs").Dayjs>>;
35
- }
36
- export declare function getFirestoreQuery<Entity extends {
37
- id: string;
38
- }>(entity: {
39
- new (): Entity;
40
- }, adapter?: FirestoreAdapter): BaseFirestoreQuery<Entity>;
41
- export declare function injectFirestoreQuery<Entity extends {
42
- id: string;
43
- }>(entity: {
44
- new (): Entity;
45
- }): BaseFirestoreQuery<Entity>;
46
- export {};
package/query/v2/query.js DELETED
@@ -1,81 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { FirestoreAdapter } from '@nx-ddd/firestore/adapters';
4
- import { getConverter } from '@nx-ddd/firestore/converter';
5
- import { FirestoreDAO } from '@nx-ddd/firestore/dao';
6
- import { getCollection } from '@nx-ddd/firestore/decorators/decorators';
7
- import { pathBuilderFactory } from '@nx-ddd/firestore/path-builder';
8
- import { catchError, lastValueFrom, map, NEVER, of, switchMap, take, tap } from 'rxjs';
9
- export class BaseFirestoreQuery {
10
- count(paramMap) {
11
- return this.dao.getCollection(paramMap).count();
12
- }
13
- changes(params) {
14
- const docRef = this.dao.doc(params);
15
- return docRef.stateChanges().pipe(map((doc) => this.converter.fromFirestore(doc)));
16
- }
17
- get(paramMap) {
18
- return lastValueFrom(this.changes(paramMap).pipe(take(1)));
19
- }
20
- list(paramMap) {
21
- return lastValueFrom(this.listChanges(paramMap).pipe(take(1)));
22
- }
23
- listChanges(paramMap) {
24
- return of(paramMap).pipe(map((paramMap) => this.dao.getCollection(paramMap)), switchMap((collection) => {
25
- return this.getListChanges$ByCollectionLike(collection);
26
- }));
27
- }
28
- getChanges$ByDocument(doc) {
29
- return doc.stateChanges().pipe(map((doc) => this.converter.fromFirestore(doc)), catchError((error) => {
30
- console.error(error);
31
- return NEVER;
32
- }));
33
- }
34
- getListChanges$ByCollectionLike(collection) {
35
- const entitiesMap = new Map();
36
- return collection.stateChanges().pipe(tap(actions => actions.forEach(({ type, payload: { doc } }) => {
37
- if (new Set(['added', 'modified']).has(type)) {
38
- entitiesMap.set(doc.id, this.converter.fromFirestore(doc));
39
- }
40
- else if (type === 'removed') {
41
- entitiesMap.delete(doc.id);
42
- }
43
- })), map(() => [...entitiesMap.values()]), catchError((error) => {
44
- console.error(error);
45
- return NEVER;
46
- }));
47
- }
48
- }
49
- let FirestoreQuery = class FirestoreQuery extends BaseFirestoreQuery {
50
- constructor() {
51
- super(...arguments);
52
- this.adapter = inject(FirestoreAdapter);
53
- }
54
- get pathBuilder() {
55
- return pathBuilderFactory(this.collectionPath);
56
- }
57
- get dao() {
58
- return new FirestoreDAO(this.adapter, this.pathBuilder);
59
- }
60
- };
61
- FirestoreQuery = __decorate([
62
- Injectable()
63
- ], FirestoreQuery);
64
- export { FirestoreQuery };
65
- export function getFirestoreQuery(entity, adapter = inject(FirestoreAdapter)) {
66
- class FirestoreQuery extends BaseFirestoreQuery {
67
- constructor(converter, collectionPath, pathBuilder, adapter, dao) {
68
- super();
69
- this.converter = converter;
70
- this.collectionPath = collectionPath;
71
- this.pathBuilder = pathBuilder;
72
- this.adapter = adapter;
73
- this.dao = dao;
74
- }
75
- }
76
- return new FirestoreQuery(getConverter(entity, adapter), getCollection(entity), pathBuilderFactory(getCollection(entity)), adapter, new FirestoreDAO(adapter, pathBuilderFactory(getCollection(entity))));
77
- }
78
- export function injectFirestoreQuery(entity) {
79
- return getFirestoreQuery(entity, inject(FirestoreAdapter));
80
- }
81
- //# sourceMappingURL=query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/firestore/src/lib/query/v2/query.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './repository';
@@ -1,2 +0,0 @@
1
- export * from './repository';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,65 +0,0 @@
1
- import { Repository } from '@nx-ddd/common/domain';
2
- import { FirestoreAdapter } from '../adapters/base';
3
- import { IFirestoreConverter } from '../converter';
4
- import { ExtractParams, FirestorePathBuilder } from '../path-builder';
5
- import { CollectionReference, CollectionGroup, DocumentReference, DocumentSnapshot } from '../interfaces';
6
- import { Observable } from 'rxjs';
7
- export type ExtractEntity<T extends BaseFirestoreRepository<any, any>> = T extends BaseFirestoreRepository<infer Entity, any> ? Entity : never;
8
- type ColParam<T extends BaseFirestoreRepository<any, any>> = Omit<ExtractParams<T['collectionPath']>, 'id'>;
9
- type DocParam<T extends BaseFirestoreRepository<any, any>, TExtra = {}> = ColParam<T> & {
10
- id: string;
11
- } & TExtra;
12
- export declare abstract class BaseFirestoreRepository<Entity extends {
13
- id: string;
14
- }, TExtraParams = {}> extends Repository<Entity> {
15
- abstract readonly collectionPath: string;
16
- protected abstract readonly adapter: FirestoreAdapter;
17
- protected abstract converter: IFirestoreConverter<Entity>;
18
- abstract readonly pathBuilder: FirestorePathBuilder<Entity, typeof this.collectionPath>;
19
- list(paramMap?: ColParam<this>, query?: any): Promise<Entity[]>;
20
- listChanges(): Observable<Entity[]>;
21
- count(paramMap?: ColParam<this>): Promise<number>;
22
- get(paramMap?: DocParam<this, TExtraParams>): Promise<Entity>;
23
- save(entity: DocParam<this, TExtraParams> & Entity): Promise<[Entity, boolean]>;
24
- saveMany(entities: Entity[]): Promise<void>;
25
- create(entity: DocParam<this, TExtraParams> & Entity): Promise<Entity>;
26
- createMany(entities: (DocParam<this, TExtraParams> & Entity)[]): Promise<Entity[]>;
27
- update(entity: DocParam<this, TExtraParams> & Partial<Entity>): Promise<void>;
28
- updateMany(data: Partial<Entity>[]): Promise<void>;
29
- delete(paramMap: DocParam<this, TExtraParams>): Promise<void>;
30
- deleteMany(params: {
31
- id: string;
32
- }[]): Promise<number>;
33
- deleteAll(): Promise<void>;
34
- bulkWrite(entities: (DocParam<this, TExtraParams> & Entity)[], timestamps?: string[]): Promise<void>;
35
- bulkCreate(entities: (DocParam<this, TExtraParams> & Entity)[]): Promise<void>;
36
- bulkUpdate(entities: (DocParam<this, TExtraParams> & Partial<Entity>)[]): Promise<void>;
37
- bulkDelete(paramMaps: DocParam<this, TExtraParams>[]): Promise<void>;
38
- protected collection(paramMap?: Omit<ExtractParams<typeof this.collectionPath>, 'id'>): CollectionReference<object>;
39
- protected collectionGroup(): CollectionGroup<object>;
40
- protected doc(paramMap: DocParam<this, TExtraParams>): DocumentReference<object>;
41
- protected genId: () => string;
42
- protected _list(collection: CollectionReference<object>): Promise<Entity[]>;
43
- protected _get(doc: DocumentReference<object>): Promise<Entity>;
44
- protected _save(doc: DocumentReference<object>, entity: Entity): Promise<[Entity, boolean]>;
45
- protected _create(doc: DocumentReference<object>, entity: Entity): Promise<Entity>;
46
- protected _set(doc: DocumentReference<object>, entity: Partial<Entity>, isUpdate?: boolean): Promise<DocumentSnapshot<object, import("../interfaces").DocumentData>>;
47
- protected buildServerTimestampObject(keys?: string[]): {};
48
- }
49
- export declare abstract class FirestoreRepository<Entity extends {
50
- id: string;
51
- }, TExtraParams = {}> extends BaseFirestoreRepository<Entity, TExtraParams> {
52
- protected readonly adapter: FirestoreAdapter<any>;
53
- get pathBuilder(): FirestorePathBuilder<Entity, typeof this.collectionPath>;
54
- }
55
- export declare function getFirestoreRepository<Entity extends {
56
- id: string;
57
- }, TExtraParams = {}>(entity: {
58
- new (): Entity;
59
- }, adapter?: FirestoreAdapter): BaseFirestoreRepository<Entity, TExtraParams>;
60
- export declare function injectFirestoreRepository<Entity extends {
61
- id: string;
62
- }, TExtraParams = {}>(entity: {
63
- new (): Entity;
64
- }): BaseFirestoreRepository<Entity, TExtraParams>;
65
- export {};
@@ -1,218 +0,0 @@
1
- import { __awaiter, __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { Repository } from '@nx-ddd/common/domain';
4
- import { toObject } from '@nx-ddd/common';
5
- import { generateId } from '@nx-ddd/common';
6
- import { FirestoreAdapter } from '../adapters/base';
7
- import { getConverter } from '../converter';
8
- import { pathBuilderFactory } from '../path-builder';
9
- import { getCollection } from '../decorators/decorators';
10
- const toPromise = callback => new Promise((resolve, reject) => {
11
- try {
12
- resolve(callback());
13
- }
14
- catch (error) {
15
- reject(error);
16
- }
17
- });
18
- function doesExist(doc) {
19
- if (typeof doc.exists === 'function') {
20
- return doc.exists();
21
- }
22
- return doc.exists;
23
- }
24
- export class BaseFirestoreRepository extends Repository {
25
- constructor() {
26
- super(...arguments);
27
- this.genId = () => generateId();
28
- }
29
- list(paramMap_1) {
30
- return __awaiter(this, arguments, void 0, function* (paramMap, query = q => q) {
31
- const collection = paramMap ? this.collection(paramMap) : this.collectionGroup();
32
- return this._list(query(collection));
33
- });
34
- }
35
- listChanges() {
36
- throw new Error('Method not implemented.');
37
- }
38
- count(paramMap) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- return this.collection(paramMap).count();
41
- });
42
- }
43
- get(paramMap) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- return this._get(this.doc(paramMap));
46
- });
47
- }
48
- save(entity) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- const docRef = this.doc(Object.assign(Object.assign({}, entity), { id: (entity === null || entity === void 0 ? void 0 : entity.id) || this.genId() }));
51
- return this._save(docRef, entity);
52
- });
53
- }
54
- saveMany(entities) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- return this.bulkWrite(entities);
57
- });
58
- }
59
- create(entity) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const obj = toObject(entity);
62
- const id = (obj === null || obj === void 0 ? void 0 : obj.id) || this.genId();
63
- return toPromise(() => this.doc(Object.assign(Object.assign({}, obj), { id }))).then(doc => this._create(doc, entity));
64
- });
65
- }
66
- createMany(entities) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- return Promise.all(entities.map(entity => this.create(entity)));
69
- });
70
- }
71
- update(entity) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- return this.doc(entity).update(this.adapter.flattenForUpdate(Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['updatedAt'])))).then(() => { });
74
- });
75
- }
76
- updateMany(data) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- return this.bulkUpdate(data);
79
- });
80
- }
81
- delete(paramMap) {
82
- return this.doc(paramMap).delete();
83
- }
84
- deleteMany(params) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- return params.reduce((batch, param) => {
87
- const doc = this.doc(param).__ref;
88
- return batch.delete(doc);
89
- }, this.adapter.batch()).commit().then(() => params.length);
90
- });
91
- }
92
- deleteAll() {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- throw new Error('Method not implemented.');
95
- });
96
- }
97
- bulkWrite(entities_1) {
98
- return __awaiter(this, arguments, void 0, function* (entities, timestamps = []) {
99
- return entities.reduce((batch, entity) => {
100
- const doc = this.doc(entity).__ref;
101
- return batch.set(doc, Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(timestamps)));
102
- }, this.adapter.batch()).commit();
103
- });
104
- }
105
- bulkCreate(entities) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- // TODO(nontangent): add maximum 500 record validation
108
- return entities.reduce((batch, entity) => {
109
- const doc = this.doc(entity).__ref;
110
- return batch.create(doc, Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['createdAt', 'updatedAt'])));
111
- }, this.adapter.batch()).commit();
112
- });
113
- }
114
- bulkUpdate(entities) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- // TODO(nontangent): add maximum 500 record validation
117
- return entities.reduce((batch, entity) => {
118
- const doc = this.doc(entity).__ref;
119
- return batch.update(doc, Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['updatedAt'])));
120
- }, this.adapter.batch()).commit();
121
- });
122
- }
123
- bulkDelete(paramMaps) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- // MEMO(@nontangent): 500件以上の削除は未対応
126
- return paramMaps.reduce((batch, paramMap) => {
127
- const doc = this.doc(paramMap).__ref;
128
- return batch.delete(doc);
129
- }, this.adapter.batch()).commit();
130
- });
131
- }
132
- collection(paramMap) {
133
- const path = this.pathBuilder.collection(paramMap);
134
- return this.adapter.collection(path);
135
- }
136
- collectionGroup() {
137
- const path = this.pathBuilder.collectionGroup();
138
- return this.adapter.collectionGroup(path);
139
- }
140
- doc(paramMap) {
141
- const path = this.pathBuilder.doc(paramMap);
142
- return this.adapter.doc(path);
143
- }
144
- _list(collection) {
145
- return collection.get().then(({ docs }) => docs.map(doc => {
146
- if (!doesExist(doc))
147
- return null;
148
- return this.converter.fromFirestore(doc);
149
- }));
150
- }
151
- _get(doc) {
152
- return doc.get().then((doc => {
153
- if (!doc.data())
154
- return null;
155
- return this.converter.fromFirestore(doc);
156
- }));
157
- }
158
- _save(doc, entity) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- const exists = yield doc.exists();
161
- if (exists) {
162
- return this._set(doc, entity).then(doc => [this.converter.fromFirestore(doc), false]);
163
- }
164
- else {
165
- return this._create(doc, entity).then(entity => [entity, true]);
166
- }
167
- });
168
- }
169
- _create(doc, entity) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- const exists = yield doc.exists().catch((error) => {
172
- // MEMO(@nontangent): bunで実行するときだけこのエラーがでるかもしれない。
173
- if (`${error}`.startsWith('Error: Did not receive document for'))
174
- return false;
175
- throw error;
176
- });
177
- if (exists)
178
- throw new Error('Document already exists');
179
- return doc.set(Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['createdAt', 'updatedAt']))).then(() => doc.get()).then(doc => this.converter.fromFirestore(doc));
180
- });
181
- }
182
- _set(doc, entity, isUpdate = true) {
183
- const data = this.converter.toFirestore(entity);
184
- return doc.set(Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(isUpdate ? ['updatedAt'] : [])), { merge: isUpdate }).then(() => doc.get());
185
- }
186
- buildServerTimestampObject(keys = ['createdAt', 'updatedAt']) {
187
- return keys.reduce((m, k) => (Object.assign(Object.assign({}, m), { [k]: this.adapter.FieldValue.serverTimestamp() })), {});
188
- }
189
- }
190
- let FirestoreRepository = class FirestoreRepository extends BaseFirestoreRepository {
191
- constructor() {
192
- super(...arguments);
193
- this.adapter = inject(FirestoreAdapter);
194
- }
195
- get pathBuilder() {
196
- return pathBuilderFactory(this.collectionPath);
197
- }
198
- };
199
- FirestoreRepository = __decorate([
200
- Injectable()
201
- ], FirestoreRepository);
202
- export { FirestoreRepository };
203
- export function getFirestoreRepository(entity, adapter = inject(FirestoreAdapter)) {
204
- class FirestoreRepository extends BaseFirestoreRepository {
205
- constructor(converter, collectionPath, pathBuilder, adapter) {
206
- super();
207
- this.converter = converter;
208
- this.collectionPath = collectionPath;
209
- this.pathBuilder = pathBuilder;
210
- this.adapter = adapter;
211
- }
212
- }
213
- return new FirestoreRepository(getConverter(entity, adapter), getCollection(entity), pathBuilderFactory(getCollection(entity)), adapter);
214
- }
215
- export function injectFirestoreRepository(entity) {
216
- return getFirestoreRepository(entity, inject(FirestoreAdapter));
217
- }
218
- //# sourceMappingURL=repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/repository/repository.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import admin from 'firebase-admin';
2
- import dayjs from 'dayjs';
3
- import { AdminFirestoreAdapter } from '../adapters/admin';
4
- export declare const testAdapterFactory: () => AdminFirestoreAdapter<unknown>;
5
- export declare const timestampFactory: (dt: dayjs.Dayjs) => admin.firestore.Timestamp;
6
- export declare function initializeTest(projectId?: string): AdminFirestoreAdapter<unknown>;
7
- export declare function clearFirestoreData(projectId?: string): Promise<void>;
package/testing/common.js DELETED
@@ -1,19 +0,0 @@
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());
8
- };
9
- export function initializeTest(projectId = 'nx-ddd') {
10
- process.env['FIRESTORE_EMULATOR_HOST'] = 'localhost:8080';
11
- admin.initializeApp({ projectId });
12
- return testAdapterFactory();
13
- }
14
- export function clearFirestoreData() {
15
- return __awaiter(this, arguments, void 0, function* (projectId = 'nx-ddd') {
16
- yield axios.delete(`http://127.0.0.1:8080/emulator/v1/projects/${projectId}/databases/(default)/documents`);
17
- });
18
- }
19
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
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,SAAS,GAAG,QAAQ;IACjD,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;yDAAC,SAAS,GAAG,QAAQ;QAC3D,MAAM,KAAK,CAAC,MAAM,CAAC,8CAA8C,SAAS,gCAAgC,CAAC,CAAC;IAC9G,CAAC;CAAA"}
@@ -1 +0,0 @@
1
- export * from './common';
package/testing/index.js DELETED
@@ -1,2 +0,0 @@
1
- export * from './common';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/firestore/src/lib/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}