@sofiakb/fireblaze-ts 1.0.0-dev.9 → 2.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commons/index.d.ts +1 -0
- package/lib/commons/index.js +14 -0
- package/lib/commons/index.js.map +1 -0
- package/lib/core/firebase-config.d.ts +7 -0
- package/lib/core/firebase-config.js +1 -1
- package/lib/core/firebase.d.ts +4 -4
- package/lib/core/firebase.js +9 -3
- package/lib/core/firebase.js.map +1 -1
- package/lib/core/firestore-repository.d.ts +324 -0
- package/lib/core/firestore-repository.js +660 -0
- package/lib/core/firestore-repository.js.map +1 -0
- package/lib/core/prepared-data.d.ts +27 -0
- package/lib/core/prepared-data.js +30 -0
- package/lib/core/prepared-data.js.map +1 -0
- package/lib/exceptions/empty-snapshot-exception.d.ts +3 -0
- package/lib/exceptions/empty-snapshot-exception.js +17 -0
- package/lib/exceptions/empty-snapshot-exception.js.map +1 -0
- package/lib/exceptions/no-document-found-exception.d.ts +11 -0
- package/lib/exceptions/no-document-found-exception.js +25 -0
- package/lib/exceptions/no-document-found-exception.js.map +1 -0
- package/lib/exceptions/no-firebase-instance-exception.js +3 -3
- package/lib/exceptions/no-firestore-instance-exception.d.ts +3 -0
- package/lib/exceptions/no-firestore-instance-exception.js +17 -0
- package/lib/exceptions/no-firestore-instance-exception.js.map +1 -0
- package/lib/exceptions/unique-constraint-exception.d.ts +11 -0
- package/lib/exceptions/unique-constraint-exception.js +25 -0
- package/lib/exceptions/unique-constraint-exception.js.map +1 -0
- package/lib/index.d.ts +4 -4
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/types/class-constructor.js +1 -1
- package/lib/types/nullable.d.ts +1 -1
- package/lib/types/nullable.js +1 -1
- package/lib/utils/date.d.ts +12 -1
- package/lib/utils/date.js +27 -14
- package/lib/utils/date.js.map +1 -1
- package/lib/utils/ignored-keys.d.ts +2 -0
- package/lib/utils/ignored-keys.js +12 -0
- package/lib/utils/ignored-keys.js.map +1 -0
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +4 -6
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/paginated-data.d.ts +35 -0
- package/lib/utils/paginated-data.js +49 -0
- package/lib/utils/paginated-data.js.map +1 -0
- package/lib/utils/to-json.d.ts +1 -0
- package/lib/utils/to-json.js +35 -0
- package/lib/utils/to-json.js.map +1 -0
- package/package.json +26 -24
- package/lib/core/firebase-repository.d.ts +0 -60
- package/lib/core/firebase-repository.js +0 -316
- package/lib/core/firebase-repository.js.map +0 -1
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { FirebaseApp } from 'firebase/app';
|
|
2
|
-
import { CollectionReference, DocumentReference, FieldPath, Firestore, FirestoreError, OrderByDirection, Query, QueryConstraint, QuerySnapshot, WhereFilterOp } from 'firebase/firestore';
|
|
3
|
-
import { ClassConstructor } from '../types/class-constructor';
|
|
4
|
-
import Nullable from '../types/nullable';
|
|
5
|
-
export interface FirebaseRepositoryAttributes {
|
|
6
|
-
collectionName: string;
|
|
7
|
-
options?: FirebaseRepositoryOptions;
|
|
8
|
-
firebase?: FirebaseApp;
|
|
9
|
-
}
|
|
10
|
-
export interface FirebaseRepositoryOptions {
|
|
11
|
-
cache: {
|
|
12
|
-
use: boolean;
|
|
13
|
-
until: number;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export default class FirebaseRepository<T> {
|
|
17
|
-
#private;
|
|
18
|
-
model: ClassConstructor<T> | null;
|
|
19
|
-
options?: FirebaseRepositoryOptions;
|
|
20
|
-
_firestoreLocalStoragePrefix: string;
|
|
21
|
-
constructor(attributes: FirebaseRepositoryAttributes);
|
|
22
|
-
clearLocalStorage(): boolean;
|
|
23
|
-
cleanup(data: any): any;
|
|
24
|
-
casting(data: any): Promise<T | null>;
|
|
25
|
-
castingAll(values: any): Promise<T | (Awaited<T> | null)[] | null>;
|
|
26
|
-
_castData(querySnapshot: QuerySnapshot): Promise<(Awaited<T> | null)[]>;
|
|
27
|
-
all(): this;
|
|
28
|
-
where(column: string, value: string | string[] | number | boolean | null, operator?: WhereFilterOp): this;
|
|
29
|
-
whereSnapshot(column: string, value: string | string[] | number | boolean | null, operator?: WhereFilterOp): this;
|
|
30
|
-
findOneById(id: string): Promise<any[] | null>;
|
|
31
|
-
documentReference(docID: string): null | DocumentReference;
|
|
32
|
-
doc(docID: string, cast?: boolean): Promise<any>;
|
|
33
|
-
orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): this;
|
|
34
|
-
limit(_limit?: number): this;
|
|
35
|
-
first(): Promise<any>;
|
|
36
|
-
offset(_offset?: number): this;
|
|
37
|
-
prepareData(data: any): {
|
|
38
|
-
documentReference: DocumentReference<import("firebase/firestore").DocumentData>;
|
|
39
|
-
data: any;
|
|
40
|
-
};
|
|
41
|
-
store(data: any): Promise<T | null>;
|
|
42
|
-
storeMultiple(values: any[]): Promise<void>;
|
|
43
|
-
update(docID: string, data: any, force?: boolean): Promise<any>;
|
|
44
|
-
delete(docID: string): Promise<any>;
|
|
45
|
-
deleteMultiple(values: any[]): Promise<void>;
|
|
46
|
-
count(_where?: QueryConstraint): Promise<number>;
|
|
47
|
-
get(cast?: boolean, snapshot?: QuerySnapshot): Promise<any | null>;
|
|
48
|
-
snapshots(callback?: (value: any) => any, cast?: boolean): import("firebase/firestore").Unsubscribe | null;
|
|
49
|
-
static verifyLogin(error: FirestoreError): null | Promise<any> | FirestoreError;
|
|
50
|
-
static _now(): Date;
|
|
51
|
-
get collection(): CollectionReference;
|
|
52
|
-
set collection(collection: CollectionReference);
|
|
53
|
-
get collectionName(): string;
|
|
54
|
-
set collectionName(collectionName: string);
|
|
55
|
-
get snapshot(): Nullable<Query>;
|
|
56
|
-
set snapshot(snapshot: Nullable<Query>);
|
|
57
|
-
get firestore(): Firestore;
|
|
58
|
-
set firestore(firestore: Firestore);
|
|
59
|
-
get instance(): FirebaseApp;
|
|
60
|
-
}
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const firestore_1 = require("firebase/firestore");
|
|
7
|
-
const lodash_1 = require("lodash");
|
|
8
|
-
const moment_1 = __importDefault(require("moment"));
|
|
9
|
-
const jquery_1 = __importDefault(require("jquery"));
|
|
10
|
-
const local_storage_1 = __importDefault(require("@sofiakb/local-storage"));
|
|
11
|
-
const utils_1 = require("../utils");
|
|
12
|
-
const date_1 = require("../utils/date");
|
|
13
|
-
const no_firebase_instance_exception_1 = __importDefault(require("../exceptions/no-firebase-instance-exception"));
|
|
14
|
-
const firebase_1 = __importDefault(require("./firebase"));
|
|
15
|
-
class FirebaseRepository {
|
|
16
|
-
#instance;
|
|
17
|
-
#firestore;
|
|
18
|
-
#collection;
|
|
19
|
-
#collectionName;
|
|
20
|
-
#snapshot;
|
|
21
|
-
model = null;
|
|
22
|
-
options;
|
|
23
|
-
_firestoreLocalStoragePrefix = 'firestore:query:';
|
|
24
|
-
constructor(attributes) {
|
|
25
|
-
if (!attributes.firebase && !firebase_1.default.getApp())
|
|
26
|
-
throw new no_firebase_instance_exception_1.default();
|
|
27
|
-
this.#instance = attributes.firebase ?? firebase_1.default.getApp();
|
|
28
|
-
this.#firestore = (0, firestore_1.getFirestore)();
|
|
29
|
-
this.#collectionName = attributes.collectionName;
|
|
30
|
-
this.#collection = (0, firestore_1.collection)(this.#firestore, attributes.collectionName);
|
|
31
|
-
this.options = attributes.options;
|
|
32
|
-
this._firestoreLocalStoragePrefix = `${this._firestoreLocalStoragePrefix}${this.collection.path}:`;
|
|
33
|
-
this.#snapshot = null;
|
|
34
|
-
const self = this;
|
|
35
|
-
if (this.options?.cache.use) {
|
|
36
|
-
(0, jquery_1.default)(window).on('unload', function () {
|
|
37
|
-
return self.clearLocalStorage();
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
clearLocalStorage() {
|
|
42
|
-
const localStorageKeys = Object.keys(localStorage), _firestoreLocalStoragePrefix = this._firestoreLocalStoragePrefix;
|
|
43
|
-
for (const localStorageKey of localStorageKeys)
|
|
44
|
-
if (localStorageKey.startsWith(_firestoreLocalStoragePrefix))
|
|
45
|
-
local_storage_1.default.delete(localStorageKey);
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
cleanup(data) {
|
|
49
|
-
const object = this.model ? new this.model(data) : null;
|
|
50
|
-
const item = ['collection', 'instance', 'firestore', 'model'];
|
|
51
|
-
item.forEach((attribute) => delete object[attribute]);
|
|
52
|
-
return object;
|
|
53
|
-
}
|
|
54
|
-
async casting(data) {
|
|
55
|
-
return this.model ? new this.model(data) : null;
|
|
56
|
-
}
|
|
57
|
-
async castingAll(values) {
|
|
58
|
-
return Array.isArray(values)
|
|
59
|
-
? await Promise.all((0, lodash_1.map)(values, async (item) => await this.casting(item)))
|
|
60
|
-
: await this.casting(values);
|
|
61
|
-
}
|
|
62
|
-
async _castData(querySnapshot) {
|
|
63
|
-
return await Promise.all(querySnapshot.docs.map(async (doc) => await this.casting(doc.data())));
|
|
64
|
-
}
|
|
65
|
-
all() {
|
|
66
|
-
this.#snapshot = (0, firestore_1.query)(this.#collection);
|
|
67
|
-
return this;
|
|
68
|
-
}
|
|
69
|
-
where(column, value, operator = '==') {
|
|
70
|
-
return this.whereSnapshot(column, value, operator);
|
|
71
|
-
}
|
|
72
|
-
whereSnapshot(column, value, operator = '==') {
|
|
73
|
-
this.#snapshot = (0, firestore_1.query)(this.#snapshot ?? this.#collection, (0, firestore_1.where)(column, operator, value));
|
|
74
|
-
return this;
|
|
75
|
-
}
|
|
76
|
-
async findOneById(id) {
|
|
77
|
-
return this.doc(id);
|
|
78
|
-
}
|
|
79
|
-
documentReference(docID) {
|
|
80
|
-
if (docID.trim() === '')
|
|
81
|
-
return null;
|
|
82
|
-
return (0, firestore_1.doc)(this.#collection, docID);
|
|
83
|
-
}
|
|
84
|
-
async doc(docID, cast = true) {
|
|
85
|
-
if (docID.trim() === '')
|
|
86
|
-
return null;
|
|
87
|
-
return new Promise(async (resolve, reject) => {
|
|
88
|
-
const documentData = await (0, firestore_1.getDoc)(this.documentReference(docID)).catch((error) => reject(FirebaseRepository.verifyLogin(error)));
|
|
89
|
-
if (documentData instanceof firestore_1.DocumentSnapshot) {
|
|
90
|
-
return documentData.exists()
|
|
91
|
-
? resolve(cast ? await this.casting(documentData.data()) : documentData)
|
|
92
|
-
: resolve(null);
|
|
93
|
-
}
|
|
94
|
-
else
|
|
95
|
-
reject(null);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
orderBy(fieldPath, directionStr) {
|
|
99
|
-
this.#snapshot = (0, firestore_1.query)(this.#snapshot ?? this.#collection, (0, firestore_1.orderBy)(fieldPath, directionStr));
|
|
100
|
-
return this;
|
|
101
|
-
}
|
|
102
|
-
limit(_limit = 1) {
|
|
103
|
-
this.#snapshot = (0, firestore_1.query)(this.#snapshot ?? this.#collection, (0, firestore_1.limit)(_limit));
|
|
104
|
-
return this;
|
|
105
|
-
}
|
|
106
|
-
first() {
|
|
107
|
-
return this.limit(1).get();
|
|
108
|
-
}
|
|
109
|
-
offset(_offset = 1) {
|
|
110
|
-
this.#snapshot = (0, firestore_1.query)(this.#snapshot ?? this.#collection, (0, firestore_1.startAt)(_offset));
|
|
111
|
-
return this;
|
|
112
|
-
}
|
|
113
|
-
prepareData(data) {
|
|
114
|
-
if (!data.id) {
|
|
115
|
-
data.id = '';
|
|
116
|
-
}
|
|
117
|
-
data.createdAt = (0, date_1.toMoment)(data.createdAt ?? FirebaseRepository._now());
|
|
118
|
-
data.updatedAt = (0, date_1.toMoment)(data.updatedAt ?? FirebaseRepository._now());
|
|
119
|
-
data = (0, lodash_1.pickBy)(data, (v) => v !== undefined);
|
|
120
|
-
Object.keys(data).map((key) => (data[key] =
|
|
121
|
-
data[key] !== null && typeof data[key] === 'object'
|
|
122
|
-
? data[key]?.constructor?.name?.toLowerCase() === 'moment'
|
|
123
|
-
? data[key].toDate()
|
|
124
|
-
: (0, utils_1.toJSON)(data[key])
|
|
125
|
-
: data[key]));
|
|
126
|
-
const documentReference = data.id && data.id.trim() !== '' ? (0, firestore_1.doc)(this.collection, data.id) : (0, firestore_1.doc)(this.collection);
|
|
127
|
-
return { documentReference, data: { ...data, id: documentReference.id } };
|
|
128
|
-
}
|
|
129
|
-
async store(data) {
|
|
130
|
-
const prepared = this.prepareData(data);
|
|
131
|
-
await (0, firestore_1.setDoc)(prepared.documentReference, { ...prepared.data, id: prepared.documentReference.id });
|
|
132
|
-
return await this.casting({ ...data, id: prepared.documentReference.id });
|
|
133
|
-
}
|
|
134
|
-
async storeMultiple(values) {
|
|
135
|
-
const chunkValues = (0, lodash_1.chunk)(values, 500);
|
|
136
|
-
for await (const chunkValue of chunkValues) {
|
|
137
|
-
const batch = (0, firestore_1.writeBatch)(this.firestore);
|
|
138
|
-
(0, lodash_1.each)(chunkValue, (data) => {
|
|
139
|
-
const prepared = this.prepareData(data);
|
|
140
|
-
batch.set(prepared.documentReference, {
|
|
141
|
-
...prepared.data,
|
|
142
|
-
id: prepared.documentReference.id,
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
await batch.commit();
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
async update(docID, data, force = false) {
|
|
149
|
-
if (docID.trim() === '')
|
|
150
|
-
return null;
|
|
151
|
-
const documentReference = this.documentReference(docID);
|
|
152
|
-
if (documentReference) {
|
|
153
|
-
data.updatedAt = FirebaseRepository._now();
|
|
154
|
-
delete data.createdAt;
|
|
155
|
-
if (force) {
|
|
156
|
-
await (0, firestore_1.setDoc)(documentReference, data);
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
await (0, firestore_1.updateDoc)(documentReference, data);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
this.clearLocalStorage();
|
|
163
|
-
return this.doc(docID);
|
|
164
|
-
}
|
|
165
|
-
async delete(docID) {
|
|
166
|
-
if (docID.trim() === '')
|
|
167
|
-
return null;
|
|
168
|
-
const documentReference = this.documentReference(docID);
|
|
169
|
-
this.clearLocalStorage();
|
|
170
|
-
if (documentReference) {
|
|
171
|
-
await (0, firestore_1.deleteDoc)(documentReference);
|
|
172
|
-
return true;
|
|
173
|
-
}
|
|
174
|
-
return false;
|
|
175
|
-
}
|
|
176
|
-
async deleteMultiple(values) {
|
|
177
|
-
const chunkValues = (0, lodash_1.chunk)(values, 500);
|
|
178
|
-
this.clearLocalStorage();
|
|
179
|
-
for await (const chunkValue of chunkValues) {
|
|
180
|
-
const batch = (0, firestore_1.writeBatch)(this.#firestore);
|
|
181
|
-
for await (const data of chunkValue) {
|
|
182
|
-
const _documentReference = typeof data === 'string' ? await this.documentReference(data) : data;
|
|
183
|
-
if (_documentReference)
|
|
184
|
-
batch.delete(_documentReference);
|
|
185
|
-
}
|
|
186
|
-
await batch.commit();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
async count(_where) {
|
|
190
|
-
const _limit = 500;
|
|
191
|
-
let count = 0;
|
|
192
|
-
const _query = _where
|
|
193
|
-
? (0, firestore_1.query)(this.#collection, _where, (0, firestore_1.orderBy)('id', 'desc'), (0, firestore_1.limit)(_limit))
|
|
194
|
-
: (0, firestore_1.query)(this.#collection, (0, firestore_1.orderBy)('id', 'desc'), (0, firestore_1.limit)(_limit));
|
|
195
|
-
let snapshot = await (0, firestore_1.getDocs)(_query);
|
|
196
|
-
if (snapshot.docs != null) {
|
|
197
|
-
while (snapshot.size > 0 && !snapshot.empty) {
|
|
198
|
-
count += snapshot.size;
|
|
199
|
-
snapshot = await (0, firestore_1.getDocs)((0, firestore_1.query)(_query, (0, firestore_1.startAfter)(snapshot.docs[snapshot.size - 1])));
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return count;
|
|
203
|
-
}
|
|
204
|
-
async get(cast, snapshot) {
|
|
205
|
-
return new Promise((resolve, reject) => {
|
|
206
|
-
if (!this.#snapshot) {
|
|
207
|
-
return reject(null);
|
|
208
|
-
}
|
|
209
|
-
const _query = this.#snapshot;
|
|
210
|
-
// @ts-ignore
|
|
211
|
-
const queryObject = _query._query;
|
|
212
|
-
let queryString = utils_1.base64.encode(JSON.stringify({
|
|
213
|
-
collectionGroup: queryObject.collectionGroup,
|
|
214
|
-
endAt: queryObject.endAt,
|
|
215
|
-
explicitOrderBy: queryObject.explicitOrderBy,
|
|
216
|
-
filters: queryObject.filters,
|
|
217
|
-
limit: queryObject.limit,
|
|
218
|
-
limitType: queryObject.limitType,
|
|
219
|
-
path: queryObject.path,
|
|
220
|
-
startAt: queryObject.startAt,
|
|
221
|
-
}));
|
|
222
|
-
if (this.options?.cache.use) {
|
|
223
|
-
queryString = utils_1.base64.encode(JSON.stringify({
|
|
224
|
-
collectionGroup: queryObject.collectionGroup,
|
|
225
|
-
endAt: queryObject.endAt,
|
|
226
|
-
explicitOrderBy: queryObject.explicitOrderBy,
|
|
227
|
-
filters: queryObject.filters,
|
|
228
|
-
limit: queryObject.limit,
|
|
229
|
-
limitType: queryObject.limitType,
|
|
230
|
-
path: queryObject.path,
|
|
231
|
-
startAt: queryObject.startAt,
|
|
232
|
-
}));
|
|
233
|
-
const cacheStorage = local_storage_1.default.get(`${this._firestoreLocalStoragePrefix}${queryString}`);
|
|
234
|
-
if (cacheStorage?.data && cacheStorage?.until && (0, moment_1.default)().unix() < (0, moment_1.default)(cacheStorage.until)?.unix()) {
|
|
235
|
-
return resolve(this.castingAll(cacheStorage?.data));
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
(0, firestore_1.getDocs)(_query)
|
|
239
|
-
.then(async (querySnapshot) => {
|
|
240
|
-
this.#snapshot = null;
|
|
241
|
-
const result = cast
|
|
242
|
-
? await this._castData(querySnapshot)
|
|
243
|
-
: await Promise.all(querySnapshot.docs.map(async (doc) => await doc.data()));
|
|
244
|
-
if (this.options?.cache.use) {
|
|
245
|
-
const firestoreStorage = {
|
|
246
|
-
data: await Promise.all(querySnapshot.docs.map(async (doc) => doc.data())),
|
|
247
|
-
until: (0, moment_1.default)().add(this.options?.cache.until, 'seconds'),
|
|
248
|
-
};
|
|
249
|
-
// @ts-ignore
|
|
250
|
-
local_storage_1.default.set(`${this._firestoreLocalStoragePrefix}${queryString}`, firestoreStorage);
|
|
251
|
-
}
|
|
252
|
-
resolve(result);
|
|
253
|
-
})
|
|
254
|
-
.catch((error) => reject(FirebaseRepository.verifyLogin(error)))
|
|
255
|
-
.finally(() => (this.#snapshot = null));
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
snapshots(callback, cast) {
|
|
259
|
-
if (!this.snapshot) {
|
|
260
|
-
return null;
|
|
261
|
-
}
|
|
262
|
-
const _query = this.snapshot;
|
|
263
|
-
return (0, firestore_1.onSnapshot)(_query, { includeMetadataChanges: true }, async (querySnapshot) => {
|
|
264
|
-
this.snapshot = null;
|
|
265
|
-
const results = cast
|
|
266
|
-
? await this._castData(querySnapshot)
|
|
267
|
-
: await Promise.all(querySnapshot.docs.map(async (doc) => await doc.data()));
|
|
268
|
-
if (callback) {
|
|
269
|
-
callback(results);
|
|
270
|
-
}
|
|
271
|
-
return results;
|
|
272
|
-
}, (error) => FirebaseRepository.verifyLogin(error), () => (this.snapshot = null));
|
|
273
|
-
}
|
|
274
|
-
static verifyLogin(error) {
|
|
275
|
-
if (error.code === 'permission-denied') {
|
|
276
|
-
return null;
|
|
277
|
-
/*cookie.delete(store.getters.TOKEN_NAME)
|
|
278
|
-
return redirect.login.view()*/
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
return error;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
static _now() {
|
|
285
|
-
return firestore_1.Timestamp.now().toDate();
|
|
286
|
-
}
|
|
287
|
-
get collection() {
|
|
288
|
-
return this.#collection;
|
|
289
|
-
}
|
|
290
|
-
set collection(collection) {
|
|
291
|
-
this.#collection = collection;
|
|
292
|
-
}
|
|
293
|
-
get collectionName() {
|
|
294
|
-
return this.#collectionName;
|
|
295
|
-
}
|
|
296
|
-
set collectionName(collectionName) {
|
|
297
|
-
this.#collectionName = collectionName;
|
|
298
|
-
}
|
|
299
|
-
get snapshot() {
|
|
300
|
-
return this.#snapshot;
|
|
301
|
-
}
|
|
302
|
-
set snapshot(snapshot) {
|
|
303
|
-
this.#snapshot = snapshot;
|
|
304
|
-
}
|
|
305
|
-
get firestore() {
|
|
306
|
-
return this.#firestore;
|
|
307
|
-
}
|
|
308
|
-
set firestore(firestore) {
|
|
309
|
-
this.#firestore = firestore;
|
|
310
|
-
}
|
|
311
|
-
get instance() {
|
|
312
|
-
return this.#instance;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
exports.default = FirebaseRepository;
|
|
316
|
-
//# sourceMappingURL=firebase-repository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-repository.js","sourceRoot":"","sources":["../../src/core/firebase-repository.ts"],"names":[],"mappings":"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"}
|