@webda/gcp 4.0.0-beta.1 → 4.0.0-beta.3
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/README.md +54 -4
- package/lib/index.d.ts +5 -4
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/services/firestore.service.d.ts +236 -0
- package/lib/services/firestore.service.d.ts.map +1 -0
- package/lib/services/firestore.service.js +692 -0
- package/lib/services/firestore.service.js.map +1 -0
- package/lib/services/index.d.ts +2 -1
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +1 -1
- package/lib/services/index.js.map +1 -1
- package/lib/services/{kms.d.ts → kms.service.d.ts} +14 -14
- package/lib/services/kms.service.d.ts.map +1 -0
- package/lib/services/{kms.js → kms.service.js} +18 -16
- package/lib/services/kms.service.js.map +1 -0
- package/lib/services/{pubsub.d.ts → pubsub.service.d.ts} +23 -3
- package/lib/services/pubsub.service.d.ts.map +1 -0
- package/lib/services/{pubsub.js → pubsub.service.js} +36 -10
- package/lib/services/pubsub.service.js.map +1 -0
- package/lib/services/{queue.d.ts → queue.service.d.ts} +32 -14
- package/lib/services/queue.service.d.ts.map +1 -0
- package/lib/services/{queue.js → queue.service.js} +65 -38
- package/lib/services/queue.service.js.map +1 -0
- package/lib/services/storage.service.d.ts +268 -0
- package/lib/services/storage.service.d.ts.map +1 -0
- package/lib/services/{storage.js → storage.service.js} +125 -78
- package/lib/services/storage.service.js.map +1 -0
- package/package.json +34 -40
- package/webda.module.json +1120 -1462
- package/lib/index.spec.d.ts +0 -4
- package/lib/index.spec.js +0 -7
- package/lib/index.spec.js.map +0 -1
- package/lib/services/firestore.d.ts +0 -134
- package/lib/services/firestore.js +0 -424
- package/lib/services/firestore.js.map +0 -1
- package/lib/services/firestore.spec.d.ts +0 -1
- package/lib/services/firestore.spec.js +0 -194
- package/lib/services/firestore.spec.js.map +0 -1
- package/lib/services/kms.js.map +0 -1
- package/lib/services/kms.spec.d.ts +0 -1
- package/lib/services/kms.spec.js +0 -53
- package/lib/services/kms.spec.js.map +0 -1
- package/lib/services/pubsub.js.map +0 -1
- package/lib/services/pubsub.spec.d.ts +0 -1
- package/lib/services/pubsub.spec.js +0 -95
- package/lib/services/pubsub.spec.js.map +0 -1
- package/lib/services/queue.js.map +0 -1
- package/lib/services/queue.spec.d.ts +0 -1
- package/lib/services/queue.spec.js +0 -104
- package/lib/services/queue.spec.js.map +0 -1
- package/lib/services/storage.d.ts +0 -214
- package/lib/services/storage.js.map +0 -1
- package/lib/services/storage.spec.d.ts +0 -1
- package/lib/services/storage.spec.js +0 -220
- package/lib/services/storage.spec.js.map +0 -1
package/lib/index.spec.d.ts
DELETED
package/lib/index.spec.js
DELETED
package/lib/index.spec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { DocumentReference, Firestore } from "@google-cloud/firestore";
|
|
2
|
-
import { CoreModel, DeepPartial, Store, StoreFindResult, StoreParameters } from "@webda/core";
|
|
3
|
-
import * as WebdaQL from "@webda/ql";
|
|
4
|
-
/**
|
|
5
|
-
* Definition of a FireStore index
|
|
6
|
-
*/
|
|
7
|
-
export type FireStoreIndex = {
|
|
8
|
-
[key: string]: "asc" | "desc";
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Stored version of indexes
|
|
12
|
-
*/
|
|
13
|
-
export type FireStoreIndexOrder = {
|
|
14
|
-
[key: string]: Set<"asc" | "desc">;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Firebase parameters
|
|
18
|
-
*/
|
|
19
|
-
export declare class FireStoreParameters extends StoreParameters {
|
|
20
|
-
/**
|
|
21
|
-
* Collection to use
|
|
22
|
-
*/
|
|
23
|
-
collection: string;
|
|
24
|
-
/**
|
|
25
|
-
* To allow efficient query on several fields
|
|
26
|
-
*
|
|
27
|
-
* @see https://firebase.google.com/docs/firestore/query-data/queries
|
|
28
|
-
*/
|
|
29
|
-
compoundIndexes: FireStoreIndex[];
|
|
30
|
-
constructor(params: DeepPartial<FireStoreParameters>, service: Store);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Implement Firebase abstraction within Webda
|
|
34
|
-
*
|
|
35
|
-
* @WebdaModda GoogleCloudFireStore
|
|
36
|
-
*/
|
|
37
|
-
export default class FireStore<T extends CoreModel = CoreModel, K extends FireStoreParameters = FireStoreParameters> extends Store<T, K> {
|
|
38
|
-
firestore: Firestore;
|
|
39
|
-
compoundIndexes: {
|
|
40
|
-
[key: string]: FireStoreIndexOrder;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* @override
|
|
44
|
-
*/
|
|
45
|
-
loadParameters(params: DeepPartial<K>): FireStoreParameters;
|
|
46
|
-
/**
|
|
47
|
-
* @override
|
|
48
|
-
*/
|
|
49
|
-
init(): Promise<this>;
|
|
50
|
-
/**
|
|
51
|
-
* Get Document Reference
|
|
52
|
-
* @param uuid
|
|
53
|
-
* @param collection
|
|
54
|
-
* @returns
|
|
55
|
-
*/
|
|
56
|
-
getDocumentRef(uuid: string, collection?: string): DocumentReference;
|
|
57
|
-
/**
|
|
58
|
-
* @override
|
|
59
|
-
*
|
|
60
|
-
* Return all for now
|
|
61
|
-
*/
|
|
62
|
-
find(parsedQuery: WebdaQL.Query): Promise<StoreFindResult<T>>;
|
|
63
|
-
/**
|
|
64
|
-
* Manage OrderBy complex condition on Firebase
|
|
65
|
-
* @param query
|
|
66
|
-
* @param orderBy
|
|
67
|
-
* @param rangeAttribute
|
|
68
|
-
* @param index
|
|
69
|
-
*/
|
|
70
|
-
handleOrderBy(query: FirebaseFirestore.Query<FirebaseFirestore.DocumentData>, orderBy: WebdaQL.OrderBy[], rangeAttribute: string): FirebaseFirestore.Query<FirebaseFirestore.DocumentData>;
|
|
71
|
-
/**
|
|
72
|
-
* @override
|
|
73
|
-
*/
|
|
74
|
-
_exists(uid: string): Promise<boolean>;
|
|
75
|
-
/**
|
|
76
|
-
* @override
|
|
77
|
-
*/
|
|
78
|
-
_delete(uid: string, writeCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Recursively replace Timestamp by Date
|
|
81
|
-
* @param doc
|
|
82
|
-
* @returns
|
|
83
|
-
*/
|
|
84
|
-
giveDatesBack(doc: any): any;
|
|
85
|
-
/**
|
|
86
|
-
* @override
|
|
87
|
-
*/
|
|
88
|
-
_get(uid: string, raiseIfNotFound?: boolean): Promise<T>;
|
|
89
|
-
/**
|
|
90
|
-
* @override
|
|
91
|
-
*/
|
|
92
|
-
getAll(list?: string[]): Promise<T[]>;
|
|
93
|
-
/**
|
|
94
|
-
* @override
|
|
95
|
-
*/
|
|
96
|
-
_update(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
|
|
97
|
-
protected checkCondition(uid: string, data: any, field: string, condition: any): void;
|
|
98
|
-
/***
|
|
99
|
-
* Internal function that implement both update and patch
|
|
100
|
-
*/
|
|
101
|
-
protected _setDocument(merge: boolean, object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
102
|
-
/**
|
|
103
|
-
* @override
|
|
104
|
-
*/
|
|
105
|
-
_patch(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
|
|
106
|
-
/**
|
|
107
|
-
* @override
|
|
108
|
-
*/
|
|
109
|
-
_removeAttribute(uuid: string, attribute: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
110
|
-
/**
|
|
111
|
-
* @override
|
|
112
|
-
*/
|
|
113
|
-
_save(object: T): Promise<any>;
|
|
114
|
-
/**
|
|
115
|
-
* @override
|
|
116
|
-
*/
|
|
117
|
-
_incrementAttributes(uid: string, params: {
|
|
118
|
-
property: string;
|
|
119
|
-
value: number;
|
|
120
|
-
}[], updateDate: Date): Promise<any>;
|
|
121
|
-
/**
|
|
122
|
-
* @override
|
|
123
|
-
*/
|
|
124
|
-
_upsertItemToCollection(uid: string, prop: string, item: any, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
|
|
125
|
-
/**
|
|
126
|
-
* @override
|
|
127
|
-
*/
|
|
128
|
-
_deleteItemFromCollection(uid: string, prop: string, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
|
|
129
|
-
/**
|
|
130
|
-
* @override
|
|
131
|
-
*/
|
|
132
|
-
__clean(): Promise<void>;
|
|
133
|
-
}
|
|
134
|
-
export { FireStore };
|
|
@@ -1,424 +0,0 @@
|
|
|
1
|
-
import { FieldValue, Firestore, Timestamp } from "@google-cloud/firestore";
|
|
2
|
-
import { JSONUtils, Store, StoreNotFoundError, StoreParameters, UpdateConditionFailError } from "@webda/core";
|
|
3
|
-
import * as WebdaQL from "@webda/ql";
|
|
4
|
-
/**
|
|
5
|
-
* Firebase parameters
|
|
6
|
-
*/
|
|
7
|
-
export class FireStoreParameters extends StoreParameters {
|
|
8
|
-
constructor(params, service) {
|
|
9
|
-
super(params, service);
|
|
10
|
-
// Default to empty compoundIndexes
|
|
11
|
-
this.compoundIndexes ?? (this.compoundIndexes = []);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Implement Firebase abstraction within Webda
|
|
16
|
-
*
|
|
17
|
-
* @WebdaModda GoogleCloudFireStore
|
|
18
|
-
*/
|
|
19
|
-
export default class FireStore extends Store {
|
|
20
|
-
/**
|
|
21
|
-
* @override
|
|
22
|
-
*/
|
|
23
|
-
loadParameters(params) {
|
|
24
|
-
return new FireStoreParameters(params, this);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* @override
|
|
28
|
-
*/
|
|
29
|
-
async init() {
|
|
30
|
-
await super.init();
|
|
31
|
-
this.firestore = new Firestore();
|
|
32
|
-
this.firestore.settings({ ignoreUndefinedProperties: true });
|
|
33
|
-
this.compoundIndexes = {};
|
|
34
|
-
this.parameters.compoundIndexes.forEach(a => {
|
|
35
|
-
const key = Object.keys(a).join("/");
|
|
36
|
-
// Should contain the array of accessible order
|
|
37
|
-
this.compoundIndexes[key] = {};
|
|
38
|
-
Object.keys(a).forEach(field => {
|
|
39
|
-
var _a;
|
|
40
|
-
(_a = this.compoundIndexes[key])[field] ?? (_a[field] = new Set());
|
|
41
|
-
this.compoundIndexes[key][field].add(a[field]);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Get Document Reference
|
|
48
|
-
* @param uuid
|
|
49
|
-
* @param collection
|
|
50
|
-
* @returns
|
|
51
|
-
*/
|
|
52
|
-
getDocumentRef(uuid, collection = this.parameters.collection) {
|
|
53
|
-
return this.firestore.doc(`${collection}/${uuid}`);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* @override
|
|
57
|
-
*
|
|
58
|
-
* Return all for now
|
|
59
|
-
*/
|
|
60
|
-
async find(parsedQuery) {
|
|
61
|
-
let offset = parseInt(parsedQuery.continuationToken || "0");
|
|
62
|
-
let query = this.firestore.collection(this.parameters.collection);
|
|
63
|
-
if (offset) {
|
|
64
|
-
query = query.offset(offset);
|
|
65
|
-
}
|
|
66
|
-
let filter = new WebdaQL.AndExpression([]);
|
|
67
|
-
let rangeAttribute;
|
|
68
|
-
let toProcess;
|
|
69
|
-
if (!(parsedQuery.filter instanceof WebdaQL.AndExpression)) {
|
|
70
|
-
toProcess = new WebdaQL.AndExpression([parsedQuery.filter]);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
toProcess = parsedQuery.filter;
|
|
74
|
-
}
|
|
75
|
-
const queryAttributes = new Set();
|
|
76
|
-
let count = 0;
|
|
77
|
-
let hasIn = false;
|
|
78
|
-
let hasContains = false;
|
|
79
|
-
toProcess.children.forEach((child) => {
|
|
80
|
-
if (!(child instanceof WebdaQL.ComparisonExpression) || count) {
|
|
81
|
-
// Do not manage OR yet
|
|
82
|
-
filter.children.push(child);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
if (child.operator === "LIKE") {
|
|
86
|
-
this.log("WARN", "Firebase do not natively have 'LIKE'");
|
|
87
|
-
// LIKE is not managed by Firestore
|
|
88
|
-
filter.children.push(child);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
let operator;
|
|
92
|
-
let attribute = child.attribute.join(".");
|
|
93
|
-
queryAttributes.add(attribute);
|
|
94
|
-
// CONTAINS -> array_contains
|
|
95
|
-
// Translate operators
|
|
96
|
-
if (["=", "IN", "CONTAINS"].includes(child.operator)) {
|
|
97
|
-
// = is permitted on every fields
|
|
98
|
-
// if rangeQuery then need to check indexes
|
|
99
|
-
if (child.operator === "=") {
|
|
100
|
-
operator = "==";
|
|
101
|
-
}
|
|
102
|
-
else if (child.operator === "IN") {
|
|
103
|
-
operator = "in";
|
|
104
|
-
if (child.value.length > 10) {
|
|
105
|
-
this.log("WARN", "Firebase cannot have more than 10 values for 'in'");
|
|
106
|
-
filter.children.push(child);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (hasIn) {
|
|
110
|
-
this.log("WARN", "Firebase cannot have two 'in' (IN) clause");
|
|
111
|
-
filter.children.push(child);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
hasIn = true;
|
|
115
|
-
}
|
|
116
|
-
else if (child.operator === "CONTAINS") {
|
|
117
|
-
operator = "array-contains";
|
|
118
|
-
if (hasContains) {
|
|
119
|
-
this.log("WARN", "Firebase cannot have two 'array-contains' (CONTAINS) clause");
|
|
120
|
-
filter.children.push(child);
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
hasContains = true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
// Requires compoundIndex
|
|
128
|
-
if (queryAttributes.size > 1 && !this.compoundIndexes[[...queryAttributes.values()].sort().join("/")]) {
|
|
129
|
-
this.log("WARN", "Compound index not defined");
|
|
130
|
-
filter.children.push(child);
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (child.operator !== "!=") {
|
|
134
|
-
// Check compoundIndex exist
|
|
135
|
-
rangeAttribute ?? (rangeAttribute = attribute);
|
|
136
|
-
// Range need to apply on only one attribute
|
|
137
|
-
if (rangeAttribute !== attribute) {
|
|
138
|
-
filter.children.push(child);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
operator = child.operator;
|
|
143
|
-
}
|
|
144
|
-
query = query.where(attribute, operator, child.value);
|
|
145
|
-
});
|
|
146
|
-
// OrderBy have quite some complexity with FireStore
|
|
147
|
-
query = this.handleOrderBy(query, parsedQuery.orderBy, rangeAttribute);
|
|
148
|
-
const res = await query.limit(parsedQuery.limit || 1000).get();
|
|
149
|
-
return {
|
|
150
|
-
results: res.docs.map(d => this.initModel(this.giveDatesBack(d.data()))),
|
|
151
|
-
filter: filter.children.length ? filter : true,
|
|
152
|
-
continuationToken: res.docs.length >= parsedQuery.limit ? (offset + parsedQuery.limit).toString() : undefined
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Manage OrderBy complex condition on Firebase
|
|
157
|
-
* @param query
|
|
158
|
-
* @param orderBy
|
|
159
|
-
* @param rangeAttribute
|
|
160
|
-
* @param index
|
|
161
|
-
*/
|
|
162
|
-
handleOrderBy(query, orderBy, rangeAttribute) {
|
|
163
|
-
// Manage order if index
|
|
164
|
-
if (!orderBy) {
|
|
165
|
-
return query;
|
|
166
|
-
}
|
|
167
|
-
let requiredIndex = orderBy.map(order => order.field).sort();
|
|
168
|
-
let orders;
|
|
169
|
-
// Require index with multiple ORDER BY
|
|
170
|
-
if (requiredIndex.length > 1) {
|
|
171
|
-
orders = this.compoundIndexes[requiredIndex.join("/")];
|
|
172
|
-
if (!orders) {
|
|
173
|
-
this.log("WARN", "Skip orderBy as we are missing the index");
|
|
174
|
-
return query;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
// Range must be the first orderBy
|
|
178
|
-
if (rangeAttribute) {
|
|
179
|
-
if (!orderBy.some(order => {
|
|
180
|
-
// Need to check the permitted orderBy and direction
|
|
181
|
-
if (order.field === rangeAttribute) {
|
|
182
|
-
query = query.orderBy(order.field, order.direction.toLowerCase());
|
|
183
|
-
return true;
|
|
184
|
-
}
|
|
185
|
-
})) {
|
|
186
|
-
this.log("WARN", "Skip orderBy as the range attribute is not within ORDER BY expression");
|
|
187
|
-
// If rangeAttribute is not in orderBy then skip the orderBy completely
|
|
188
|
-
return query;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
// Add remaining orderBy from index
|
|
192
|
-
orderBy
|
|
193
|
-
.filter(order => order.field !== rangeAttribute)
|
|
194
|
-
.forEach(order => {
|
|
195
|
-
if (!orders || orders[order.field].has(order.direction.toLowerCase())) {
|
|
196
|
-
query = query.orderBy(order.field, order.direction.toLowerCase());
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
this.log("WARN", "Skip orderBy as the direction does not match index");
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
return query;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* @override
|
|
206
|
-
*/
|
|
207
|
-
async _exists(uid) {
|
|
208
|
-
return (await this.getDocumentRef(uid).get()).exists;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* @override
|
|
212
|
-
*/
|
|
213
|
-
async _delete(uid, writeCondition, itemWriteConditionField) {
|
|
214
|
-
await this.firestore.runTransaction(async (t) => {
|
|
215
|
-
const docRef = this.getDocumentRef(uid);
|
|
216
|
-
const doc = (await t.get(docRef)).data();
|
|
217
|
-
if (writeCondition && doc[itemWriteConditionField] !== writeCondition) {
|
|
218
|
-
throw new UpdateConditionFailError(uid, itemWriteConditionField, writeCondition);
|
|
219
|
-
}
|
|
220
|
-
t.delete(docRef);
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Recursively replace Timestamp by Date
|
|
225
|
-
* @param doc
|
|
226
|
-
* @returns
|
|
227
|
-
*/
|
|
228
|
-
giveDatesBack(doc) {
|
|
229
|
-
if (doc instanceof Timestamp) {
|
|
230
|
-
return doc.toDate();
|
|
231
|
-
}
|
|
232
|
-
else if (Array.isArray(doc)) {
|
|
233
|
-
return doc.map(d => this.giveDatesBack(d));
|
|
234
|
-
}
|
|
235
|
-
else if (doc instanceof Object) {
|
|
236
|
-
let res = {};
|
|
237
|
-
Object.keys(doc).forEach(k => {
|
|
238
|
-
res[k] = this.giveDatesBack(doc[k]);
|
|
239
|
-
});
|
|
240
|
-
return res;
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
return doc;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* @override
|
|
248
|
-
*/
|
|
249
|
-
async _get(uid, raiseIfNotFound) {
|
|
250
|
-
let doc = (await this.getDocumentRef(uid).get()).data();
|
|
251
|
-
if (!doc) {
|
|
252
|
-
if (raiseIfNotFound) {
|
|
253
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
254
|
-
}
|
|
255
|
-
return undefined;
|
|
256
|
-
}
|
|
257
|
-
return this.initModel(this.giveDatesBack(doc));
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* @override
|
|
261
|
-
*/
|
|
262
|
-
async getAll(list) {
|
|
263
|
-
let res = [];
|
|
264
|
-
if (list) {
|
|
265
|
-
res = (await this.firestore.collection(this.parameters.collection).where("uuid", "in", list).get()).docs;
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
// Limit to 1M docs
|
|
269
|
-
res = (await this.firestore.collection(this.parameters.collection).limit(1000000).get()).docs;
|
|
270
|
-
}
|
|
271
|
-
return res.map(doc => this.initModel(this.giveDatesBack(doc.data())));
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* @override
|
|
275
|
-
*/
|
|
276
|
-
async _update(object, uid, itemWriteCondition, itemWriteConditionField) {
|
|
277
|
-
await this._setDocument(false, object, uid, itemWriteCondition, itemWriteConditionField);
|
|
278
|
-
}
|
|
279
|
-
checkCondition(uid, data, field, condition) {
|
|
280
|
-
if (condition) {
|
|
281
|
-
let current = data[field] instanceof Timestamp ? data[field].toDate().toISOString() : data[field];
|
|
282
|
-
if (condition instanceof Date) {
|
|
283
|
-
condition = condition.toISOString();
|
|
284
|
-
}
|
|
285
|
-
if (current !== condition) {
|
|
286
|
-
throw new UpdateConditionFailError(uid, field, condition);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
/***
|
|
291
|
-
* Internal function that implement both update and patch
|
|
292
|
-
*/
|
|
293
|
-
async _setDocument(merge, object, uid, itemWriteCondition, itemWriteConditionField) {
|
|
294
|
-
let update = object;
|
|
295
|
-
// Ensure we send pure prototype
|
|
296
|
-
if (object.toStoredJSON && typeof object.toStoredJSON === "function") {
|
|
297
|
-
update = object.toStoredJSON();
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
update = JSONUtils.duplicate(object);
|
|
301
|
-
}
|
|
302
|
-
await this.firestore.runTransaction(async (t) => {
|
|
303
|
-
const docRef = this.getDocumentRef(uid);
|
|
304
|
-
const doc = await t.get(docRef);
|
|
305
|
-
if (!doc.exists) {
|
|
306
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
307
|
-
}
|
|
308
|
-
this.checkCondition(uid, doc.data(), itemWriteConditionField, itemWriteCondition);
|
|
309
|
-
t.set(docRef, update, {
|
|
310
|
-
merge
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* @override
|
|
316
|
-
*/
|
|
317
|
-
async _patch(object, uid, itemWriteCondition, itemWriteConditionField) {
|
|
318
|
-
await this._setDocument(true, object, uid, itemWriteCondition, itemWriteConditionField);
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* @override
|
|
322
|
-
*/
|
|
323
|
-
async _removeAttribute(uuid, attribute, itemWriteCondition, itemWriteConditionField) {
|
|
324
|
-
await this.firestore.runTransaction(async (t) => {
|
|
325
|
-
const docRef = this.getDocumentRef(uuid);
|
|
326
|
-
const doc = await t.get(docRef);
|
|
327
|
-
if (!doc.exists) {
|
|
328
|
-
throw new StoreNotFoundError(uuid, this.getName());
|
|
329
|
-
}
|
|
330
|
-
this.checkCondition(uuid, doc.data(), itemWriteConditionField, itemWriteCondition);
|
|
331
|
-
t.update(docRef, {
|
|
332
|
-
[attribute]: FieldValue.delete()
|
|
333
|
-
});
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* @override
|
|
338
|
-
*/
|
|
339
|
-
async _save(object) {
|
|
340
|
-
await this.getDocumentRef(object.getUuid()).set(object.toStoredJSON());
|
|
341
|
-
return object;
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* @override
|
|
345
|
-
*/
|
|
346
|
-
async _incrementAttributes(uid, params, updateDate) {
|
|
347
|
-
try {
|
|
348
|
-
const args = {
|
|
349
|
-
["_lastUpdate"]: updateDate
|
|
350
|
-
};
|
|
351
|
-
params.forEach(p => {
|
|
352
|
-
args[p.property] = FieldValue.increment(p.value);
|
|
353
|
-
});
|
|
354
|
-
await this.getDocumentRef(uid).update(args);
|
|
355
|
-
}
|
|
356
|
-
catch (err) {
|
|
357
|
-
if (err.code === 5) {
|
|
358
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
359
|
-
}
|
|
360
|
-
throw err;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* @override
|
|
365
|
-
*/
|
|
366
|
-
async _upsertItemToCollection(uid, prop, item, index, itemWriteCondition, itemWriteConditionField, updateDate) {
|
|
367
|
-
if (index !== undefined) {
|
|
368
|
-
await this.firestore.runTransaction(async (t) => {
|
|
369
|
-
const docRef = this.getDocumentRef(uid);
|
|
370
|
-
const doc = await t.get(docRef);
|
|
371
|
-
if (!doc.exists) {
|
|
372
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
373
|
-
}
|
|
374
|
-
const data = doc.data();
|
|
375
|
-
this.checkCondition(uid, data[prop][index], itemWriteConditionField, itemWriteCondition);
|
|
376
|
-
data[prop][index] = item;
|
|
377
|
-
t.update(docRef, {
|
|
378
|
-
[prop]: data[prop],
|
|
379
|
-
["_lastUpdate"]: updateDate
|
|
380
|
-
});
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
else {
|
|
384
|
-
try {
|
|
385
|
-
await this.getDocumentRef(uid).update({
|
|
386
|
-
[prop]: FieldValue.arrayUnion(item)
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
catch (err) {
|
|
390
|
-
if (err.code === 5) {
|
|
391
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
392
|
-
}
|
|
393
|
-
throw err;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
/**
|
|
398
|
-
* @override
|
|
399
|
-
*/
|
|
400
|
-
async _deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate) {
|
|
401
|
-
await this.firestore.runTransaction(async (t) => {
|
|
402
|
-
const docRef = this.getDocumentRef(uid);
|
|
403
|
-
const doc = await t.get(docRef);
|
|
404
|
-
if (!doc.exists) {
|
|
405
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
406
|
-
}
|
|
407
|
-
const data = doc.data();
|
|
408
|
-
this.checkCondition(uid, data[prop][index], itemWriteConditionField, itemWriteCondition);
|
|
409
|
-
// Get item from doc?
|
|
410
|
-
t.update(docRef, {
|
|
411
|
-
[prop]: FieldValue.arrayRemove(data[prop][index]),
|
|
412
|
-
["_lastUpdate"]: updateDate
|
|
413
|
-
});
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
/**
|
|
417
|
-
* @override
|
|
418
|
-
*/
|
|
419
|
-
async __clean() {
|
|
420
|
-
// Empty on purpose, unit test use custom collection each time
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
export { FireStore };
|
|
424
|
-
//# sourceMappingURL=firestore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../src/services/firestore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|