@intuitionrobotics/firebase 0.41.69 → 0.41.72
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/app-backend/FirebaseModule.js +46 -63
- package/app-backend/FirebaseModule.js.map +1 -1
- package/app-backend/auth/FirebaseBaseWrapper.d.ts +2 -2
- package/app-backend/auth/FirebaseBaseWrapper.js +8 -24
- package/app-backend/auth/FirebaseBaseWrapper.js.map +1 -1
- package/app-backend/auth/FirebaseSession_Admin.d.ts +4 -6
- package/app-backend/auth/FirebaseSession_Admin.js +21 -37
- package/app-backend/auth/FirebaseSession_Admin.js.map +1 -1
- package/app-backend/auth/firebase-session.d.ts +2 -7
- package/app-backend/auth/firebase-session.js +22 -42
- package/app-backend/auth/firebase-session.js.map +1 -1
- package/app-backend/database/DatabaseWrapper.d.ts +1 -1
- package/app-backend/database/DatabaseWrapper.js +91 -195
- package/app-backend/database/DatabaseWrapper.js.map +1 -1
- package/app-backend/firestore/FirestoreCollection.js +92 -216
- package/app-backend/firestore/FirestoreCollection.js.map +1 -1
- package/app-backend/firestore/FirestoreInterface.js +30 -34
- package/app-backend/firestore/FirestoreInterface.js.map +1 -1
- package/app-backend/firestore/FirestoreTransaction.js +125 -321
- package/app-backend/firestore/FirestoreTransaction.js.map +1 -1
- package/app-backend/firestore/FirestoreWrapper.d.ts +1 -1
- package/app-backend/firestore/FirestoreWrapper.js +25 -72
- package/app-backend/firestore/FirestoreWrapper.js.map +1 -1
- package/app-backend/functions/firebase-function.js +178 -327
- package/app-backend/functions/firebase-function.js.map +1 -1
- package/app-backend/push/PushMessagesWrapper.d.ts +1 -1
- package/app-backend/push/PushMessagesWrapper.js +31 -86
- package/app-backend/push/PushMessagesWrapper.js.map +1 -1
- package/app-backend/storage/StorageWrapper.d.ts +2 -2
- package/app-backend/storage/StorageWrapper.js +166 -347
- package/app-backend/storage/StorageWrapper.js.map +1 -1
- package/app-frontend/FirebaseModule.js +81 -169
- package/app-frontend/FirebaseModule.js.map +1 -1
- package/app-frontend/analytics/AnalyticsModule.js +17 -68
- package/app-frontend/analytics/AnalyticsModule.js.map +1 -1
- package/app-frontend/analytics/AnalyticsWrapper.js +17 -33
- package/app-frontend/analytics/AnalyticsWrapper.js.map +1 -1
- package/app-frontend/auth/FirebaseSession.js +33 -80
- package/app-frontend/auth/FirebaseSession.js.map +1 -1
- package/app-frontend/auth/SwFirebaseSession.js +11 -27
- package/app-frontend/auth/SwFirebaseSession.js.map +1 -1
- package/app-frontend/database/DatabaseWrapper.js +64 -148
- package/app-frontend/database/DatabaseWrapper.js.map +1 -1
- package/app-frontend/messaging/MessagingWrapper.js +16 -68
- package/app-frontend/messaging/MessagingWrapper.js.map +1 -1
- package/app-frontend/messaging/SwMessagingWrapper.js +11 -28
- package/app-frontend/messaging/SwMessagingWrapper.js.map +1 -1
- package/package.json +8 -8
|
@@ -16,19 +16,6 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
var __extends = (this && this.__extends) || (function () {
|
|
20
|
-
var extendStatics = function (d, b) {
|
|
21
|
-
extendStatics = Object.setPrototypeOf ||
|
|
22
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
23
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
24
|
-
return extendStatics(d, b);
|
|
25
|
-
};
|
|
26
|
-
return function (d, b) {
|
|
27
|
-
extendStatics(d, b);
|
|
28
|
-
function __() { this.constructor = d; }
|
|
29
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
30
|
-
};
|
|
31
|
-
})();
|
|
32
19
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
33
20
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
34
21
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -38,380 +25,212 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
38
25
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
39
26
|
});
|
|
40
27
|
};
|
|
41
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
42
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
43
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
44
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
45
|
-
function step(op) {
|
|
46
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
47
|
-
while (_) try {
|
|
48
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
49
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
50
|
-
switch (op[0]) {
|
|
51
|
-
case 0: case 1: t = op; break;
|
|
52
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
53
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
54
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
55
|
-
default:
|
|
56
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
57
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
58
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
59
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
60
|
-
if (t[2]) _.ops.pop();
|
|
61
|
-
_.trys.pop(); continue;
|
|
62
|
-
}
|
|
63
|
-
op = body.call(thisArg, _);
|
|
64
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
65
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
29
|
exports.FileWrapper = exports.BucketWrapper = exports.StorageWrapper = void 0;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
_this.storage = storage_1.getStorage(firebaseSession.app);
|
|
78
|
-
return _this;
|
|
30
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
31
|
+
const FirebaseBaseWrapper_1 = require("../auth/FirebaseBaseWrapper");
|
|
32
|
+
const storage_1 = require("firebase-admin/storage");
|
|
33
|
+
class StorageWrapper extends FirebaseBaseWrapper_1.FirebaseBaseWrapper {
|
|
34
|
+
constructor(firebaseSession) {
|
|
35
|
+
super(firebaseSession);
|
|
36
|
+
this.storage = storage_1.getStorage(firebaseSession.app);
|
|
79
37
|
}
|
|
80
|
-
|
|
81
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
throw new ts_common_1.BadImplementationException("Bucket name MUST start with 'gs://'");
|
|
91
|
-
return [4 /*yield*/, this.storage.bucket(_bucketName).get({ autoCreate: true })];
|
|
92
|
-
case 1:
|
|
93
|
-
bucket = (_a.sent())[0];
|
|
94
|
-
// @ts-ignore
|
|
95
|
-
return [2 /*return*/, new BucketWrapper(_bucketName, bucket, this)];
|
|
96
|
-
}
|
|
97
|
-
});
|
|
38
|
+
getOrCreateBucket(bucketName) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
let _bucketName = bucketName;
|
|
41
|
+
if (!_bucketName)
|
|
42
|
+
_bucketName = `gs://${this.firebaseSession.getProjectId()}.appspot.com`;
|
|
43
|
+
if (!_bucketName.startsWith("gs://"))
|
|
44
|
+
throw new ts_common_1.BadImplementationException("Bucket name MUST start with 'gs://'");
|
|
45
|
+
const bucket = (yield this.storage.bucket(_bucketName).get({ autoCreate: true }))[0];
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
return new BucketWrapper(_bucketName, bucket, this);
|
|
98
48
|
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
}(FirebaseBaseWrapper_1.FirebaseBaseWrapper));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
102
51
|
exports.StorageWrapper = StorageWrapper;
|
|
103
|
-
|
|
104
|
-
|
|
52
|
+
class BucketWrapper {
|
|
53
|
+
constructor(bucketName, bucket, storage) {
|
|
105
54
|
this.bucketName = bucketName;
|
|
106
55
|
this.bucket = bucket;
|
|
107
56
|
this.storage = storage;
|
|
108
57
|
}
|
|
109
|
-
|
|
110
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
111
|
-
|
|
112
|
-
return
|
|
113
|
-
switch (_c.label) {
|
|
114
|
-
case 0:
|
|
115
|
-
_a = FileWrapper.bind;
|
|
116
|
-
_b = [void 0, pathToRemoteFile];
|
|
117
|
-
return [4 /*yield*/, this.bucket.file(pathToRemoteFile)];
|
|
118
|
-
case 1:
|
|
119
|
-
// @ts-ignore
|
|
120
|
-
return [2 /*return*/, new (_a.apply(FileWrapper, _b.concat([_c.sent(), this])))()];
|
|
121
|
-
}
|
|
122
|
-
});
|
|
58
|
+
getFile(pathToRemoteFile) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
return new FileWrapper(pathToRemoteFile, yield this.bucket.file(pathToRemoteFile), this);
|
|
123
62
|
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var _this = this;
|
|
131
|
-
return __generator(this, function (_a) {
|
|
132
|
-
switch (_a.label) {
|
|
133
|
-
case 0:
|
|
134
|
-
filteredFiles = [];
|
|
135
|
-
return [4 /*yield*/, this.iterateOverFiles(folder, filter, function (file) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
136
|
-
return [2 /*return*/, filteredFiles.push(file)];
|
|
137
|
-
}); }); })];
|
|
138
|
-
case 1:
|
|
139
|
-
_a.sent();
|
|
140
|
-
return [2 /*return*/, filteredFiles];
|
|
141
|
-
}
|
|
142
|
-
});
|
|
63
|
+
}
|
|
64
|
+
listFiles(folder = "", filter = () => true) {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const filteredFiles = [];
|
|
67
|
+
yield this.iterateOverFiles(folder, filter, (file) => __awaiter(this, void 0, void 0, function* () { return filteredFiles.push(file); }));
|
|
68
|
+
return filteredFiles;
|
|
143
69
|
});
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
149
|
-
return __generator(this, function (_a) {
|
|
150
|
-
switch (_a.label) {
|
|
151
|
-
case 0: return [4 /*yield*/, this.iterateOverFiles(folder, filter, function (file) { return file.delete(); })];
|
|
152
|
-
case 1:
|
|
153
|
-
_a.sent();
|
|
154
|
-
return [2 /*return*/];
|
|
155
|
-
}
|
|
156
|
-
});
|
|
70
|
+
}
|
|
71
|
+
deleteFiles(folder = "", filter = () => true) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
yield this.iterateOverFiles(folder, filter, (file) => file.delete());
|
|
157
74
|
});
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (!nextQuery)
|
|
177
|
-
return [2 /*return*/, resolve()];
|
|
178
|
-
this.bucket.getFiles(nextQuery, callback);
|
|
179
|
-
return [2 /*return*/];
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}); };
|
|
183
|
-
_this.bucket.getFiles({
|
|
184
|
-
prefix: folder,
|
|
185
|
-
autoPaginate: false
|
|
186
|
-
}, callback);
|
|
187
|
-
})];
|
|
75
|
+
}
|
|
76
|
+
iterateOverFiles(folder, filter, action) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
return new Promise((resolve, reject) => {
|
|
79
|
+
const callback = (err, files, nextQuery) => __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
if (err)
|
|
81
|
+
return reject(err);
|
|
82
|
+
if (files) {
|
|
83
|
+
yield Promise.all(files.filter(filter).map(file => action(file)));
|
|
84
|
+
}
|
|
85
|
+
if (!nextQuery)
|
|
86
|
+
return resolve();
|
|
87
|
+
this.bucket.getFiles(nextQuery, callback);
|
|
88
|
+
});
|
|
89
|
+
this.bucket.getFiles({
|
|
90
|
+
prefix: folder,
|
|
91
|
+
autoPaginate: false
|
|
92
|
+
}, callback);
|
|
188
93
|
});
|
|
189
94
|
});
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
}());
|
|
95
|
+
}
|
|
96
|
+
}
|
|
193
97
|
exports.BucketWrapper = BucketWrapper;
|
|
194
|
-
|
|
195
|
-
|
|
98
|
+
class FileWrapper {
|
|
99
|
+
constructor(path, file, bucket) {
|
|
196
100
|
this.file = file;
|
|
197
101
|
this.bucket = bucket;
|
|
198
102
|
this.path = path;
|
|
199
103
|
}
|
|
200
|
-
|
|
201
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
};
|
|
209
|
-
return [2 /*return*/, this.getSignedUrl(options)];
|
|
210
|
-
});
|
|
104
|
+
getWriteSecuredUrl(contentType, expiresInMs) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const options = {
|
|
107
|
+
action: 'write',
|
|
108
|
+
contentType: contentType,
|
|
109
|
+
expires: ts_common_1.currentTimeMillies() + expiresInMs,
|
|
110
|
+
};
|
|
111
|
+
return this.getSignedUrl(options);
|
|
211
112
|
});
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
};
|
|
221
|
-
return [2 /*return*/, this.getSignedUrl(options)];
|
|
222
|
-
});
|
|
113
|
+
}
|
|
114
|
+
getReadSecuredUrl(contentType, expiresInMs) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
const options = {
|
|
117
|
+
action: 'read',
|
|
118
|
+
expires: ts_common_1.currentTimeMillies() + expiresInMs,
|
|
119
|
+
};
|
|
120
|
+
return this.getSignedUrl(options);
|
|
223
121
|
});
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
227
|
-
return
|
|
228
|
-
switch (_a.label) {
|
|
229
|
-
case 0: return [4 /*yield*/, this.file.exists()];
|
|
230
|
-
case 1: return [2 /*return*/, (_a.sent())[0]];
|
|
231
|
-
}
|
|
232
|
-
});
|
|
122
|
+
}
|
|
123
|
+
exists() {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
return (yield this.file.exists())[0];
|
|
233
126
|
});
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
return [2 /*return*/];
|
|
254
|
-
});
|
|
127
|
+
}
|
|
128
|
+
write(data) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
if (Buffer.isBuffer(data))
|
|
131
|
+
return this.file.save(data);
|
|
132
|
+
switch (typeof data) {
|
|
133
|
+
case "function":
|
|
134
|
+
case "symbol":
|
|
135
|
+
case "bigint":
|
|
136
|
+
case "undefined":
|
|
137
|
+
throw new ts_common_1.BadImplementationException(`Cannot save file: ${this.file.name}, data is ${typeof data}`);
|
|
138
|
+
case "object":
|
|
139
|
+
return this.file.save(JSON.stringify(data));
|
|
140
|
+
case "boolean":
|
|
141
|
+
case "number":
|
|
142
|
+
case "string":
|
|
143
|
+
return this.file.save(`${data}`);
|
|
144
|
+
}
|
|
255
145
|
});
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
259
|
-
|
|
260
|
-
return
|
|
261
|
-
switch (_a.label) {
|
|
262
|
-
case 0: return [4 /*yield*/, this.file.download()];
|
|
263
|
-
case 1:
|
|
264
|
-
downloadResponse = _a.sent();
|
|
265
|
-
return [2 /*return*/, downloadResponse[0]];
|
|
266
|
-
}
|
|
267
|
-
});
|
|
146
|
+
}
|
|
147
|
+
read() {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
const downloadResponse = yield this.file.download();
|
|
150
|
+
return downloadResponse[0];
|
|
268
151
|
});
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
272
|
-
|
|
273
|
-
return
|
|
274
|
-
switch (_a.label) {
|
|
275
|
-
case 0: return [4 /*yield*/, this.copyImpl(destination)];
|
|
276
|
-
case 1:
|
|
277
|
-
copy = _a.sent();
|
|
278
|
-
return [2 /*return*/, copy[0]];
|
|
279
|
-
}
|
|
280
|
-
});
|
|
152
|
+
}
|
|
153
|
+
copy(destination) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
+
const copy = yield this.copyImpl(destination);
|
|
156
|
+
return copy[0];
|
|
281
157
|
});
|
|
282
|
-
}
|
|
283
|
-
|
|
158
|
+
}
|
|
159
|
+
copyImpl(destination) {
|
|
284
160
|
if (typeof destination === "string")
|
|
285
161
|
return this.file.copy(destination);
|
|
286
|
-
|
|
162
|
+
const bucketWrapper = destination instanceof FileWrapper ? destination.bucket : destination;
|
|
287
163
|
if (this.bucket.storage.firebaseSession !== bucketWrapper.storage.firebaseSession)
|
|
288
164
|
return this.copyByStream(destination);
|
|
289
165
|
if (destination instanceof FileWrapper)
|
|
290
166
|
return this.file.copy(destination.file);
|
|
291
167
|
return this.file.copy(destination.bucket);
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
_a = (_b.sent()).file;
|
|
306
|
-
_b.label = 3;
|
|
307
|
-
case 3:
|
|
308
|
-
destinationFile = _a;
|
|
309
|
-
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
310
|
-
_this
|
|
311
|
-
.file
|
|
312
|
-
.createReadStream()
|
|
313
|
-
.pipe(destinationFile
|
|
314
|
-
.createWriteStream()
|
|
315
|
-
.on('error', reject)
|
|
316
|
-
.on('finish', function () { return resolve([destinationFile, undefined]); }))
|
|
317
|
-
.on('error', reject);
|
|
318
|
-
})];
|
|
319
|
-
}
|
|
168
|
+
}
|
|
169
|
+
copyByStream(destination) {
|
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
const destinationFile = destination instanceof FileWrapper ? destination.file : (yield destination.getFile(this.path)).file;
|
|
172
|
+
return new Promise((resolve, reject) => {
|
|
173
|
+
this
|
|
174
|
+
.file
|
|
175
|
+
.createReadStream()
|
|
176
|
+
.pipe(destinationFile
|
|
177
|
+
.createWriteStream()
|
|
178
|
+
.on('error', reject)
|
|
179
|
+
.on('finish', () => resolve([destinationFile, undefined])))
|
|
180
|
+
.on('error', reject);
|
|
320
181
|
});
|
|
321
182
|
});
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
case 2:
|
|
333
|
-
_a.trys.push([2, 4, , 9]);
|
|
334
|
-
return [4 /*yield*/, this.delete()];
|
|
335
|
-
case 3:
|
|
336
|
-
_a.sent();
|
|
337
|
-
return [3 /*break*/, 9];
|
|
338
|
-
case 4:
|
|
339
|
-
e_1 = _a.sent();
|
|
340
|
-
_a.label = 5;
|
|
341
|
-
case 5:
|
|
342
|
-
_a.trys.push([5, 7, , 8]);
|
|
343
|
-
return [4 /*yield*/, file.delete()];
|
|
344
|
-
case 6:
|
|
345
|
-
_a.sent();
|
|
346
|
-
return [3 /*break*/, 8];
|
|
347
|
-
case 7:
|
|
348
|
-
err_1 = _a.sent();
|
|
349
|
-
throw new ts_common_1.ThisShouldNotHappenException('Error during the deletion of the recently copied file, check the attached error', err_1);
|
|
350
|
-
case 8: throw new ts_common_1.BadImplementationException('Error during the deletion of the file after a successful copy, attached error stack', e_1);
|
|
351
|
-
case 9: return [2 /*return*/];
|
|
183
|
+
}
|
|
184
|
+
move(destination) {
|
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
const file = yield this.copy(destination);
|
|
187
|
+
try {
|
|
188
|
+
yield this.delete();
|
|
189
|
+
}
|
|
190
|
+
catch (e) {
|
|
191
|
+
try {
|
|
192
|
+
yield file.delete();
|
|
352
193
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
};
|
|
356
|
-
FileWrapper.prototype.delete = function () {
|
|
357
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
358
|
-
return __generator(this, function (_a) {
|
|
359
|
-
switch (_a.label) {
|
|
360
|
-
case 0: return [4 /*yield*/, this.file.exists()];
|
|
361
|
-
case 1:
|
|
362
|
-
if (!(_a.sent()))
|
|
363
|
-
return [2 /*return*/];
|
|
364
|
-
return [2 /*return*/, this.file.delete()];
|
|
194
|
+
catch (err) {
|
|
195
|
+
throw new ts_common_1.ThisShouldNotHappenException('Error during the deletion of the recently copied file, check the attached error', err);
|
|
365
196
|
}
|
|
366
|
-
|
|
197
|
+
throw new ts_common_1.BadImplementationException('Error during the deletion of the file after a successful copy, attached error stack', e);
|
|
198
|
+
}
|
|
367
199
|
});
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
case 0: return [4 /*yield*/, this.file.getSignedUrl(options)];
|
|
375
|
-
case 1:
|
|
376
|
-
results = _a.sent();
|
|
377
|
-
url = results[0];
|
|
378
|
-
return [2 /*return*/, {
|
|
379
|
-
fileName: this.path,
|
|
380
|
-
securedUrl: url,
|
|
381
|
-
publicUrl: encodeURI("https://storage.googleapis.com/" + this.bucket.bucketName.replace("gs://", '') + this.path)
|
|
382
|
-
}];
|
|
383
|
-
}
|
|
384
|
-
});
|
|
200
|
+
}
|
|
201
|
+
delete() {
|
|
202
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
if (!(yield this.file.exists()))
|
|
204
|
+
return;
|
|
205
|
+
return this.file.delete();
|
|
385
206
|
});
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
207
|
+
}
|
|
208
|
+
getSignedUrl(options) {
|
|
209
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
+
const results = yield this.file.getSignedUrl(options);
|
|
211
|
+
const url = results[0];
|
|
212
|
+
return {
|
|
213
|
+
fileName: this.path,
|
|
214
|
+
securedUrl: url,
|
|
215
|
+
publicUrl: encodeURI(`https://storage.googleapis.com/${this.bucket.bucketName.replace(`gs://`, '')}${this.path}`)
|
|
216
|
+
};
|
|
392
217
|
});
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
396
|
-
return
|
|
397
|
-
switch (_a.label) {
|
|
398
|
-
case 0: return [4 /*yield*/, this.file.setMetadata({ metadata: metadata }, options)];
|
|
399
|
-
case 1: return [2 /*return*/, (_a.sent())[0]];
|
|
400
|
-
}
|
|
401
|
-
});
|
|
218
|
+
}
|
|
219
|
+
makePublic() {
|
|
220
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
221
|
+
return this.file.makePublic();
|
|
402
222
|
});
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
406
|
-
return
|
|
407
|
-
switch (_a.label) {
|
|
408
|
-
case 0: return [4 /*yield*/, this.file.getMetadata(options)];
|
|
409
|
-
case 1: return [2 /*return*/, (_a.sent())[0]];
|
|
410
|
-
}
|
|
411
|
-
});
|
|
223
|
+
}
|
|
224
|
+
setMetadata(metadata, options) {
|
|
225
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
226
|
+
return (yield this.file.setMetadata({ metadata }, options))[0];
|
|
412
227
|
});
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
|
|
228
|
+
}
|
|
229
|
+
getMetadata(options) {
|
|
230
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
231
|
+
return (yield this.file.getMetadata(options))[0];
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
}
|
|
416
235
|
exports.FileWrapper = FileWrapper;
|
|
417
236
|
//# sourceMappingURL=StorageWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/storage/StorageWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG
|
|
1
|
+
{"version":3,"file":"StorageWrapper.js","sourceRoot":"","sources":["../../../src/main/app-backend/storage/StorageWrapper.ts"],"names":[],"mappings":"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"}
|