@nx-ddd/firestore 0.0.3 → 1.0.5
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.
- package/admin/adapter.d.ts +20 -0
- package/admin/adapter.js +62 -0
- package/admin/adapter.js.map +1 -0
- package/admin/index.d.ts +2 -0
- package/admin/index.js +2 -0
- package/admin/index.js.map +1 -1
- package/admin/interfaces.d.ts +2 -3
- package/admin/repository.d.ts +4 -28
- package/admin/repository.js +7 -71
- package/admin/repository.js.map +1 -1
- package/client/adapter.d.ts +13 -0
- package/client/adapter.js +35 -0
- package/client/adapter.js.map +1 -0
- package/client/index.d.ts +1 -0
- package/client/index.js +1 -0
- package/client/index.js.map +1 -1
- package/client/repository.d.ts +6 -16
- package/client/repository.js +4 -22
- package/client/repository.js.map +1 -1
- package/common/adapter.d.ts +17 -0
- package/common/adapter.js +24 -0
- package/common/adapter.js.map +1 -0
- package/common/index.d.ts +2 -1
- package/common/index.js +2 -2
- package/common/index.js.map +1 -1
- package/common/repository.d.ts +4 -6
- package/common/repository.js +14 -22
- package/common/repository.js.map +1 -1
- package/common/utilities/index.d.ts +1 -0
- package/{dayjs → common/utilities}/index.js +1 -1
- package/common/utilities/index.js.map +1 -0
- package/nest/adapter.d.ts +11 -7
- package/nest/adapter.js +29 -7
- package/nest/adapter.js.map +1 -1
- package/nest/index.d.ts +1 -0
- package/nest/index.js +1 -0
- package/nest/index.js.map +1 -1
- package/nest/repository.d.ts +4 -5
- package/nest/repository.js +6 -11
- package/nest/repository.js.map +1 -1
- package/package.json +3 -4
- package/common/adapters/date.adapter.d.ts +0 -15
- package/common/adapters/date.adapter.js +0 -30
- package/common/adapters/date.adapter.js.map +0 -1
- package/common/adapters/fields.adapter.d.ts +0 -3
- package/common/adapters/fields.adapter.js +0 -3
- package/common/adapters/fields.adapter.js.map +0 -1
- package/common/adapters/firestore.adapter.d.ts +0 -6
- package/common/adapters/firestore.adapter.js +0 -3
- package/common/adapters/firestore.adapter.js.map +0 -1
- package/common/adapters/index.d.ts +0 -3
- package/common/adapters/index.js +0 -7
- package/common/adapters/index.js.map +0 -1
- package/dayjs/dayjs.adapter.d.ts +0 -7
- package/dayjs/dayjs.adapter.js +0 -18
- package/dayjs/dayjs.adapter.js.map +0 -1
- package/dayjs/index.d.ts +0 -1
- package/dayjs/index.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CommonFirestoreDocument, CommonFirestoreCollection, CommonFirestoreCollectionGroup, FirestoreAdapter as _FirestoreAdapter, Timestamp } from '@nx-ddd/firestore/common';
|
|
2
|
+
import * as dayjs from 'dayjs';
|
|
3
|
+
import { firestore } from 'firebase-admin';
|
|
4
|
+
export declare const convertDocRef: <Data>(docRef: firestore.DocumentReference<Data>) => CommonFirestoreDocument<Data>;
|
|
5
|
+
export declare const convertCollectionRef: <Data>(collectionRef: firestore.CollectionReference<Data>) => CommonFirestoreCollection<Data>;
|
|
6
|
+
export declare const convertCollectionGroupRef: <Data>(collectionRef: firestore.CollectionGroup<Data>) => CommonFirestoreCollectionGroup<Data>;
|
|
7
|
+
export declare class FirestoreAdapter extends _FirestoreAdapter<dayjs.Dayjs> {
|
|
8
|
+
constructor(firestoreInstance: firestore.Firestore, firestore: any);
|
|
9
|
+
protected isDate(v: any): v is dayjs.Dayjs;
|
|
10
|
+
protected convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
|
|
11
|
+
protected convertDateToTimestamp(date: dayjs.Dayjs): Timestamp;
|
|
12
|
+
doc<Data>(path: string): CommonFirestoreDocument<Data>;
|
|
13
|
+
collection: <Data>(path: string) => CommonFirestoreCollection<Data>;
|
|
14
|
+
collectionGroup<Data>(path: string): CommonFirestoreCollectionGroup<Data>;
|
|
15
|
+
bulkWriter: <Data>() => {
|
|
16
|
+
update: (doc: CommonFirestoreDocument<Data>, data: Data) => void;
|
|
17
|
+
close: () => any;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare function createFirestoreAdapter(firestoreInstance: firestore.Firestore, firestore: any): FirestoreAdapter;
|
package/admin/adapter.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
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(firestoreInstance, firestore) {
|
|
30
|
+
super(firestoreInstance, firestore);
|
|
31
|
+
this.collection = (path) => {
|
|
32
|
+
return exports.convertCollectionRef(this.firestoreInstance.collection(path));
|
|
33
|
+
};
|
|
34
|
+
this.bulkWriter = () => ({
|
|
35
|
+
update: (doc, data) => {
|
|
36
|
+
this.firestoreInstance.bulkWriter().update(doc.__ref, data);
|
|
37
|
+
},
|
|
38
|
+
close: () => this.firestoreInstance.bulkWriter().close(),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
isDate(v) {
|
|
42
|
+
return dayjs.isDayjs(v);
|
|
43
|
+
}
|
|
44
|
+
convertTimestampToDate(timestamp) {
|
|
45
|
+
return dayjs(timestamp.toDate());
|
|
46
|
+
}
|
|
47
|
+
convertDateToTimestamp(date) {
|
|
48
|
+
return this.Timestamp.fromDate(date.toDate());
|
|
49
|
+
}
|
|
50
|
+
doc(path) {
|
|
51
|
+
return exports.convertDocRef(this.firestoreInstance.doc(path));
|
|
52
|
+
}
|
|
53
|
+
collectionGroup(path) {
|
|
54
|
+
return exports.convertCollectionGroupRef(this.firestoreInstance.collectionGroup(path));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.FirestoreAdapter = FirestoreAdapter;
|
|
58
|
+
function createFirestoreAdapter(firestoreInstance, firestore) {
|
|
59
|
+
return new FirestoreAdapter(firestoreInstance, firestore);
|
|
60
|
+
}
|
|
61
|
+
exports.createFirestoreAdapter = createFirestoreAdapter;
|
|
62
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../libs/firestore/src/admin/adapter.ts"],"names":[],"mappings":";;;AAAA,qDASkC;AAClC,+BAA+B;AAC/B,+BAA4C;AAI/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,gBAAiB,SAAQ,yBAA8B;IAElE,YACE,iBAAsC,EACtC,SAAc;QAEd,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAmBtC,eAAU,GAAG,CAAO,IAAY,EAAE,EAAE;YAClC,OAAO,4BAAoB,CAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC,CAAC;QACpF,CAAC,CAAA;QAMD,eAAU,GAAG,GAAS,EAAE,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC,GAAkC,EAAE,IAAW,EAAE,EAAE;gBAC1D,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC7D,CAAC;YACD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE;SACzD,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,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAQ,CAAC,CAAC;IACtE,CAAC;IAMD,eAAe,CAAO,IAAY;QAChC,OAAO,iCAAyB,CAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAQ,CAAC,CAAC;IAC9F,CAAC;CASF;AAxCD,4CAwCC;AAED,SAAgB,sBAAsB,CACpC,iBAAsC,EACtC,SAAc;IAEd,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AAC5D,CAAC;AALD,wDAKC"}
|
package/admin/index.d.ts
CHANGED
package/admin/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./adapter"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
4
6
|
tslib_1.__exportStar(require("./repository"), exports);
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
package/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/admin/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/admin/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B;AAC7B,uDAA6B"}
|
package/admin/interfaces.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { CommonFirestoreDocument } from '
|
|
2
|
-
import { FirestoreAdapter } from '../common/adapters';
|
|
1
|
+
import { CommonFirestoreDocument, FirestoreAdapter } from '@nx-ddd/firestore/common';
|
|
3
2
|
export interface BulkWriter<Data> {
|
|
4
3
|
update: (doc: CommonFirestoreDocument<Data>, data: Data) => any;
|
|
5
4
|
close: () => void;
|
|
6
5
|
}
|
|
7
|
-
export interface AdminFirestoreAdapter<Data> extends FirestoreAdapter {
|
|
6
|
+
export interface AdminFirestoreAdapter<Data> extends FirestoreAdapter<Date> {
|
|
8
7
|
bulkWriter: () => BulkWriter<Data>;
|
|
9
8
|
}
|
package/admin/repository.d.ts
CHANGED
|
@@ -1,33 +1,9 @@
|
|
|
1
|
+
import { FirestoreRepository } from '@nx-ddd/firestore/common';
|
|
1
2
|
import * as dayjs from 'dayjs';
|
|
2
|
-
import {
|
|
3
|
-
import { FirestoreFieldsAdapter } from '../common/adapters';
|
|
4
|
-
import { FirestoreDayJsAdapter as _FirestoreDayJsAdapter } from '../dayjs';
|
|
5
|
-
import { AdminFirestoreAdapter as IAdminFirestoreAdapter } from './interfaces';
|
|
6
|
-
import { CommonFirestoreDocument, CommonFirestoreCollection, CommonFirestoreCollectionGroup } from '../common/interfaces';
|
|
7
|
-
export declare const convertDocRef: <Data>(docRef: FirebaseFirestore.DocumentReference<Data>) => CommonFirestoreDocument<Data>;
|
|
8
|
-
export declare const convertCollectionRef: <Data>(collectionRef: FirebaseFirestore.CollectionReference<Data>) => CommonFirestoreCollection<Data>;
|
|
9
|
-
export declare const convertCollectionGroupRef: <Data>(collectionRef: FirebaseFirestore.CollectionGroup<Data>) => CommonFirestoreCollectionGroup<Data>;
|
|
10
|
-
export declare class FirestoreDayJsAdapter extends _FirestoreDayJsAdapter {
|
|
11
|
-
Timestamp: typeof FirebaseFirestore.Timestamp;
|
|
12
|
-
}
|
|
13
|
-
export declare class FieldsFirestoreAdapter implements FirestoreFieldsAdapter {
|
|
14
|
-
FieldValue: typeof FirebaseFirestore.FieldValue;
|
|
15
|
-
}
|
|
16
|
-
export declare class AdminFirestoreAdapter<Date> implements IAdminFirestoreAdapter<Date> {
|
|
17
|
-
private _firestore;
|
|
18
|
-
setFirestore(firestore: any): void;
|
|
19
|
-
doc<Data>(path: string): CommonFirestoreDocument<Data>;
|
|
20
|
-
collection<Data>(path: string): CommonFirestoreCollection<Data>;
|
|
21
|
-
collectionGroup<Data>(path: string): CommonFirestoreCollectionGroup<Data>;
|
|
22
|
-
bulkWriter: <Data>() => {
|
|
23
|
-
update: (doc: CommonFirestoreDocument<Data>, data: Data) => void;
|
|
24
|
-
close: () => any;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
3
|
+
import { FirestoreAdapter } from './adapter';
|
|
27
4
|
export declare abstract class AdminFirestoreRepository<Entity extends {
|
|
28
5
|
id: string;
|
|
29
|
-
}, Data extends object> extends
|
|
30
|
-
|
|
31
|
-
constructor(firestore: AdminFirestoreAdapter<Data>);
|
|
6
|
+
}, Data extends object> extends FirestoreRepository<Entity, Data, dayjs.Dayjs> {
|
|
7
|
+
constructor(adapter: FirestoreAdapter);
|
|
32
8
|
bulkUpdate(entities: (Partial<Entity>)[]): Promise<void>;
|
|
33
9
|
}
|
package/admin/repository.js
CHANGED
|
@@ -1,83 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AdminFirestoreRepository =
|
|
3
|
+
exports.AdminFirestoreRepository = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const rxjs_1 = require("rxjs");
|
|
9
|
-
exports.convertDocRef = (docRef) => {
|
|
10
|
-
return {
|
|
11
|
-
__ref: docRef,
|
|
12
|
-
set: (data, options) => {
|
|
13
|
-
return docRef.set(data, options).then(() => { });
|
|
14
|
-
},
|
|
15
|
-
get: () => rxjs_1.from(docRef.get())
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
exports.convertCollectionRef = (collectionRef) => {
|
|
19
|
-
return {
|
|
20
|
-
stateChanges: () => rxjs_1.of(),
|
|
21
|
-
get: () => rxjs_1.from(collectionRef.get()),
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
exports.convertCollectionGroupRef = (collectionRef) => {
|
|
25
|
-
return {
|
|
26
|
-
stateChanges: () => rxjs_1.of(),
|
|
27
|
-
get: () => rxjs_1.from(collectionRef.get()),
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
class FirestoreDayJsAdapter extends dayjs_1.FirestoreDayJsAdapter {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(...arguments);
|
|
33
|
-
this.Timestamp = admin.firestore.Timestamp;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.FirestoreDayJsAdapter = FirestoreDayJsAdapter;
|
|
37
|
-
class FieldsFirestoreAdapter {
|
|
38
|
-
constructor() {
|
|
39
|
-
this.FieldValue = admin.firestore.FieldValue;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.FieldsFirestoreAdapter = FieldsFirestoreAdapter;
|
|
43
|
-
class AdminFirestoreAdapter {
|
|
44
|
-
constructor() {
|
|
45
|
-
this.bulkWriter = () => ({
|
|
46
|
-
update: (doc, data) => {
|
|
47
|
-
this._firestore.bulkWriter().update(doc.__ref, data);
|
|
48
|
-
},
|
|
49
|
-
close: () => this._firestore.bulkWriter().close(),
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
setFirestore(firestore) {
|
|
53
|
-
this._firestore = firestore;
|
|
54
|
-
}
|
|
55
|
-
doc(path) {
|
|
56
|
-
return exports.convertDocRef(this._firestore.doc(path));
|
|
57
|
-
}
|
|
58
|
-
collection(path) {
|
|
59
|
-
return exports.convertCollectionRef(this._firestore.collection(path));
|
|
60
|
-
}
|
|
61
|
-
collectionGroup(path) {
|
|
62
|
-
return exports.convertCollectionGroupRef(this._firestore.collectionGroup(path));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
exports.AdminFirestoreAdapter = AdminFirestoreAdapter;
|
|
66
|
-
class AdminFirestoreRepository extends repository_1.CommonFirestoreRepository {
|
|
67
|
-
constructor(firestore) {
|
|
68
|
-
super(firestore, new FieldsFirestoreAdapter(), new FirestoreDayJsAdapter());
|
|
69
|
-
this.firestore = firestore;
|
|
70
|
-
}
|
|
71
|
-
;
|
|
5
|
+
const common_1 = require("@nx-ddd/firestore/common");
|
|
6
|
+
class AdminFirestoreRepository extends common_1.FirestoreRepository {
|
|
7
|
+
constructor(adapter) { super(adapter); }
|
|
72
8
|
bulkUpdate(entities) {
|
|
73
9
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
10
|
return entities.reduce((bulkWriter, entity) => {
|
|
75
11
|
const path = this.buildDocPath(entity);
|
|
76
|
-
const doc = this.
|
|
77
|
-
this.
|
|
12
|
+
const doc = this.adapter.doc(path);
|
|
13
|
+
this.adapter.bulkWriter();
|
|
78
14
|
bulkWriter.update(doc, Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['updatedAt'])));
|
|
79
15
|
return bulkWriter;
|
|
80
|
-
}, this.
|
|
16
|
+
}, this.adapter.bulkWriter()).close();
|
|
81
17
|
});
|
|
82
18
|
}
|
|
83
19
|
}
|
package/admin/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/admin/repository.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/admin/repository.ts"],"names":[],"mappings":";;;;AAAA,qDAGkC;AAIlC,MAAsB,wBAGpB,SAAQ,4BAA8C;IAEtD,YAAY,OAAyB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpD,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,OAA4B,CAAC,UAAU,EAAE,CAAC;gBAEhD,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,OAA4B,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9D,CAAC;KAAA;CACF;AAtBD,4DAsBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FirestoreAdapter as _FirestoreAdapter, Timestamp } from '@nx-ddd/firestore/common';
|
|
2
|
+
import * as dayjs from 'dayjs';
|
|
3
|
+
import firebase from 'firebase';
|
|
4
|
+
export declare class FirestoreAdapter extends _FirestoreAdapter<dayjs.Dayjs> {
|
|
5
|
+
constructor(firestoreInstance: firebase.firestore.Firestore, firestore: any);
|
|
6
|
+
protected isDate(v: any): v is dayjs.Dayjs;
|
|
7
|
+
protected convertTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
|
|
8
|
+
protected convertDateToTimestamp(date: dayjs.Dayjs): Timestamp;
|
|
9
|
+
doc<Data>(path: string): any;
|
|
10
|
+
collection<Data>(path: string): any;
|
|
11
|
+
collectionGroup<Data>(path: string): any;
|
|
12
|
+
}
|
|
13
|
+
export declare function createFirestoreAdapter(firestoreInstance: firebase.firestore.Firestore, firestore: any): FirestoreAdapter;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createFirestoreAdapter = exports.FirestoreAdapter = void 0;
|
|
4
|
+
const common_1 = require("@nx-ddd/firestore/common");
|
|
5
|
+
const dayjs = require("dayjs");
|
|
6
|
+
class FirestoreAdapter extends common_1.FirestoreAdapter {
|
|
7
|
+
constructor(firestoreInstance, firestore) {
|
|
8
|
+
super(firestoreInstance, firestore);
|
|
9
|
+
}
|
|
10
|
+
;
|
|
11
|
+
isDate(v) {
|
|
12
|
+
return dayjs.isDayjs(v);
|
|
13
|
+
}
|
|
14
|
+
convertTimestampToDate(timestamp) {
|
|
15
|
+
return dayjs(timestamp.toDate());
|
|
16
|
+
}
|
|
17
|
+
convertDateToTimestamp(date) {
|
|
18
|
+
return this.Timestamp.fromDate(date.toDate());
|
|
19
|
+
}
|
|
20
|
+
doc(path) {
|
|
21
|
+
return this.firestoreInstance.doc(path);
|
|
22
|
+
}
|
|
23
|
+
collection(path) {
|
|
24
|
+
return this.firestoreInstance.collection(path);
|
|
25
|
+
}
|
|
26
|
+
collectionGroup(path) {
|
|
27
|
+
return this.firestoreInstance.collectionGroup(path);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.FirestoreAdapter = FirestoreAdapter;
|
|
31
|
+
function createFirestoreAdapter(firestoreInstance, firestore) {
|
|
32
|
+
return new FirestoreAdapter(firestoreInstance, firestore);
|
|
33
|
+
}
|
|
34
|
+
exports.createFirestoreAdapter = createFirestoreAdapter;
|
|
35
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../libs/firestore/src/client/adapter.ts"],"names":[],"mappings":";;;AAAA,qDAA4F;AAC5F,+BAA+B;AAI/B,MAAa,gBAAiB,SAAQ,yBAA8B;IAElE,YACE,iBAA+C,EAC/C,SAAc;QAEd,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAAA,CAAC;IAEQ,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,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAO,IAAY;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAO,IAAY;QAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;CAEF;AAjCD,4CAiCC;AAED,SAAgB,sBAAsB,CACpC,iBAA+C,EAC/C,SAAc;IAEd,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AAC5D,CAAC;AALD,wDAKC"}
|
package/client/index.d.ts
CHANGED
package/client/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./adapter"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./repository"), exports);
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/client/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,uDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/client/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B;AAC7B,uDAA6B"}
|
package/client/repository.d.ts
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { FirestoreFieldsAdapter } from '../common/adapters';
|
|
6
|
-
import { FirestoreDayJsAdapter as _FirestoreDayJsAdapter } from '../dayjs';
|
|
7
|
-
export declare class FirestoreDayJsAdapter extends _FirestoreDayJsAdapter {
|
|
8
|
-
Timestamp: typeof firebase.firestore.Timestamp;
|
|
9
|
-
}
|
|
10
|
-
export declare class FieldsFirestoreAdapter implements FirestoreFieldsAdapter {
|
|
11
|
-
FieldValue: typeof firebase.firestore.FieldValue;
|
|
12
|
-
}
|
|
13
|
-
export declare abstract class FirestoreRepository<Firestore extends AngularFirestore, Entity extends {
|
|
1
|
+
import { FirestoreRepository as _FirestoreRepository } from '@nx-ddd/firestore/common';
|
|
2
|
+
import { FirestoreAdapter } from './adapter';
|
|
3
|
+
import * as dayjs from 'dayjs';
|
|
4
|
+
export declare abstract class FirestoreRepository<Entity extends {
|
|
14
5
|
id: string;
|
|
15
|
-
}, Data extends object> extends
|
|
16
|
-
|
|
17
|
-
constructor(firestore: Firestore);
|
|
6
|
+
}, Data extends object> extends _FirestoreRepository<Entity, Data, dayjs.Dayjs> {
|
|
7
|
+
constructor(adapter: FirestoreAdapter);
|
|
18
8
|
}
|
package/client/repository.js
CHANGED
|
@@ -1,27 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FirestoreRepository =
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class FirestoreDayJsAdapter extends dayjs_1.FirestoreDayJsAdapter {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.Timestamp = firebase_1.default.firestore.Timestamp;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.FirestoreDayJsAdapter = FirestoreDayJsAdapter;
|
|
14
|
-
class FieldsFirestoreAdapter {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.FieldValue = firebase_1.default.firestore.FieldValue;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.FieldsFirestoreAdapter = FieldsFirestoreAdapter;
|
|
20
|
-
class FirestoreRepository extends repository_1.CommonFirestoreRepository {
|
|
21
|
-
constructor(firestore) {
|
|
22
|
-
super(firestore, new FieldsFirestoreAdapter(), new FirestoreDayJsAdapter());
|
|
23
|
-
this.firestore = firestore;
|
|
24
|
-
}
|
|
3
|
+
exports.FirestoreRepository = void 0;
|
|
4
|
+
const common_1 = require("@nx-ddd/firestore/common");
|
|
5
|
+
class FirestoreRepository extends common_1.FirestoreRepository {
|
|
6
|
+
constructor(adapter) { super(adapter); }
|
|
25
7
|
}
|
|
26
8
|
exports.FirestoreRepository = FirestoreRepository;
|
|
27
9
|
//# sourceMappingURL=repository.js.map
|
package/client/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/client/repository.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/client/repository.ts"],"names":[],"mappings":";;;AAAA,qDAAuF;AAIvF,MAAsB,mBAGpB,SAAQ,4BAA+C;IACvD,YAAY,OAAyB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3D;AALD,kDAKC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CommonFirestoreCollection, CommonFirestoreCollectionGroup, CommonFirestoreDocument, FirestoreData, Timestamp } from "./interfaces";
|
|
2
|
+
export declare abstract class FirestoreAdapter<Date> {
|
|
3
|
+
protected firestoreInstance: any;
|
|
4
|
+
protected _firestore: any;
|
|
5
|
+
constructor(firestoreInstance: any, _firestore: any);
|
|
6
|
+
get Timestamp(): any;
|
|
7
|
+
get FieldValue(): any;
|
|
8
|
+
abstract doc<Data>(path: string): CommonFirestoreDocument<Data>;
|
|
9
|
+
abstract collection<Data>(path: string): CommonFirestoreCollection<Data>;
|
|
10
|
+
abstract collectionGroup<Data>(path: string): CommonFirestoreCollectionGroup<Data>;
|
|
11
|
+
toFirestore<T>(data: T): FirestoreData<T, Date>;
|
|
12
|
+
fromFirestore<T>(data: FirestoreData<T, Date>): T;
|
|
13
|
+
protected isTimestamp: (v: any) => v is Timestamp;
|
|
14
|
+
protected abstract isDate(v: any): v is Date;
|
|
15
|
+
protected abstract convertTimestampToDate(timestamp: Timestamp): Date;
|
|
16
|
+
protected abstract convertDateToTimestamp(date: Date): Timestamp;
|
|
17
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FirestoreAdapter = void 0;
|
|
4
|
+
class FirestoreAdapter {
|
|
5
|
+
constructor(firestoreInstance, _firestore) {
|
|
6
|
+
this.firestoreInstance = firestoreInstance;
|
|
7
|
+
this._firestore = _firestore;
|
|
8
|
+
this.isTimestamp = (v) => v instanceof this.Timestamp;
|
|
9
|
+
}
|
|
10
|
+
get Timestamp() {
|
|
11
|
+
return this._firestore.Timestamp;
|
|
12
|
+
}
|
|
13
|
+
get FieldValue() {
|
|
14
|
+
return this._firestore.FieldValue;
|
|
15
|
+
}
|
|
16
|
+
toFirestore(data) {
|
|
17
|
+
return Object.entries(data).reduce((pre, [k, v]) => (Object.assign(Object.assign({}, pre), { [k]: this.isDate(v) ? this.convertDateToTimestamp(v) : v })), {});
|
|
18
|
+
}
|
|
19
|
+
fromFirestore(data) {
|
|
20
|
+
return Object.entries(data).reduce((pre, [k, v]) => (Object.assign(Object.assign({}, pre), { [k]: this.isTimestamp(v) ? this.convertTimestampToDate(v) : v })), {});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.FirestoreAdapter = FirestoreAdapter;
|
|
24
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../libs/firestore/src/common/adapter.ts"],"names":[],"mappings":";;;AAQA,MAAsB,gBAAgB;IACpC,YACY,iBAAiB,EACjB,UAAU;QADV,sBAAiB,GAAjB,iBAAiB,CAAA;QACjB,eAAU,GAAV,UAAU,CAAA;QA4BZ,gBAAW,GAAG,CAAC,CAAM,EAAkB,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC;IA3B5E,CAAC;IAEL,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAOD,WAAW,CAAI,IAAO;QACpB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAC/C,GAAG,KAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAChE,EAAE,EAA4B,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAI,IAA4B;QAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAC/C,GAAG,KAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IACrE,EAAE,EAAO,CAAC,CAAC;IACf,CAAC;CAQF;AArCD,4CAqCC"}
|
package/common/index.d.ts
CHANGED
package/common/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./
|
|
5
|
-
|
|
4
|
+
tslib_1.__exportStar(require("./adapter"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./utilities"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./entity"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./repository"), exports);
|
package/common/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/common/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/common/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,uDAA6B;AAC7B,uDAA6B"}
|
package/common/repository.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { FirestoreEntityConstructor } from './entity';
|
|
3
3
|
import { CommonFirestoreCollection, CommonFirestoreCollectionGroup, CommonFirestoreDocument, DocumentSnapshot } from './interfaces';
|
|
4
|
-
import {
|
|
5
|
-
export declare abstract class
|
|
4
|
+
import { FirestoreAdapter } from './adapter';
|
|
5
|
+
export declare abstract class FirestoreRepository<Entity extends {
|
|
6
6
|
id: string;
|
|
7
7
|
}, Data extends object, Date> {
|
|
8
|
-
|
|
9
|
-
private _fields;
|
|
10
|
-
private _date;
|
|
8
|
+
adapter: FirestoreAdapter<Date>;
|
|
11
9
|
protected abstract Entity: FirestoreEntityConstructor<Entity, Data>;
|
|
12
10
|
protected abstract buildCollectionPath: (paramMap?: Partial<Entity>) => string;
|
|
13
11
|
protected abstract buildCollectionGroupPath: (paramMap?: Partial<Entity>) => string;
|
|
14
12
|
protected abstract buildDocPath: (paramMap: Partial<Entity>) => string;
|
|
15
|
-
constructor(
|
|
13
|
+
constructor(adapter: FirestoreAdapter<Date>);
|
|
16
14
|
private _list$;
|
|
17
15
|
get list$(): Observable<Entity[]>;
|
|
18
16
|
getV2(_id: string): Observable<Entity>;
|
package/common/repository.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.FirestoreRepository = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const generate_id_1 = require("@nx-ddd/firestore/common/utilities/generate-id");
|
|
6
6
|
const operators_1 = require("rxjs/operators");
|
|
@@ -16,11 +16,9 @@ const toPromise = callback => new Promise((resolve, reject) => tslib_1.__awaiter
|
|
|
16
16
|
reject(error);
|
|
17
17
|
}
|
|
18
18
|
}));
|
|
19
|
-
class
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
22
|
-
this._fields = _fields;
|
|
23
|
-
this._date = _date;
|
|
19
|
+
class FirestoreRepository {
|
|
20
|
+
constructor(adapter) {
|
|
21
|
+
this.adapter = adapter;
|
|
24
22
|
this.genId = () => generate_id_1.generateId();
|
|
25
23
|
}
|
|
26
24
|
get list$() {
|
|
@@ -58,15 +56,15 @@ class CommonFirestoreRepository {
|
|
|
58
56
|
}
|
|
59
57
|
collection(paramMap) {
|
|
60
58
|
const path = this.buildCollectionPath(paramMap);
|
|
61
|
-
return this.
|
|
59
|
+
return this.adapter.collection(path);
|
|
62
60
|
}
|
|
63
61
|
collectionGroup(paramMap) {
|
|
64
62
|
const path = this.buildCollectionGroupPath(paramMap);
|
|
65
|
-
return this.
|
|
63
|
+
return this.adapter.collectionGroup(path);
|
|
66
64
|
}
|
|
67
65
|
doc(paramMap) {
|
|
68
66
|
const path = this.buildDocPath(paramMap);
|
|
69
|
-
return this.
|
|
67
|
+
return this.adapter.doc(path);
|
|
70
68
|
}
|
|
71
69
|
_listChanges(collection) {
|
|
72
70
|
return collection.stateChanges().pipe(operators_1.scan((map, actions) => actions.reduce((_map, { type, payload: { doc } }) => {
|
|
@@ -94,23 +92,17 @@ class CommonFirestoreRepository {
|
|
|
94
92
|
return doc.set(Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(isUpdate ? ['updatedAt'] : undefined))).then(() => doc.get().toPromise());
|
|
95
93
|
}
|
|
96
94
|
buildServerTimestampObject(keys = ['createdAt', 'updatedAt']) {
|
|
97
|
-
return keys.reduce((m, k) => (Object.assign(Object.assign({}, m), { [k]: this.
|
|
95
|
+
return keys.reduce((m, k) => (Object.assign(Object.assign({}, m), { [k]: this.adapter.FieldValue.serverTimestamp() })), {});
|
|
98
96
|
}
|
|
99
97
|
get converter() {
|
|
100
98
|
return {
|
|
101
|
-
fromFirestore: (doc) => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return data;
|
|
107
|
-
},
|
|
108
|
-
toFirestore: (entity) => {
|
|
109
|
-
const data = lodash_1.pick(this._date.toFirestore(entity), this.Entity.FIELDS);
|
|
110
|
-
return data;
|
|
111
|
-
},
|
|
99
|
+
fromFirestore: (doc) => this.Entity.fromFirestoreDoc(({
|
|
100
|
+
id: doc.id, ref: { path: doc.ref.path },
|
|
101
|
+
data: () => this.adapter.fromFirestore(doc.data()),
|
|
102
|
+
})),
|
|
103
|
+
toFirestore: (entity) => lodash_1.pick(this.adapter.toFirestore(entity), this.Entity.FIELDS),
|
|
112
104
|
};
|
|
113
105
|
}
|
|
114
106
|
}
|
|
115
|
-
exports.
|
|
107
|
+
exports.FirestoreRepository = FirestoreRepository;
|
|
116
108
|
//# sourceMappingURL=repository.js.map
|
package/common/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/common/repository.ts"],"names":[],"mappings":";;;;AAAA,gFAA4E;AAE5E,8CAAoF;AACpF,mCAA8B;AAY9B,MAAM,MAAM,GAAG,CACb,GAAmB,EACnB,IAAwB,EACxB,MAAS,EACO,EAAE,CAAC,IAAI,KAAK,SAAS;IACrC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAC9B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,OAAO,CAA8B,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;IAC/F,IAAI;QAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAAE;IAAC,OAAO,KAAK,EAAE;QAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAAE;AAC/D,CAAC,CAAA,CAAC,CAAC;AAEH,MAAsB,
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/common/repository.ts"],"names":[],"mappings":";;;;AAAA,gFAA4E;AAE5E,8CAAoF;AACpF,mCAA8B;AAY9B,MAAM,MAAM,GAAG,CACb,GAAmB,EACnB,IAAwB,EACxB,MAAS,EACO,EAAE,CAAC,IAAI,KAAK,SAAS;IACrC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAC9B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,OAAO,CAA8B,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;IAC/F,IAAI;QAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAAE;IAAC,OAAO,KAAK,EAAE;QAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAAE;AAC/D,CAAC,CAAA,CAAC,CAAC;AAEH,MAAsB,mBAAmB;IAOvC,YAAmB,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAgDxC,UAAK,GAAG,GAAW,EAAE,CAAC,wBAAU,EAAE,CAAC;IAhDS,CAAC;IAGvD,IAAI,KAAK;;QACP,aAAO,IAAI,CAAC,MAAM,oCAAX,IAAI,CAAC,MAAM,GAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,uBAAW,CAAC,CAAC,CAAC,CAAC,EAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,eAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,EAAC,EAAE,EAAkB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACpB,eAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1D,gCAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAA0B;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,QAAyB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,0CAA0C;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EAAoB,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,MAAM,EAAE,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,KAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,iCAAK,MAAM,KAAE,EAAE,IAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;IAIS,UAAU,CAAC,QAA0B;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAO,IAAI,CAAC,CAAC;IAC7C,CAAC;IAES,eAAe,CAAC,QAA0B;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAO,IAAI,CAAC,CAAC;IAClD,CAAC;IAES,GAAG,CAAC,QAAyB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,YAAY,CACpB,UAAkF;QAElF,OAAO,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,CACnC,gBAAI,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAC,GAAG,EAAC,EAAC,EAAE,EAAE;YACrE,OAAO,MAAM,CAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;QACtE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,EACnC,eAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAC9B,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,UAA2C;QACzD,OAAO,UAAU,CAAC,GAAG,EAAE;aACpB,IAAI,CAAC,eAAG,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAES,IAAI,CAAC,GAAkC;QAC/C,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAES,KAAK,CAAC,GAAkC,EAAE,MAAc;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,CAAC;aACvC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,CAAC,CAAC,CAAC;IACjF,CAAC;IAES,OAAO,CAAC,GAAkC,EAAE,MAAc;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,CAAC;IAES,OAAO,CAAC,GAAkC,EAAE,MAAc;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAES,IAAI,CAAC,GAAkC,EAAE,MAAc,EAAE,QAAQ,GAAG,IAAI;QAChF,OAAO,GAAG,CAAC,GAAG,iCACT,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,GAClC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACxE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IACvC,CAAC;IAES,0BAA0B,CAAC,OAAiB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAE,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,IAAc,SAAS;QACrB,OAAO;YACL,aAAa,EAAE,CAAC,GAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC5E,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;gBACvC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAO,GAAG,CAAC,IAAI,EAA+B,CAAC;aACtF,CAAC,CAAC;YACH,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,aAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAS;SACpG,CAAA;IACH,CAAC;CAEF;AA9HD,kDA8HC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './generate-id';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./
|
|
4
|
+
tslib_1.__exportStar(require("./generate-id"), exports);
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/utilities/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B"}
|
package/nest/adapter.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { FirebaseFirestoreService } from '@aginix/nestjs-firebase-admin';
|
|
2
|
-
import { CommonFirestoreDocument, CommonFirestoreCollection, CommonFirestoreCollectionGroup } from '
|
|
3
|
-
import
|
|
2
|
+
import { CommonFirestoreDocument, CommonFirestoreCollection, CommonFirestoreCollectionGroup, FirestoreAdapter as _FirestoreAdapter, Timestamp } from '@nx-ddd/firestore/common';
|
|
3
|
+
import * as dayjs from 'dayjs';
|
|
4
4
|
export declare const convertDocRef: <Data>(docRef: FirebaseFirestore.DocumentReference<Data>) => CommonFirestoreDocument<Data>;
|
|
5
5
|
export declare const convertCollectionRef: <Data>(collectionRef: FirebaseFirestore.CollectionReference<Data>) => CommonFirestoreCollection<Data>;
|
|
6
6
|
export declare const convertCollectionGroupRef: <Data>(collectionRef: FirebaseFirestore.CollectionGroup<Data>) => CommonFirestoreCollectionGroup<Data>;
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class FirestoreAdapter<Data> extends _FirestoreAdapter<dayjs.Dayjs> {
|
|
8
8
|
nestFire: FirebaseFirestoreService;
|
|
9
|
-
constructor(nestFire: FirebaseFirestoreService);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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>;
|
|
13
16
|
bulkWriter: () => {
|
|
14
17
|
update: (doc: CommonFirestoreDocument<Data>, data: Data) => void;
|
|
15
18
|
close: () => Promise<void>;
|
|
16
19
|
};
|
|
17
20
|
}
|
|
21
|
+
export declare function createFirestoreAdapter(nestFire: FirebaseFirestoreService, firestore: any): FirestoreAdapter<unknown>;
|
package/nest/adapter.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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");
|
|
4
6
|
const rxjs_1 = require("rxjs");
|
|
5
7
|
exports.convertDocRef = (docRef) => {
|
|
6
8
|
return {
|
|
@@ -23,12 +25,10 @@ exports.convertCollectionGroupRef = (collectionRef) => {
|
|
|
23
25
|
get: () => rxjs_1.from(collectionRef.get()),
|
|
24
26
|
};
|
|
25
27
|
};
|
|
26
|
-
class
|
|
27
|
-
constructor(nestFire) {
|
|
28
|
+
class FirestoreAdapter extends common_1.FirestoreAdapter {
|
|
29
|
+
constructor(nestFire, firestore) {
|
|
30
|
+
super(nestFire.firestore, firestore);
|
|
28
31
|
this.nestFire = nestFire;
|
|
29
|
-
this.doc = (path) => exports.convertDocRef(this.nestFire.doc(path));
|
|
30
|
-
this.collection = (path) => exports.convertCollectionRef(this.nestFire.collection(path));
|
|
31
|
-
this.collectionGroup = (path) => exports.convertCollectionGroupRef(this.nestFire.collectionGroup(path));
|
|
32
32
|
this.bulkWriter = () => ({
|
|
33
33
|
update: (doc, data) => {
|
|
34
34
|
this.nestFire.bulkWriter().update(doc.__ref, data);
|
|
@@ -36,6 +36,28 @@ class NestFirestoreAdapter {
|
|
|
36
36
|
close: () => this.nestFire.bulkWriter().close(),
|
|
37
37
|
});
|
|
38
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);
|
|
39
61
|
}
|
|
40
|
-
exports.
|
|
62
|
+
exports.createFirestoreAdapter = createFirestoreAdapter;
|
|
41
63
|
//# sourceMappingURL=adapter.js.map
|
package/nest/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/adapter.ts"],"names":[],"mappings":";;;AACA,+BAA4C;
|
|
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.d.ts
CHANGED
package/nest/index.js
CHANGED
package/nest/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B"}
|
package/nest/repository.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { FirestoreRepository } from '@nx-ddd/firestore/common';
|
|
1
2
|
import * as dayjs from 'dayjs';
|
|
2
|
-
import {
|
|
3
|
-
import { AdminFirestoreAdapter } from '../admin/interfaces';
|
|
3
|
+
import { FirestoreAdapter } from './adapter';
|
|
4
4
|
export declare abstract class AdminFirestoreRepository<Entity extends {
|
|
5
5
|
id: string;
|
|
6
|
-
}, Data extends object> extends
|
|
7
|
-
|
|
8
|
-
constructor(firestore: AdminFirestoreAdapter<Data>);
|
|
6
|
+
}, Data extends object> extends FirestoreRepository<Entity, Data, dayjs.Dayjs> {
|
|
7
|
+
constructor(adapter: FirestoreAdapter<Data>);
|
|
9
8
|
bulkUpdate(entities: (Partial<Entity>)[]): Promise<void>;
|
|
10
9
|
}
|
package/nest/repository.js
CHANGED
|
@@ -2,23 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AdminFirestoreRepository = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(firestore) {
|
|
9
|
-
super(firestore, new admin_1.FieldsFirestoreAdapter(), new admin_1.FirestoreDayJsAdapter());
|
|
10
|
-
this.firestore = firestore;
|
|
11
|
-
}
|
|
12
|
-
;
|
|
5
|
+
const common_1 = require("@nx-ddd/firestore/common");
|
|
6
|
+
class AdminFirestoreRepository extends common_1.FirestoreRepository {
|
|
7
|
+
constructor(adapter) { super(adapter); }
|
|
13
8
|
bulkUpdate(entities) {
|
|
14
9
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
10
|
return entities.reduce((bulkWriter, entity) => {
|
|
16
11
|
const path = this.buildDocPath(entity);
|
|
17
|
-
const doc = this.
|
|
18
|
-
this.
|
|
12
|
+
const doc = this.adapter.doc(path);
|
|
13
|
+
this.adapter.bulkWriter();
|
|
19
14
|
bulkWriter.update(doc, Object.assign(Object.assign({}, this.converter.toFirestore(entity)), this.buildServerTimestampObject(['updatedAt'])));
|
|
20
15
|
return bulkWriter;
|
|
21
|
-
}, this.
|
|
16
|
+
}, this.adapter.bulkWriter()).close();
|
|
22
17
|
});
|
|
23
18
|
}
|
|
24
19
|
}
|
package/nest/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../libs/firestore/src/nest/repository.ts"],"names":[],"mappings":";;;;
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx-ddd/firestore",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"typings": "src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"firebase-admin": "^9.0.0",
|
|
9
8
|
"rxjs": "^6.0.0",
|
|
9
|
+
"firebase-admin": "^9.0.0",
|
|
10
10
|
"firebase": "^7.0 || ^8.0",
|
|
11
|
-
"@
|
|
12
|
-
"@nx-ddd/common": "0.0.3",
|
|
11
|
+
"@nx-ddd/common": "0.0.4",
|
|
13
12
|
"@aginix/nestjs-firebase-admin": "^2.0.0"
|
|
14
13
|
}
|
|
15
14
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FirestoreData, Timestamp, TimestampConstructor } from "../interfaces";
|
|
2
|
-
export declare abstract class BaseFirestoreDateAdapter<D> {
|
|
3
|
-
abstract Timestamp: TimestampConstructor;
|
|
4
|
-
abstract fromTimestampToDate(timestamp: Timestamp): D;
|
|
5
|
-
abstract fromDateToTimestamp(date: D): Timestamp;
|
|
6
|
-
protected abstract isDate(v: any): v is D;
|
|
7
|
-
protected isTimestamp(v: any): v is Timestamp;
|
|
8
|
-
toFirestore<T>(data: T): FirestoreData<T, D>;
|
|
9
|
-
fromFirestore<T>(data: FirestoreData<T, D>): T;
|
|
10
|
-
}
|
|
11
|
-
export declare abstract class FirestoreDateAdapter extends BaseFirestoreDateAdapter<Date> {
|
|
12
|
-
protected isDate(v: any): v is Date;
|
|
13
|
-
fromTimestampToDate(timestamp: Timestamp): Date;
|
|
14
|
-
fromDateToTimestamp(date: Date): Timestamp;
|
|
15
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FirestoreDateAdapter = exports.BaseFirestoreDateAdapter = void 0;
|
|
4
|
-
class BaseFirestoreDateAdapter {
|
|
5
|
-
isTimestamp(v) {
|
|
6
|
-
const res = v instanceof this.Timestamp;
|
|
7
|
-
return res;
|
|
8
|
-
}
|
|
9
|
-
;
|
|
10
|
-
toFirestore(data) {
|
|
11
|
-
return Object.entries(data).reduce((pre, [k, v]) => (Object.assign(Object.assign({}, pre), { [k]: this.isDate(v) ? this.fromDateToTimestamp(v) : v })), {});
|
|
12
|
-
}
|
|
13
|
-
fromFirestore(data) {
|
|
14
|
-
return Object.entries(data).reduce((pre, [k, v]) => (Object.assign(Object.assign({}, pre), { [k]: this.isTimestamp(v) ? this.fromTimestampToDate(v) : v })), {});
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.BaseFirestoreDateAdapter = BaseFirestoreDateAdapter;
|
|
18
|
-
class FirestoreDateAdapter extends BaseFirestoreDateAdapter {
|
|
19
|
-
isDate(v) {
|
|
20
|
-
return v instanceof Date;
|
|
21
|
-
}
|
|
22
|
-
fromTimestampToDate(timestamp) {
|
|
23
|
-
return timestamp.toDate();
|
|
24
|
-
}
|
|
25
|
-
fromDateToTimestamp(date) {
|
|
26
|
-
return this.Timestamp.fromDate(date);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.FirestoreDateAdapter = FirestoreDateAdapter;
|
|
30
|
-
//# sourceMappingURL=date.adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date.adapter.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/adapters/date.adapter.ts"],"names":[],"mappings":";;;AAEA,MAAsB,wBAAwB;IAMlC,WAAW,CAAC,CAAM;QAC1B,MAAM,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IAAA,CAAC;IAEF,WAAW,CAAI,IAAO;QACpB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAC/C,GAAG,KAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAC7D,EAAE,EAAyB,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAI,IAAyB;QACxC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAC/C,GAAG,KAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAClE,EAAE,EAAO,CAAC,CAAC;IACf,CAAC;CACF;AAtBD,4DAsBC;AAED,MAAsB,oBAAqB,SAAQ,wBAA8B;IACrE,MAAM,CAAC,CAAM;QACrB,OAAO,CAAC,YAAY,IAAI,CAAC;IAC3B,CAAC;IAED,mBAAmB,CAAC,SAAoB;QACtC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAZD,oDAYC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fields.adapter.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/adapters/fields.adapter.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CommonFirestoreCollection, CommonFirestoreCollectionGroup, CommonFirestoreDocument } from "../interfaces";
|
|
2
|
-
export interface FirestoreAdapter {
|
|
3
|
-
doc: <Data>(path: string) => CommonFirestoreDocument<Data>;
|
|
4
|
-
collection: <Data>(path: string) => CommonFirestoreCollection<Data>;
|
|
5
|
-
collectionGroup: <Data>(path: string) => CommonFirestoreCollectionGroup<Data>;
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firestore.adapter.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/adapters/firestore.adapter.ts"],"names":[],"mappings":""}
|
package/common/adapters/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./date.adapter"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./fields.adapter"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./firestore.adapter"), exports);
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/firestore/src/common/adapters/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,2DAAiC;AACjC,8DAAoC"}
|
package/dayjs/dayjs.adapter.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as dayjs from "dayjs";
|
|
2
|
-
import { BaseFirestoreDateAdapter, Timestamp } from "../common";
|
|
3
|
-
export declare abstract class FirestoreDayJsAdapter extends BaseFirestoreDateAdapter<dayjs.Dayjs> {
|
|
4
|
-
isDate(v: any): v is dayjs.Dayjs;
|
|
5
|
-
fromTimestampToDate(timestamp: Timestamp): dayjs.Dayjs;
|
|
6
|
-
fromDateToTimestamp(date: dayjs.Dayjs): Timestamp;
|
|
7
|
-
}
|
package/dayjs/dayjs.adapter.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FirestoreDayJsAdapter = void 0;
|
|
4
|
-
const dayjs = require("dayjs");
|
|
5
|
-
const common_1 = require("../common");
|
|
6
|
-
class FirestoreDayJsAdapter extends common_1.BaseFirestoreDateAdapter {
|
|
7
|
-
isDate(v) {
|
|
8
|
-
return dayjs.isDayjs(v);
|
|
9
|
-
}
|
|
10
|
-
fromTimestampToDate(timestamp) {
|
|
11
|
-
return dayjs(timestamp.toDate());
|
|
12
|
-
}
|
|
13
|
-
fromDateToTimestamp(date) {
|
|
14
|
-
return this.Timestamp.fromDate(date.toDate());
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.FirestoreDayJsAdapter = FirestoreDayJsAdapter;
|
|
18
|
-
//# sourceMappingURL=dayjs.adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dayjs.adapter.js","sourceRoot":"","sources":["../../../../libs/firestore/src/dayjs/dayjs.adapter.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,sCAAgE;AAEhE,MAAsB,qBAAsB,SAAQ,iCAAqC;IACvF,MAAM,CAAC,CAAM;QACX,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,mBAAmB,CAAC,SAAoB;QACtC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB,CAAC,IAAiB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAZD,sDAYC"}
|
package/dayjs/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './dayjs.adapter';
|
package/dayjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/firestore/src/dayjs/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|