@intuitionrobotics/file-upload 0.47.58 → 0.47.60
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/modules/UploaderModule.js +20 -4
- package/app-backend/modules/UploaderModule.js.map +1 -1
- package/app-backend/modules/UploaderTempFileModule.js +2 -1
- package/app-backend/modules/UploaderTempFileModule.js.map +1 -1
- package/app-frontend/modules/UploaderModule.d.ts +1 -1
- package/app-frontend/modules/UploaderModule.js +5 -2
- package/app-frontend/modules/UploaderModule.js.map +1 -1
- package/package.json +1 -1
- package/shared/modules/BaseUploaderModule.d.ts +2 -1
- package/shared/modules/BaseUploaderModule.js +14 -2
- package/shared/modules/BaseUploaderModule.js.map +1 -1
- package/shared/types.d.ts +1 -0
|
@@ -12,9 +12,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.UploaderModule = exports.UploaderModule_Class = exports.Temp_Path = void 0;
|
|
13
13
|
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
14
14
|
const backend_1 = require("@intuitionrobotics/firebase/backend");
|
|
15
|
+
const backend_2 = require("@intuitionrobotics/thunderstorm/backend");
|
|
15
16
|
const types_1 = require("../../shared/types");
|
|
16
17
|
const UploaderTempFileModule_1 = require("./UploaderTempFileModule");
|
|
17
|
-
const
|
|
18
|
+
const backend_3 = require("@intuitionrobotics/push-pub-sub/backend");
|
|
18
19
|
exports.Temp_Path = "files-temp";
|
|
19
20
|
class UploaderModule_Class extends ts_common_1.Module {
|
|
20
21
|
constructor() {
|
|
@@ -63,7 +64,7 @@ class UploaderModule_Class extends ts_common_1.Module {
|
|
|
63
64
|
this.notifyFrontend = (feId, result, message, cause) => __awaiter(this, void 0, void 0, function* () {
|
|
64
65
|
cause && this.logWarning(cause);
|
|
65
66
|
const data = { message, result, cause };
|
|
66
|
-
yield
|
|
67
|
+
yield backend_3.PushPubSubModule.pushToKey(types_1.fileUploadedKey, { feId }, data);
|
|
67
68
|
});
|
|
68
69
|
}
|
|
69
70
|
__onFileUploaded(filePath) {
|
|
@@ -84,8 +85,23 @@ class UploaderModule_Class extends ts_common_1.Module {
|
|
|
84
85
|
return Promise.all(body.map((_file) => __awaiter(this, void 0, void 0, function* () {
|
|
85
86
|
const key = _file.key || _file.mimeType;
|
|
86
87
|
this.getProcessor(key);
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
let _id = (0, ts_common_1.generateHex)(32);
|
|
89
|
+
// When useFileNameAsKey is set, store the object under its (original or overridden)
|
|
90
|
+
// name instead of a random hex id, so the resulting bucket path is predictable.
|
|
91
|
+
const path = _file.useFileNameAsKey ? `${pathPrefix}/${_file.name}` : `${pathPrefix}/${_id}`;
|
|
92
|
+
if (_file.useFileNameAsKey) {
|
|
93
|
+
// The path is no longer guaranteed unique - reject before signing if an object
|
|
94
|
+
// already exists at that path, so we never silently overwrite existing data.
|
|
95
|
+
const existingFile = yield bucket.getFile(path);
|
|
96
|
+
if (yield existingFile.exists())
|
|
97
|
+
throw new backend_2.ApiException(409, `A file already exists at path: ${path}`);
|
|
98
|
+
// Reuse the temp doc for this path if a previous upload attempt never completed,
|
|
99
|
+
// so we don't end up with duplicate temp docs sharing the same path - which would
|
|
100
|
+
// break the lookup in fileUploaded().
|
|
101
|
+
const existingTemp = yield UploaderTempFileModule_1.UploaderTempFileModule.collection.queryUnique({ where: { path } });
|
|
102
|
+
if (existingTemp)
|
|
103
|
+
_id = existingTemp._id;
|
|
104
|
+
}
|
|
89
105
|
const instance = {
|
|
90
106
|
_id,
|
|
91
107
|
feId: _file.feId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAOsC;AACtC,iEAI6C;AAC7C,8CAO4B;AAC5B,qEAAgE;AAChE,qEAAyE;AAG5D,QAAA,SAAS,GAAG,YAAY,CAAC;AAStC,MAAa,oBACZ,SAAQ,kBAAc;IAGtB;QACC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAWzB,qBAAgB,GAAG,CAAC,SAAyC,EAAE,EAAE;YAChE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAChC,CAAC,CAAC;QAEK,iBAAY,GAAG,CAAC,CAAS,EAAE,EAAE;YACnC,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,oBAAoB;gBACxB,MAAM,IAAI,0CAA8B,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;YAE7E,OAAO,oBAAoB,CAAC;QAC7B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,8 @@ UploaderTempFileModule_Class._validator = {
|
|
|
24
24
|
_audit: (0, ts_common_1.auditValidator)(),
|
|
25
25
|
bucketName: (0, ts_common_1.validateExists)(true),
|
|
26
26
|
public: undefined,
|
|
27
|
-
metadata: undefined
|
|
27
|
+
metadata: undefined,
|
|
28
|
+
useFileNameAsKey: undefined
|
|
28
29
|
};
|
|
29
30
|
exports.UploaderTempFileModule = new UploaderTempFileModule_Class();
|
|
30
31
|
//# sourceMappingURL=UploaderTempFileModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderTempFileModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":";;;AAAA,4DAKsC;AAEtC,yEAGqD;AAGxC,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,YAAY,GAAG,IAAA,0BAAc,EAAC,SAAS,CAAC,CAAC;AAEtD,MAAa,4BACZ,SAAQ,6BAAiC;
|
|
1
|
+
{"version":3,"file":"UploaderTempFileModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/UploaderTempFileModule.ts"],"names":[],"mappings":";;;AAAA,4DAKsC;AAEtC,yEAGqD;AAGxC,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,YAAY,GAAG,IAAA,0BAAc,EAAC,SAAS,CAAC,CAAC;AAEtD,MAAa,4BACZ,SAAQ,6BAAiC;IAezC;QACC,KAAK,CAAC,uBAAe,EAAE,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,QAAiB;QACrB,OAAO,EAAE,CAAC;IACX,CAAC;;AAtBF,oEAuBC;AArBO,uCAAU,GAAgC;IAChD,GAAG,EAAE,0BAAgB;IACrB,IAAI,EAAE,oBAAY;IAClB,IAAI,EAAE,IAAA,0BAAc,EAAC,IAAI,CAAC;IAC1B,QAAQ,EAAE,IAAA,0BAAc,EAAC,IAAI,CAAC;IAC9B,GAAG,EAAE,IAAA,0BAAc,EAAC,IAAI,CAAC;IACzB,IAAI,EAAE,IAAA,0BAAc,EAAC,IAAI,CAAC;IAC1B,MAAM,EAAE,IAAA,0BAAc,GAAE;IACxB,UAAU,EAAE,IAAA,0BAAc,EAAC,IAAI,CAAC;IAChC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,gBAAgB,EAAE,SAAS;CAC3B,CAAC;AAWU,QAAA,sBAAsB,GAAG,IAAI,4BAA4B,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { BaseUploaderFile, TempSecureUrl } from "../../shared/types";
|
|
|
3
3
|
import { BaseUploaderModule_Class, FileStatus } from "../../shared/modules/BaseUploaderModule";
|
|
4
4
|
export declare class UploaderModule_Class extends BaseUploaderModule_Class<XhrHttpModule_Class> {
|
|
5
5
|
constructor();
|
|
6
|
-
upload(files: File[], onFileStatusChanged: (feId: string, status: FileStatus) => void, key?: string, _public?: boolean, _bucketName?: string, _pathPrefix?: string): BaseUploaderFile[];
|
|
6
|
+
upload(files: File[], onFileStatusChanged: (feId: string, status: FileStatus) => void, key?: string, _public?: boolean, _bucketName?: string, _pathPrefix?: string, _useFileNameAsKey?: boolean, _fileName?: string): BaseUploaderFile[];
|
|
7
7
|
protected subscribeToPush(toSubscribe: TempSecureUrl[]): Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
export declare const UploaderModule: UploaderModule_Class;
|
|
@@ -19,14 +19,17 @@ class UploaderModule_Class extends BaseUploaderModule_1.BaseUploaderModule_Class
|
|
|
19
19
|
constructor() {
|
|
20
20
|
super(frontend_1.XhrHttpModule, 'UploaderModule');
|
|
21
21
|
}
|
|
22
|
-
upload(files, onFileStatusChanged, key, _public, _bucketName, _pathPrefix) {
|
|
22
|
+
upload(files, onFileStatusChanged, key, _public, _bucketName, _pathPrefix, _useFileNameAsKey, _fileName) {
|
|
23
23
|
return this.uploadImpl(files.map((file => {
|
|
24
24
|
return {
|
|
25
|
-
name
|
|
25
|
+
// _fileName overrides the bucket object name; it only makes sense for a single
|
|
26
|
+
// file, so it is ignored when uploading multiple files at once.
|
|
27
|
+
name: (_fileName && files.length === 1) ? _fileName : file.name,
|
|
26
28
|
mimeType: file.type,
|
|
27
29
|
key,
|
|
28
30
|
file,
|
|
29
31
|
public: _public,
|
|
32
|
+
useFileNameAsKey: _useFileNameAsKey,
|
|
30
33
|
onFileStatusChanged
|
|
31
34
|
};
|
|
32
35
|
})), _bucketName, _pathPrefix);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/UploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA4F;AAC5F,8CAAwH;AACxH,uEAA0E;AAC1E,gFAA6F;AAC7F,4DAA6D;AAE7D,MAAa,oBACT,SAAQ,6CAA6C;IAErD;QACI,KAAK,CAAC,wBAAa,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,CAAC,KAAa,EAAE,mBAA+D,EAAE,GAAY,EAAE,OAAiB,EAAE,WAAoB,EAAE,WAAoB;
|
|
1
|
+
{"version":3,"file":"UploaderModule.js","sourceRoot":"","sources":["../../../src/main/app-frontend/modules/UploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA4F;AAC5F,8CAAwH;AACxH,uEAA0E;AAC1E,gFAA6F;AAC7F,4DAA6D;AAE7D,MAAa,oBACT,SAAQ,6CAA6C;IAErD;QACI,KAAK,CAAC,wBAAa,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,CAAC,KAAa,EAAE,mBAA+D,EAAE,GAAY,EAAE,OAAiB,EAAE,WAAoB,EAAE,WAAoB,EAAE,iBAA2B,EAAE,SAAkB;QAC/M,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO;gBACH,+EAA+E;gBAC/E,gEAAgE;gBAChE,IAAI,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;gBAC/D,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,GAAG;gBACH,IAAI;gBACJ,MAAM,EAAE,OAAO;gBACf,gBAAgB,EAAE,iBAAiB;gBACnC,mBAAmB;aACtB,CAAC;QACN,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC;IAEe,eAAe,CAAC,WAA4B;;YACxD,2BAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,MAAM,KAAK,GAAG,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,CAAC,IAA0B,EAAE,EAAE;oBAC5C,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,uBAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACnF,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;wBAClB,KAAK,oBAAY,CAAC,OAAO;4BACrB,IAAI,CAAC,WAAW,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,QAAQ,EAAE,+BAAU,CAAC,SAAS,CAAC,CAAC;4BAC9D,MAAM;wBACV,KAAK,oBAAY,CAAC,OAAO;4BACrB,IAAI,CAAC,WAAW,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,QAAQ,EAAE,+BAAU,CAAC,KAAK,CAAC,CAAC;4BAC1D,MAAM;oBACd,CAAC;oBACD,2BAAgB,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,uBAAe,EAAE,KAAK,EAAC,CAAC,CAAC;gBACpE,CAAC,CAAC;gBACF,OAAO,CAAC,EAAC,OAAO,EAAE,uBAAe,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,CAAC;YACJ,MAAM,IAAA,mBAAO,EAAC,kBAAM,CAAC,CAAC;QAC1B,CAAC;KAAA;CACJ;AAzCD,oDAyCC;AAEY,QAAA,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -24,6 +24,10 @@ var FileStatus;
|
|
|
24
24
|
FileStatus["PostProcessing"] = "PostProcessing";
|
|
25
25
|
FileStatus["Completed"] = "Completed";
|
|
26
26
|
FileStatus["Error"] = "Error";
|
|
27
|
+
// Returned when uploading with useFileNameAsKey and an object already
|
|
28
|
+
// exists at that path (backend responds 409). Lets the UI react
|
|
29
|
+
// specifically (e.g. prompt to rename) instead of showing a generic error.
|
|
30
|
+
FileStatus["AlreadyExists"] = "AlreadyExists";
|
|
27
31
|
})(FileStatus || (exports.FileStatus = FileStatus = {}));
|
|
28
32
|
class BaseUploaderModule_Class extends ts_common_1.Module {
|
|
29
33
|
constructor(httpModule, moduleName) {
|
|
@@ -98,6 +102,8 @@ class BaseUploaderModule_Class extends ts_common_1.Module {
|
|
|
98
102
|
fileInfo.key = fileData.key;
|
|
99
103
|
if (fileData.public)
|
|
100
104
|
fileInfo.public = fileData.public;
|
|
105
|
+
if (fileData.useFileNameAsKey)
|
|
106
|
+
fileInfo.useFileNameAsKey = fileData.useFileNameAsKey;
|
|
101
107
|
this.files[fileInfo.feId] = {
|
|
102
108
|
file: fileData.file,
|
|
103
109
|
fileName: fileData.file.name,
|
|
@@ -120,9 +126,12 @@ class BaseUploaderModule_Class extends ts_common_1.Module {
|
|
|
120
126
|
.setRelativeUrl('/v1/upload/get-url')
|
|
121
127
|
.setJsonBody(body)
|
|
122
128
|
.setOnError((request, resError) => {
|
|
129
|
+
// A 409 means at least one file in this batch already exists at its path
|
|
130
|
+
// (useFileNameAsKey) - surface it as a distinct status so the UI can react.
|
|
131
|
+
const status = request.getStatus() === 409 ? FileStatus.AlreadyExists : FileStatus.Error;
|
|
123
132
|
body.forEach(f => {
|
|
124
133
|
this.setFileInfo(f.feId, "messageStatus", (0, ts_common_1.__stringify)(resError === null || resError === void 0 ? void 0 : resError.debugMessage));
|
|
125
|
-
this.setFileInfo(f.feId, "status",
|
|
134
|
+
this.setFileInfo(f.feId, "status", status);
|
|
126
135
|
});
|
|
127
136
|
})
|
|
128
137
|
.execute((response) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -140,9 +149,12 @@ class BaseUploaderModule_Class extends ts_common_1.Module {
|
|
|
140
149
|
.setRelativeUrl('/v1/upload/get-url-with-bucket-name')
|
|
141
150
|
.setJsonBody(body)
|
|
142
151
|
.setOnError((request, resError) => {
|
|
152
|
+
// A 409 means at least one file in this batch already exists at its path
|
|
153
|
+
// (useFileNameAsKey) - surface it as a distinct status so the UI can react.
|
|
154
|
+
const status = request.getStatus() === 409 ? FileStatus.AlreadyExists : FileStatus.Error;
|
|
143
155
|
body.files.forEach(f => {
|
|
144
156
|
this.setFileInfo(f.feId, "messageStatus", (0, ts_common_1.__stringify)(resError === null || resError === void 0 ? void 0 : resError.debugMessage));
|
|
145
|
-
this.setFileInfo(f.feId, "status",
|
|
157
|
+
this.setFileInfo(f.feId, "status", status);
|
|
146
158
|
});
|
|
147
159
|
})
|
|
148
160
|
.execute((response) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseUploaderModule.js","sourceRoot":"","sources":["../../../src/main/shared/modules/BaseUploaderModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAOsC;AACtC,kEAMyC;AAWzC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAC9C,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAE5C,IAAY,
|
|
1
|
+
{"version":3,"file":"BaseUploaderModule.js","sourceRoot":"","sources":["../../../src/main/shared/modules/BaseUploaderModule.ts"],"names":[],"mappings":"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"}
|