@intuitionrobotics/file-upload 0.40.24 → 0.41.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/app-backend/core/module-pack.d.ts +1 -1
- package/app-backend/modules/BucketListener.d.ts +3 -0
- package/app-backend/modules/BucketListener.js +7 -6
- package/app-backend/modules/BucketListener.js.map +1 -1
- package/app-backend/modules/UploaderModule.d.ts +6 -2
- package/app-backend/modules/UploaderModule.js +29 -9
- package/app-backend/modules/UploaderModule.js.map +1 -1
- package/app-backend/modules/UploaderTempFileModule.js +4 -3
- package/app-backend/modules/UploaderTempFileModule.js.map +1 -1
- package/app-frontend/modules/UploaderModule.js +7 -4
- package/app-frontend/modules/UploaderModule.js.map +1 -1
- package/backend.d.ts +1 -0
- package/backend.js +1 -0
- package/backend.js.map +1 -1
- package/package.json +15 -15
- package/shared/types.d.ts +5 -4
- package/shared/types.js +1 -1
- package/shared/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const Backend_ModulePack_Uploader: (import("../modules/UploaderTempFileModule").UploaderTempFileModule_Class | import("@intuitionrobotics/push-pub-sub/backend").PushPubSubModule_Class | import("@intuitionrobotics/push-pub-sub/backend").ScheduledCleanup_Class | import("../modules/
|
|
1
|
+
export declare const Backend_ModulePack_Uploader: (import("../modules/UploaderTempFileModule").UploaderTempFileModule_Class | import("@intuitionrobotics/push-pub-sub/backend").PushPubSubModule_Class | import("@intuitionrobotics/push-pub-sub/backend").ScheduledCleanup_Class | import("../modules/BucketListener").BucketListener_Class | import("../modules/UploaderModule").UploaderModule_Class | import("../modules/ServerUploaderModule").ServerUploaderModule_Class)[];
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Firebase_StorageFunction } from "@intuitionrobotics/firebase/backend-functions";
|
|
2
2
|
import { ObjectMetadata } from "firebase-functions/lib/providers/storage";
|
|
3
3
|
import { EventContext } from "firebase-functions";
|
|
4
|
+
export interface OnFileUploaded {
|
|
5
|
+
__onFileUploaded(filePath?: string): void;
|
|
6
|
+
}
|
|
4
7
|
export declare class BucketListener_Class extends Firebase_StorageFunction {
|
|
5
8
|
constructor();
|
|
6
9
|
init(): void;
|
|
@@ -68,16 +68,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
68
68
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
69
|
exports.BucketListener = exports.BucketListener_Class = void 0;
|
|
70
70
|
var backend_functions_1 = require("@intuitionrobotics/firebase/backend-functions");
|
|
71
|
-
var
|
|
71
|
+
var ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
72
|
+
var dispatcher_onFileUploaded = new ts_common_1.Dispatcher("__onFileUploaded");
|
|
72
73
|
var BucketListener_Class = /** @class */ (function (_super) {
|
|
73
74
|
__extends(BucketListener_Class, _super);
|
|
74
75
|
function BucketListener_Class() {
|
|
75
|
-
return _super.call(this
|
|
76
|
+
return _super.call(this) || this;
|
|
76
77
|
}
|
|
77
78
|
BucketListener_Class.prototype.init = function () {
|
|
78
79
|
_super.prototype.init.call(this);
|
|
79
80
|
// @ts-ignore
|
|
80
|
-
this.logInfo(
|
|
81
|
+
this.logInfo("bucketName", this.config.bucketName);
|
|
81
82
|
};
|
|
82
83
|
BucketListener_Class.prototype.onFinalize = function (object, context) {
|
|
83
84
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -86,11 +87,11 @@ var BucketListener_Class = /** @class */ (function (_super) {
|
|
|
86
87
|
switch (_a.label) {
|
|
87
88
|
case 0:
|
|
88
89
|
filePath = object.name;
|
|
89
|
-
return [4 /*yield*/,
|
|
90
|
+
return [4 /*yield*/, dispatcher_onFileUploaded.dispatchModuleAsync([filePath])];
|
|
90
91
|
case 1:
|
|
91
92
|
_a.sent();
|
|
92
|
-
this.logInfo(
|
|
93
|
-
this.logInfo(
|
|
93
|
+
this.logInfo("Object is ", object);
|
|
94
|
+
this.logInfo("Context is ", context);
|
|
94
95
|
return [2 /*return*/];
|
|
95
96
|
}
|
|
96
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BucketListener.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/BucketListener.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mFAAuF;AAGvF,
|
|
1
|
+
{"version":3,"file":"BucketListener.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/BucketListener.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mFAAuF;AAGvF,0DAAwD;AAMxD,IAAM,yBAAyB,GAAG,IAAI,sBAAU,CAAqC,kBAAkB,CAAC,CAAC;AAGzG;IACS,wCAAwB;IAChC;eACC,iBAAO;IACR,CAAC;IAGD,mCAAI,GAAJ;QACC,iBAAM,IAAI,WAAE,CAAC;QACb,aAAa;QACb,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAEK,yCAAU,GAAhB,UAAiB,MAAsB,EAAE,OAAqB;;;;;;wBACvD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;wBAC7B,qBAAM,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAA;;wBAA/D,SAA+D,CAAC;wBAChE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;wBACnC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;;;;;KACrC;IAEF,2BAAC;AAAD,CAAC,AApBD,CACS,4CAAwB,GAmBhC;AApBY,oDAAoB;AAsBpB,QAAA,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
2
|
import { FileWrapper, FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
|
|
3
3
|
import { BaseUploaderFile, DB_Temp_File, TempSecureUrl } from "../../shared/types";
|
|
4
|
+
import { OnFileUploaded } from "./BucketListener";
|
|
4
5
|
export declare const Temp_Path = "files-temp";
|
|
5
6
|
declare type Config = {
|
|
6
7
|
bucketName?: string;
|
|
8
|
+
uploaderProjectId?: string;
|
|
7
9
|
};
|
|
8
10
|
export declare type PostProcessor = (transaction: FirestoreTransaction, file: FileWrapper, doc: DB_Temp_File) => Promise<void>;
|
|
9
|
-
export declare class UploaderModule_Class extends Module<Config> {
|
|
11
|
+
export declare class UploaderModule_Class extends Module<Config> implements OnFileUploaded {
|
|
10
12
|
private storage;
|
|
11
13
|
private postProcessor;
|
|
14
|
+
__onFileUploaded(filePath?: string): Promise<void>;
|
|
12
15
|
setPostProcessor: (validator: {
|
|
13
16
|
[k: string]: PostProcessor;
|
|
14
17
|
}) => void;
|
|
18
|
+
getProcessor: (k: string) => PostProcessor;
|
|
15
19
|
init(): void;
|
|
16
|
-
getUrl(body: BaseUploaderFile[]): Promise<TempSecureUrl[]>;
|
|
20
|
+
getUrl(body: BaseUploaderFile[], pathPrefix?: string): Promise<TempSecureUrl[]>;
|
|
17
21
|
fileUploaded: (filePath?: string | undefined) => Promise<void>;
|
|
18
22
|
private notifyFrontend;
|
|
19
23
|
}
|
|
@@ -73,7 +73,7 @@ var backend_1 = require("@intuitionrobotics/firebase/backend");
|
|
|
73
73
|
var types_1 = require("../../shared/types");
|
|
74
74
|
var UploaderTempFileModule_1 = require("./UploaderTempFileModule");
|
|
75
75
|
var backend_2 = require("@intuitionrobotics/push-pub-sub/backend");
|
|
76
|
-
exports.Temp_Path =
|
|
76
|
+
exports.Temp_Path = "files-temp";
|
|
77
77
|
var UploaderModule_Class = /** @class */ (function (_super) {
|
|
78
78
|
__extends(UploaderModule_Class, _super);
|
|
79
79
|
function UploaderModule_Class() {
|
|
@@ -81,13 +81,19 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
81
81
|
_this.setPostProcessor = function (validator) {
|
|
82
82
|
_this.postProcessor = validator;
|
|
83
83
|
};
|
|
84
|
+
_this.getProcessor = function (k) {
|
|
85
|
+
var postProcessorElement = _this.postProcessor[k];
|
|
86
|
+
if (!postProcessorElement)
|
|
87
|
+
throw new ts_common_1.ImplementationMissingException("Missing validator for type " + k);
|
|
88
|
+
return postProcessorElement;
|
|
89
|
+
};
|
|
84
90
|
_this.fileUploaded = function (filePath) { return __awaiter(_this, void 0, void 0, function () {
|
|
85
91
|
var _this = this;
|
|
86
92
|
return __generator(this, function (_a) {
|
|
87
93
|
switch (_a.label) {
|
|
88
94
|
case 0:
|
|
89
95
|
if (!filePath)
|
|
90
|
-
throw new ts_common_1.ThisShouldNotHappenException(
|
|
96
|
+
throw new ts_common_1.ThisShouldNotHappenException("Missing file path");
|
|
91
97
|
this.logInfo("Looking for file with path " + filePath);
|
|
92
98
|
return [4 /*yield*/, UploaderTempFileModule_1.UploaderTempFileModule.runInTransaction(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
|
|
93
99
|
var tempMeta, val, bucket, file, e_1, e_2;
|
|
@@ -161,13 +167,26 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
161
167
|
}); };
|
|
162
168
|
return _this;
|
|
163
169
|
}
|
|
170
|
+
UploaderModule_Class.prototype.__onFileUploaded = function (filePath) {
|
|
171
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
172
|
+
return __generator(this, function (_a) {
|
|
173
|
+
switch (_a.label) {
|
|
174
|
+
case 0: return [4 /*yield*/, this.fileUploaded(filePath)];
|
|
175
|
+
case 1:
|
|
176
|
+
_a.sent();
|
|
177
|
+
return [2 /*return*/];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
};
|
|
164
182
|
UploaderModule_Class.prototype.init = function () {
|
|
165
183
|
if (!this.postProcessor)
|
|
166
|
-
throw new ts_common_1.ImplementationMissingException(
|
|
167
|
-
this.storage = backend_1.FirebaseModule.createAdminSession().getStorage();
|
|
184
|
+
throw new ts_common_1.ImplementationMissingException("You must set a postProcessor for the UploaderModule");
|
|
185
|
+
this.storage = backend_1.FirebaseModule.createAdminSession(this.config.uploaderProjectId).getStorage();
|
|
168
186
|
};
|
|
169
|
-
UploaderModule_Class.prototype.getUrl = function (body) {
|
|
187
|
+
UploaderModule_Class.prototype.getUrl = function (body, pathPrefix) {
|
|
170
188
|
var _a;
|
|
189
|
+
if (pathPrefix === void 0) { pathPrefix = exports.Temp_Path; }
|
|
171
190
|
return __awaiter(this, void 0, void 0, function () {
|
|
172
191
|
var bucketName, bucket;
|
|
173
192
|
var _this = this;
|
|
@@ -184,10 +203,9 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
184
203
|
switch (_a.label) {
|
|
185
204
|
case 0:
|
|
186
205
|
key = _file.key || _file.mimeType;
|
|
187
|
-
|
|
188
|
-
throw new ts_common_1.ImplementationMissingException("Missing validator for type " + key);
|
|
206
|
+
this.getProcessor(key);
|
|
189
207
|
_id = ts_common_1.generateHex(32);
|
|
190
|
-
path =
|
|
208
|
+
path = pathPrefix + "/" + _id;
|
|
191
209
|
instance = {
|
|
192
210
|
_id: _id,
|
|
193
211
|
feId: _file.feId,
|
|
@@ -195,11 +213,13 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
195
213
|
mimeType: _file.mimeType,
|
|
196
214
|
key: key,
|
|
197
215
|
path: path,
|
|
198
|
-
_audit: ts_common_1.auditBy(
|
|
216
|
+
_audit: ts_common_1.auditBy("be-stub"),
|
|
199
217
|
bucketName: bucket.bucketName
|
|
200
218
|
};
|
|
201
219
|
if (_file.public)
|
|
202
220
|
instance.public = _file.public;
|
|
221
|
+
if (_file.metadata)
|
|
222
|
+
instance.metadata = _file.metadata;
|
|
203
223
|
return [4 /*yield*/, UploaderTempFileModule_1.UploaderTempFileModule.upsert(instance)];
|
|
204
224
|
case 1:
|
|
205
225
|
temp = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,0DAOsC;AACtC,+DAK6C;AAC7C,4CAO4B;AAC5B,mEAAgE;AAChE,mEAAyE;
|
|
1
|
+
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,12 +34,12 @@ exports.UploaderTempFileModule = exports.UploaderTempFileModule_Class = exports.
|
|
|
34
34
|
*/
|
|
35
35
|
var ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
36
36
|
var backend_1 = require("@intuitionrobotics/db-api-generator/backend");
|
|
37
|
-
exports.TEMP_COLLECTION =
|
|
37
|
+
exports.TEMP_COLLECTION = "temp-files-upload";
|
|
38
38
|
exports.validateName = ts_common_1.validateRegexp(/^.{3,}$/);
|
|
39
39
|
var UploaderTempFileModule_Class = /** @class */ (function (_super) {
|
|
40
40
|
__extends(UploaderTempFileModule_Class, _super);
|
|
41
41
|
function UploaderTempFileModule_Class() {
|
|
42
|
-
return _super.call(this, exports.TEMP_COLLECTION, UploaderTempFileModule_Class._validator,
|
|
42
|
+
return _super.call(this, exports.TEMP_COLLECTION, UploaderTempFileModule_Class._validator, "temp-files") || this;
|
|
43
43
|
}
|
|
44
44
|
UploaderTempFileModule_Class.prototype.apis = function (pathPart) {
|
|
45
45
|
return [];
|
|
@@ -53,7 +53,8 @@ var UploaderTempFileModule_Class = /** @class */ (function (_super) {
|
|
|
53
53
|
path: ts_common_1.validateExists(true),
|
|
54
54
|
_audit: ts_common_1.auditValidator(),
|
|
55
55
|
bucketName: ts_common_1.validateExists(true),
|
|
56
|
-
public: undefined
|
|
56
|
+
public: undefined,
|
|
57
|
+
metadata: undefined
|
|
57
58
|
};
|
|
58
59
|
return UploaderTempFileModule_Class;
|
|
59
60
|
}(backend_1.BaseDB_ApiGenerator));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderTempFileModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,0DAKsC;AAEtC,uEAGqD;AAGxC,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,YAAY,GAAG,0BAAc,CAAC,SAAS,CAAC,CAAC;AAEtD;IACS,gDAAiC;
|
|
1
|
+
{"version":3,"file":"UploaderTempFileModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,0DAKsC;AAEtC,uEAGqD;AAGxC,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,YAAY,GAAG,0BAAc,CAAC,SAAS,CAAC,CAAC;AAEtD;IACS,gDAAiC;IAczC;eACC,kBAAM,uBAAe,EAAE,4BAA4B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC9E,CAAC;IAED,2CAAI,GAAJ,UAAK,QAAiB;QACrB,OAAO,EAAE,CAAC;IACX,CAAC;IAnBM,uCAAU,GAAgC;QAChD,GAAG,EAAE,0BAAgB;QACrB,IAAI,EAAE,oBAAY;QAClB,IAAI,EAAE,0BAAc,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,0BAAc,CAAC,IAAI,CAAC;QAC9B,GAAG,EAAE,0BAAc,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,0BAAc,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,0BAAc,EAAE;QACxB,UAAU,EAAE,0BAAc,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;KACnB,CAAC;IASH,mCAAC;CAAA,AAtBD,CACS,6BAAmB,GAqB3B;AAtBY,oEAA4B;AAwB5B,QAAA,sBAAsB,GAAG,IAAI,4BAA4B,EAAE,CAAC"}
|
|
@@ -72,11 +72,12 @@ var frontend_1 = require("@intuitionrobotics/thunderstorm/frontend");
|
|
|
72
72
|
var types_1 = require("../../shared/types");
|
|
73
73
|
var frontend_2 = require("@intuitionrobotics/push-pub-sub/frontend");
|
|
74
74
|
var BaseUploaderModule_1 = require("../../shared/modules/BaseUploaderModule");
|
|
75
|
+
var ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
75
76
|
var UploaderModule_Class = /** @class */ (function (_super) {
|
|
76
77
|
__extends(UploaderModule_Class, _super);
|
|
77
78
|
function UploaderModule_Class() {
|
|
78
79
|
var _this = _super.call(this, frontend_1.XhrHttpModule) || this;
|
|
79
|
-
_this.dispatch_fileStatusChange = new frontend_1.ThunderDispatcher(
|
|
80
|
+
_this.dispatch_fileStatusChange = new frontend_1.ThunderDispatcher("__onFileStatusChanged");
|
|
80
81
|
return _this;
|
|
81
82
|
}
|
|
82
83
|
UploaderModule_Class.prototype.dispatchFileStatusChange = function (id) {
|
|
@@ -98,7 +99,9 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
98
99
|
return __awaiter(this, void 0, void 0, function () {
|
|
99
100
|
return __generator(this, function (_a) {
|
|
100
101
|
switch (_a.label) {
|
|
101
|
-
case 0:
|
|
102
|
+
case 0:
|
|
103
|
+
frontend_2.PushPubSubModule.subscribeMulti(toSubscribe.map(function (r) { return ({ pushKey: types_1.fileUploadedKey, props: { feId: r.tempDoc.feId } }); }));
|
|
104
|
+
return [4 /*yield*/, ts_common_1.timeout(ts_common_1.Second)];
|
|
102
105
|
case 1:
|
|
103
106
|
_a.sent();
|
|
104
107
|
return [2 /*return*/];
|
|
@@ -108,7 +111,7 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
108
111
|
};
|
|
109
112
|
UploaderModule_Class.prototype.__onMessageReceived = function (notification) {
|
|
110
113
|
var _a, _b;
|
|
111
|
-
this.logInfo(
|
|
114
|
+
this.logInfo("Message received from service worker", notification.pushKey, notification.props, notification.data);
|
|
112
115
|
if (notification.pushKey !== types_1.fileUploadedKey)
|
|
113
116
|
return;
|
|
114
117
|
switch (notification.data.result) {
|
|
@@ -119,7 +122,7 @@ var UploaderModule_Class = /** @class */ (function (_super) {
|
|
|
119
122
|
this.setFileInfo((_b = notification.props) === null || _b === void 0 ? void 0 : _b.feId, "status", BaseUploaderModule_1.FileStatus.Error);
|
|
120
123
|
break;
|
|
121
124
|
}
|
|
122
|
-
frontend_2.PushPubSubModule.unsubscribe({ pushKey: types_1.fileUploadedKey, props: notification.props })
|
|
125
|
+
frontend_2.PushPubSubModule.unsubscribe({ pushKey: types_1.fileUploadedKey, props: notification.props });
|
|
123
126
|
};
|
|
124
127
|
return UploaderModule_Class;
|
|
125
128
|
}(BaseUploaderModule_1.BaseUploaderModule_Class));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/UploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,qEAIkD;AAClD,4CAM4B;AAC5B,qEAGkD;AAClD,8EAIiD;
|
|
1
|
+
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/UploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,qEAIkD;AAClD,4CAM4B;AAC5B,qEAGkD;AAClD,8EAIiD;AAEjD,0DAGsC;AAEtC;IACS,wCAA6C;IAKrD;QAAA,YACC,kBAAM,wBAAa,CAAC,SACpB;QAJkB,+BAAyB,GAAG,IAAI,4BAAiB,CAA+C,uBAAuB,CAAC,CAAC;;IAI5I,CAAC;IAES,uDAAwB,GAAlC,UAAmC,EAAW;QAC7C,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,iBAAM,wBAAwB,YAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,qCAAM,GAAN,UAAO,KAAa,EAAE,GAAY,EAAE,OAAiB;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAA,IAAI;YACrC,OAAO;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,GAAG,KAAA;gBACH,IAAI,MAAA;gBACJ,MAAM,EAAE,OAAO;aACf,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAEe,8CAAe,GAA/B,UAAgC,WAA4B;;;;;wBAC3D,2BAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAC,OAAO,EAAE,uBAAe,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,EAAC,CAAC,EAA3D,CAA2D,CAAC,CAAC,CAAC;wBACnH,qBAAM,mBAAO,CAAC,kBAAM,CAAC,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACtB;IAED,kDAAmB,GAAnB,UAAoB,YAA8B;;QACjD,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAClH,IAAI,YAAY,CAAC,OAAO,KAAK,uBAAe;YAC3C,OAAO;QAER,QAAQ,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE;YACjC,KAAK,oBAAY,CAAC,OAAO;gBACxB,IAAI,CAAC,WAAW,CAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,IAAc,EAAE,QAAQ,EAAE,+BAAU,CAAC,SAAS,CAAC,CAAC;gBACrF,MAAM;YACP,KAAK,oBAAY,CAAC,OAAO;gBACxB,IAAI,CAAC,WAAW,CAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,IAAc,EAAE,QAAQ,EAAE,+BAAU,CAAC,KAAK,CAAC,CAAC;gBACjF,MAAM;SACP;QAED,2BAAgB,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,uBAAe,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC,CAAC;IACrF,CAAC;IACF,2BAAC;AAAD,CAAC,AAhDD,CACS,6CAAwB,GA+ChC;AAhDY,oDAAoB;AAkDpB,QAAA,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
package/backend.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./app-backend/core/module-pack";
|
|
2
2
|
export * from "./app-backend/modules/UploaderModule";
|
|
3
|
+
export * from "./app-backend/modules/BucketListener";
|
|
3
4
|
export * from "./app-backend/modules/UploaderTempFileModule";
|
|
4
5
|
export * from "./app-backend/modules/ServerUploaderModule";
|
package/backend.js
CHANGED
|
@@ -30,6 +30,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
31
|
__exportStar(require("./app-backend/core/module-pack"), exports);
|
|
32
32
|
__exportStar(require("./app-backend/modules/UploaderModule"), exports);
|
|
33
|
+
__exportStar(require("./app-backend/modules/BucketListener"), exports);
|
|
33
34
|
__exportStar(require("./app-backend/modules/UploaderTempFileModule"), exports);
|
|
34
35
|
__exportStar(require("./app-backend/modules/ServerUploaderModule"), exports);
|
|
35
36
|
//# sourceMappingURL=backend.js.map
|
package/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/main/backend.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;AAEH,iEAA+C;AAE/C,uEAAqD;AACrD,+EAA6D;AAC7D,6EAA2D"}
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/main/backend.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;AAEH,iEAA+C;AAE/C,uEAAqD;AACrD,uEAAqD;AACrD,+EAA6D;AAC7D,6EAA2D"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intuitionrobotics/file-upload",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.1",
|
|
4
4
|
"description": "File Uploader - Express & Typescript based backend framework",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
6
|
+
"IR",
|
|
7
7
|
"infra",
|
|
8
8
|
"nu-art",
|
|
9
9
|
"storm",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"url": "git+ssh://git@github.com:intuition-robotics/file-upload.git"
|
|
20
20
|
},
|
|
21
21
|
"license": "Apache-2.0",
|
|
22
|
-
"author": "
|
|
22
|
+
"author": "IR",
|
|
23
23
|
"main": "main/index.js",
|
|
24
24
|
"types": "main/index.d.ts",
|
|
25
25
|
"files": [
|
|
@@ -29,27 +29,27 @@
|
|
|
29
29
|
"build": "tsc"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@intuitionrobotics/ts-common": "~0.
|
|
33
|
-
"@intuitionrobotics/thunderstorm": "~0.
|
|
34
|
-
"@intuitionrobotics/firebase": "~0.
|
|
35
|
-
"@intuitionrobotics/db-api-generator": "~0.
|
|
36
|
-
"@intuitionrobotics/push-pub-sub": "~0.
|
|
32
|
+
"@intuitionrobotics/ts-common": "~0.41.0",
|
|
33
|
+
"@intuitionrobotics/thunderstorm": "~0.41.0",
|
|
34
|
+
"@intuitionrobotics/firebase": "~0.41.0",
|
|
35
|
+
"@intuitionrobotics/db-api-generator": "~0.41.0",
|
|
36
|
+
"@intuitionrobotics/push-pub-sub": "~0.41.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@google-cloud/common": "^3.0.0",
|
|
40
|
-
"@google-cloud/firestore": "^
|
|
41
|
-
"@google-cloud/storage": "^
|
|
42
|
-
"@intuitionrobotics/testelot": "~0.
|
|
40
|
+
"@google-cloud/firestore": "^5.0.0",
|
|
41
|
+
"@google-cloud/storage": "^5.0.0",
|
|
42
|
+
"@intuitionrobotics/testelot": "~0.41.0",
|
|
43
43
|
"@types/compression": "^1.0.1",
|
|
44
44
|
"@types/express": "^4.17.2",
|
|
45
45
|
"isomorphic-apk-reader": "^1.1.24",
|
|
46
46
|
"jszip": "^3.2.2",
|
|
47
47
|
"express": "^4.17.1",
|
|
48
|
-
"firebase": "^
|
|
49
|
-
"firebase-admin": "^
|
|
50
|
-
"firebase-functions": "^3.
|
|
48
|
+
"firebase": "^9.6.1",
|
|
49
|
+
"firebase-admin": "^10.0.1",
|
|
50
|
+
"firebase-functions": "^3.16.0",
|
|
51
51
|
"fs": "0.0.1-security",
|
|
52
|
-
"google-auth-library": "
|
|
52
|
+
"google-auth-library": "7.12.0",
|
|
53
53
|
"ts-node": "^8.6.2",
|
|
54
54
|
"typescript": "~4.1.0"
|
|
55
55
|
}
|
package/shared/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ApiWithBody } from "@intuitionrobotics/thunderstorm";
|
|
2
2
|
import { DB_Object } from "@intuitionrobotics/firebase";
|
|
3
|
-
import { AuditBy } from "@intuitionrobotics/ts-common";
|
|
3
|
+
import { AuditBy, ObjectTS } from "@intuitionrobotics/ts-common";
|
|
4
4
|
import { MessageType } from "@intuitionrobotics/push-pub-sub";
|
|
5
5
|
export declare const fileUploadedKey = "file-uploaded";
|
|
6
|
-
export declare type Push_FileUploaded = MessageType<
|
|
6
|
+
export declare type Push_FileUploaded = MessageType<"file-uploaded", {
|
|
7
7
|
feId: string;
|
|
8
8
|
}, {
|
|
9
9
|
message: string;
|
|
@@ -19,11 +19,12 @@ export declare type Request_Uploader = {
|
|
|
19
19
|
mimeType: string;
|
|
20
20
|
key?: string;
|
|
21
21
|
public?: boolean;
|
|
22
|
+
metadata?: ObjectTS;
|
|
22
23
|
};
|
|
23
24
|
export declare type BaseUploaderFile = Request_Uploader & {
|
|
24
25
|
feId: string;
|
|
25
26
|
};
|
|
26
|
-
export declare type DB_Temp_File = DB_Object & BaseUploaderFile & Required<Pick<BaseUploaderFile,
|
|
27
|
+
export declare type DB_Temp_File = DB_Object & BaseUploaderFile & Required<Pick<BaseUploaderFile, "key">> & {
|
|
27
28
|
path: string;
|
|
28
29
|
_audit: AuditBy;
|
|
29
30
|
bucketName: string;
|
|
@@ -33,4 +34,4 @@ export declare type TempSecureUrl = {
|
|
|
33
34
|
secureUrl: string;
|
|
34
35
|
tempDoc: DB_Temp_File;
|
|
35
36
|
};
|
|
36
|
-
export declare type Api_GetUploadUrl = ApiWithBody<
|
|
37
|
+
export declare type Api_GetUploadUrl = ApiWithBody<"/v1/upload/get-url", BaseUploaderFile[], TempSecureUrl[]>;
|
package/shared/types.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.UploadResult = exports.fileUploadedKey = void 0;
|
|
22
|
-
exports.fileUploadedKey =
|
|
22
|
+
exports.fileUploadedKey = "file-uploaded";
|
|
23
23
|
var UploadResult;
|
|
24
24
|
(function (UploadResult) {
|
|
25
25
|
UploadResult["Success"] = "Success";
|
package/shared/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/main/shared/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/main/shared/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAUU,QAAA,eAAe,GAAG,eAAe,CAAC;AAG/C,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACpB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB"}
|