@balena/pinejs 17.0.0-build-v17-4b8f0faa9617d64057e94cdc0ca92650925c1d39-1 → 17.0.0-build-v17-a23172f0d3c5aa4169ebb0f29d4939508c9074cf-2
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/.versionbot/CHANGELOG.yml +9 -1
- package/CHANGELOG.md +1 -0
- package/out/webresource-handler/handlers/NoopHandler.d.ts +3 -1
- package/out/webresource-handler/handlers/NoopHandler.js +6 -0
- package/out/webresource-handler/handlers/NoopHandler.js.map +1 -1
- package/out/webresource-handler/index.d.ts +25 -0
- package/out/webresource-handler/index.js.map +1 -1
- package/package.json +3 -3
- package/src/webresource-handler/handlers/NoopHandler.ts +14 -1
- package/src/webresource-handler/index.ts +35 -0
@@ -1,4 +1,12 @@
|
|
1
1
|
- commits:
|
2
|
+
- subject: Add beginMultipartUpload/commitMultipartUpload to WebResourceHandler
|
3
|
+
hash: a23172f0d3c5aa4169ebb0f29d4939508c9074cf
|
4
|
+
body: ""
|
5
|
+
footer:
|
6
|
+
Change-type: major
|
7
|
+
change-type: major
|
8
|
+
author: Otavio Jacobi
|
9
|
+
nested: []
|
2
10
|
- subject: Remove S3 handler from core in favor of @balena/pinejs-webresource-s3
|
3
11
|
hash: 4b8f0faa9617d64057e94cdc0ca92650925c1d39
|
4
12
|
body: ""
|
@@ -18,7 +26,7 @@
|
|
18
26
|
nested: []
|
19
27
|
version: 17.0.0
|
20
28
|
title: ""
|
21
|
-
date: 2024-04-
|
29
|
+
date: 2024-04-19T19:12:20.006Z
|
22
30
|
- commits:
|
23
31
|
- subject: Update dependency husky to v9
|
24
32
|
hash: 715d2dd993591d449bca7ece48f069ed6994c8c7
|
package/CHANGELOG.md
CHANGED
@@ -7,6 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
7
7
|
# v17.0.0
|
8
8
|
## (2024-04-19)
|
9
9
|
|
10
|
+
* Add beginMultipartUpload/commitMultipartUpload to WebResourceHandler [Otavio Jacobi]
|
10
11
|
* Remove S3 handler from core in favor of @balena/pinejs-webresource-s3 [Otavio Jacobi]
|
11
12
|
* Drop support to node < 18.18 [Otavio Jacobi]
|
12
13
|
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import type { WebResourceType as WebResource } from '@balena/sbvr-types';
|
2
|
-
import type { IncomingFile, UploadResponse, WebResourceHandler } from '..';
|
2
|
+
import type { BeginMultipartUploadHandlerResponse, IncomingFile, UploadResponse, WebResourceHandler } from '..';
|
3
3
|
export declare class NoopHandler implements WebResourceHandler {
|
4
4
|
handleFile(resource: IncomingFile): Promise<UploadResponse>;
|
5
5
|
removeFile(): Promise<void>;
|
6
6
|
onPreRespond(webResource: WebResource): Promise<WebResource>;
|
7
|
+
beginMultipartUpload(): Promise<BeginMultipartUploadHandlerResponse>;
|
8
|
+
commitMultipartUpload(): Promise<WebResource>;
|
7
9
|
}
|
@@ -15,6 +15,12 @@ class NoopHandler {
|
|
15
15
|
async onPreRespond(webResource) {
|
16
16
|
return webResource;
|
17
17
|
}
|
18
|
+
async beginMultipartUpload() {
|
19
|
+
return { fileKey: 'noop', uploadId: 'noop', uploadParts: [] };
|
20
|
+
}
|
21
|
+
async commitMultipartUpload() {
|
22
|
+
return { filename: 'noop', href: 'noop' };
|
23
|
+
}
|
18
24
|
}
|
19
25
|
exports.NoopHandler = NoopHandler;
|
20
26
|
//# sourceMappingURL=NoopHandler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NoopHandler.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/NoopHandler.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"NoopHandler.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/NoopHandler.ts"],"names":[],"mappings":";;;AAQA,MAAa,WAAW;IAChB,KAAK,CAAC,UAAU,CAAC,QAAsB;QAE7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO;YACN,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,OAAO;IACR,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,WAAwB;QACjD,OAAO,WAAW,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAChC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,qBAAqB;QACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;CACD;AAzBD,kCAyBC"}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
import type * as Express from 'express';
|
3
3
|
import type * as stream from 'node:stream';
|
4
4
|
import type { WebResourceType as WebResource } from '@balena/sbvr-types';
|
5
|
+
import type { AnyObject } from 'pinejs-client-core';
|
5
6
|
export * from './handlers';
|
6
7
|
export interface IncomingFile {
|
7
8
|
fieldname: string;
|
@@ -14,10 +15,34 @@ export interface UploadResponse {
|
|
14
15
|
size: number;
|
15
16
|
filename: string;
|
16
17
|
}
|
18
|
+
export interface BeginMultipartUploadPayload {
|
19
|
+
filename: string;
|
20
|
+
content_type: string;
|
21
|
+
size: number;
|
22
|
+
chunk_size: number;
|
23
|
+
}
|
24
|
+
export interface UploadPart {
|
25
|
+
url: string;
|
26
|
+
chunkSize: number;
|
27
|
+
partNumber: number;
|
28
|
+
}
|
29
|
+
export interface BeginMultipartUploadHandlerResponse {
|
30
|
+
uploadParts: UploadPart[];
|
31
|
+
fileKey: string;
|
32
|
+
uploadId: string;
|
33
|
+
}
|
34
|
+
export interface CommitMultipartUploadPayload {
|
35
|
+
fileKey: string;
|
36
|
+
uploadId: string;
|
37
|
+
filename: string;
|
38
|
+
providerCommitData?: AnyObject;
|
39
|
+
}
|
17
40
|
export interface WebResourceHandler {
|
18
41
|
handleFile: (resource: IncomingFile) => Promise<UploadResponse>;
|
19
42
|
removeFile: (fileReference: string) => Promise<void>;
|
20
43
|
onPreRespond: (webResource: WebResource) => Promise<WebResource>;
|
44
|
+
beginMultipartUpload: (fieldName: string, payload: BeginMultipartUploadPayload) => Promise<BeginMultipartUploadHandlerResponse>;
|
45
|
+
commitMultipartUpload: (commitInfo: CommitMultipartUploadPayload) => Promise<WebResource>;
|
21
46
|
}
|
22
47
|
export declare const setupWebresourceHandler: (handler: WebResourceHandler) => void;
|
23
48
|
export declare const getWebresourceHandler: () => WebResourceHandler | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA4B;AAE5B,kEAAoD;AACpD,kEAAoD;AAEpD,uDAA8D;AAC9D,yDAA2D;AAC3D,wDAAqD;AACrD,yEAGuC;AACvC,kDAA4D;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA4B;AAE5B,kEAAoD;AACpD,kEAAoD;AAEpD,uDAA8D;AAC9D,yDAA2D;AAC3D,wDAAqD;AACrD,yEAGuC;AACvC,kDAA4D;AAI5D,6CAA2B;AA2D3B,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IAC7C,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,IAAI,4BAA4D,CAAC;AAC1D,MAAM,uBAAuB,GAAG,CAAC,OAA2B,EAAQ,EAAE;IAC5E,4BAA4B,GAAG,OAAO,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,uBAAuB,2BAElC;AACK,MAAM,qBAAqB,GAAG,GAAmC,EAAE;IACzE,OAAO,4BAA4B,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAC9B,SAAiB,EACjB,GAAoB,EACD,EAAE;IACrB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,qBAAQ,EAAC,OAAO,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC;QACzC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAExD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAGxD,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAgB,EAC5C,GAAG,EACH,UAAU,EACV,YAAY,CAAC,YAAY,EACzB,KAAK,CACL,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,0CAAkB,EAAC,SAAS,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CACvB,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,SAAS,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CACpE,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CACnC,OAA2B,EACF,EAAE;IAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,EAAE,CAAC;QACf,CAAC;QACD,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,eAAe,GAAyB,EAAE,CAAC;QAEjD,MAAM,EAAE,GAAG,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC7B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC7B,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CACxB,CAAC;YAEF,IAAI,CAAC;gBACJ,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,SAAS,CAAC,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC,CAAC;QAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;YAC7C,IAAI,UAAU,EAAE,CAAC;gBAChB,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO;YACR,CAAC;YACD,eAAe,CAAC,IAAI,CACnB,CAAC,KAAK,IAAI,EAAE;gBACX,IAAI,CAAC;oBACJ,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;wBAChD,UAAU,CAAC,MAAM,EAAE,CAAC;wBACpB,OAAO;oBACR,CAAC;oBACD,MAAM,IAAI,GAAiB;wBAC1B,YAAY,EAAE,IAAI,CAAC,QAAQ;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,MAAM,EAAE,UAAU;wBAClB,SAAS;qBACT,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;wBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,YAAY,EAAE,IAAI,CAAC,QAAQ;wBAC3B,mBAAmB,EAAE,SAAS;wBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,QAAQ;qBACrB,CAAC;oBACF,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBACnB,UAAU,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC,CAAC,EAAE,CACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAKH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACnC,gBAAgB,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC;YACR,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBACnB,MAAM,UAAU,EAAE,CAAC;gBACnB,SAAS,CAAC,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;gBAC7D,OAAO,SAAS,CAAC,gBAAgB,CAChC,GAAG,EACH,GAAG,EACH,IAAI,eAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAC/B,CAAC;YACH,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,UAAU,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,CAAC;AACH,CAAC,CAAC;AAlGW,QAAA,oBAAoB,wBAkG/B;AAEF,MAAM,oBAAoB,GAAG,CAC5B,OAA+B,EAC/B,eAAe,GAAG,IAAI,EACX,EAAE;IAKb,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,IAAA,0CAAkB,EAAC,YAAY,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,eAAe;QAC7B,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM;QACpC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEhB,OAAO,MAAM;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACxB,YAAsB,EACtB,kBAAsC,EACrC,EAAE;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACxC,iBAA2B,EAC3B,EAAE,GAAG,EAAE,OAAO,EAAY,EACzB,EAAE;IACH,IACC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;QACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAC/D,CAAC;QACF,MAAM,IAAI,eAAM,CAAC,eAAe,CAC/B,0CAA0C,CAC1C,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CACjC,kBAAsC,EACpB,EAAE;IACpB,OAAO;QACN,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjE,gCAAgC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1C,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;gBACtB,KAAK,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAI,CAAuB,EAAU,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;AAEpE,MAAM,oBAAoB,GAAG,CAC5B,YAA8C,EACnC,EAAE;IACb,MAAM,KAAK,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC3B,MAAM,CAAC,SAAS,CAAC;SACjB,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;IACF,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,MAAM,8BAA8B,GAAG,CACtC,iBAA2B,EAC3B,EAAE,MAAM,EAA0B,EACvB,EAAE;IACb,OAAO,iBAAiB;SACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;SACnC,MAAM,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CACjC,kBAAsC,EACpB,EAAE;IACpB,OAAO;QACN,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAEtD,gCAAgC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAG1D,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;gBACtB,KAAK,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;qBAChD,MAAM,CACN,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CACvD;qBACA,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAGpC,OAAO;YACR,CAAC;YAID,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;gBAEnE,MAAM,YAAY,GAAG,8BAA8B,CAClD,iBAAiB,EACjB,OAAO,CACP,CAAC;gBAGF,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,eAAM,CAAC,eAAe,CAC/B,iEAAiE,CACjE,CAAC;YACH,CAAC;YAGD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAGtB,MAAM,YAAY,GAAG,8BAA8B,CAClD,iBAAiB,EACjB,OAAO,CACP,CAAC;gBACF,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAC9D,OAAO;YACR,CAAC;YAED,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;gBACnC,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,WAAW,EAAE;oBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,GAAG,EAAE,oBAAW,CAAC,IAAI;iBACrB;gBACD,OAAO,EAAE;oBACR,OAAO,EAAE,iBAAiB;oBAC1B,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,GAAG,EAAE,GAAG;yBACR;qBACD;iBACD;aACD,CAAC,CAAgD,CAAC;YAGnD,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,kBAAkB,CACjB,oBAAoB,CAAC,YAAY,CAAC,EAClC,OAAO,EACP,kBAAkB,CAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,KAAK,EACxC,OAA+B,EAC/B,kBAAsC,EACrC,EAAE;IACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;IACR,CAAC;IAED,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAC1B,YAAsB,EACtB,OAA+B,EAC/B,kBAAsC,EAC/B,EAAE;IAET,IAAI,CAAC;QACJ,KAAK,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;AACF,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,GAAuB,EAAE;IACzD,OAAO,IAAI,yBAAW,EAAE,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,MAAM,gBAAgB,GAAG,CAC/B,OAA2B,EAC3B,OAAe,EACf,YAAoB,EACnB,EAAE;IACH,SAAS,CAAC,WAAW,CACpB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,yBAAyB,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,SAAS,CAAC,WAAW,CACpB,OAAO,EACP,OAAO,EACP,YAAY,EAEZ,yBAAyB,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,SAAS,CAAC,WAAW,CACpB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,yBAAyB,CAAC,OAAO,CAAC,CAClC,CAAC;AACH,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/pinejs",
|
3
|
-
"version": "17.0.0-build-v17-
|
3
|
+
"version": "17.0.0-build-v17-a23172f0d3c5aa4169ebb0f29d4939508c9074cf-2",
|
4
4
|
"main": "out/server-glue/module",
|
5
5
|
"type": "commonjs",
|
6
6
|
"repository": "git@github.com:balena-io/pinejs.git",
|
@@ -65,7 +65,7 @@
|
|
65
65
|
"devDependencies": {
|
66
66
|
"@aws-sdk/client-s3": "^3.556.0",
|
67
67
|
"@balena/lint": "^8.0.0",
|
68
|
-
"@balena/pinejs-webresource-s3": "^0.
|
68
|
+
"@balena/pinejs-webresource-s3": "^0.2.0",
|
69
69
|
"@faker-js/faker": "^8.3.1",
|
70
70
|
"@types/busboy": "^1.5.3",
|
71
71
|
"@types/chai": "^4.3.11",
|
@@ -143,6 +143,6 @@
|
|
143
143
|
"recursive": true
|
144
144
|
},
|
145
145
|
"versionist": {
|
146
|
-
"publishedAt": "2024-04-
|
146
|
+
"publishedAt": "2024-04-19T19:12:20.783Z"
|
147
147
|
}
|
148
148
|
}
|
@@ -1,5 +1,10 @@
|
|
1
1
|
import type { WebResourceType as WebResource } from '@balena/sbvr-types';
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BeginMultipartUploadHandlerResponse,
|
4
|
+
IncomingFile,
|
5
|
+
UploadResponse,
|
6
|
+
WebResourceHandler,
|
7
|
+
} from '..';
|
3
8
|
|
4
9
|
export class NoopHandler implements WebResourceHandler {
|
5
10
|
public async handleFile(resource: IncomingFile): Promise<UploadResponse> {
|
@@ -18,4 +23,12 @@ export class NoopHandler implements WebResourceHandler {
|
|
18
23
|
public async onPreRespond(webResource: WebResource): Promise<WebResource> {
|
19
24
|
return webResource;
|
20
25
|
}
|
26
|
+
|
27
|
+
public async beginMultipartUpload(): Promise<BeginMultipartUploadHandlerResponse> {
|
28
|
+
return { fileKey: 'noop', uploadId: 'noop', uploadParts: [] };
|
29
|
+
}
|
30
|
+
|
31
|
+
public async commitMultipartUpload(): Promise<WebResource> {
|
32
|
+
return { filename: 'noop', href: 'noop' };
|
33
|
+
}
|
21
34
|
}
|
@@ -13,6 +13,7 @@ import {
|
|
13
13
|
} from '@balena/odata-to-abstract-sql';
|
14
14
|
import { errors, permissions } from '../server-glue/module';
|
15
15
|
import type { WebResourceType as WebResource } from '@balena/sbvr-types';
|
16
|
+
import type { AnyObject } from 'pinejs-client-core';
|
16
17
|
|
17
18
|
export * from './handlers';
|
18
19
|
|
@@ -29,10 +30,44 @@ export interface UploadResponse {
|
|
29
30
|
filename: string;
|
30
31
|
}
|
31
32
|
|
33
|
+
export interface BeginMultipartUploadPayload {
|
34
|
+
filename: string;
|
35
|
+
content_type: string;
|
36
|
+
size: number;
|
37
|
+
chunk_size: number;
|
38
|
+
}
|
39
|
+
|
40
|
+
export interface UploadPart {
|
41
|
+
url: string;
|
42
|
+
chunkSize: number;
|
43
|
+
partNumber: number;
|
44
|
+
}
|
45
|
+
|
46
|
+
export interface BeginMultipartUploadHandlerResponse {
|
47
|
+
uploadParts: UploadPart[];
|
48
|
+
fileKey: string;
|
49
|
+
uploadId: string;
|
50
|
+
}
|
51
|
+
|
52
|
+
export interface CommitMultipartUploadPayload {
|
53
|
+
fileKey: string;
|
54
|
+
uploadId: string;
|
55
|
+
filename: string;
|
56
|
+
providerCommitData?: AnyObject;
|
57
|
+
}
|
58
|
+
|
32
59
|
export interface WebResourceHandler {
|
33
60
|
handleFile: (resource: IncomingFile) => Promise<UploadResponse>;
|
34
61
|
removeFile: (fileReference: string) => Promise<void>;
|
35
62
|
onPreRespond: (webResource: WebResource) => Promise<WebResource>;
|
63
|
+
|
64
|
+
beginMultipartUpload: (
|
65
|
+
fieldName: string,
|
66
|
+
payload: BeginMultipartUploadPayload,
|
67
|
+
) => Promise<BeginMultipartUploadHandlerResponse>;
|
68
|
+
commitMultipartUpload: (
|
69
|
+
commitInfo: CommitMultipartUploadPayload,
|
70
|
+
) => Promise<WebResource>;
|
36
71
|
}
|
37
72
|
|
38
73
|
type WebResourcesDbResponse = {
|