@balena/pinejs 21.4.0-build-add-actions-example-b618c940523a81638a208dcc973e5b68c185fa53-1 → 21.4.0-build-add-actions-example-00cabf6eb1629a826638b8c81dcf6d45a534872b-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.
@@ -1,6 +1,6 @@
1
1
  - commits:
2
2
  - subject: Add multipart upload actions
3
- hash: b618c940523a81638a208dcc973e5b68c185fa53
3
+ hash: 00cabf6eb1629a826638b8c81dcf6d45a534872b
4
4
  body: ""
5
5
  footer:
6
6
  Change-type: minor
@@ -27,7 +27,7 @@
27
27
  nested: []
28
28
  version: 21.4.0
29
29
  title: ""
30
- date: 2025-05-01T14:26:05.381Z
30
+ date: 2025-05-03T01:13:04.267Z
31
31
  - commits:
32
32
  - subject: Add multipart upload interface for handlers
33
33
  hash: d78ee0da169cb9b252bfe8d51c4f57cd10051475
package/CHANGELOG.md CHANGED
@@ -5,7 +5,7 @@ automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  # v21.4.0
8
- ## (2025-05-01)
8
+ ## (2025-05-03)
9
9
 
10
10
  * Add multipart upload actions [Otavio Jacobi]
11
11
  * Add webresource vocabulary [Otavio Jacobi]
@@ -1,9 +1,8 @@
1
1
  import { api } from '../../sbvr-api/sbvr-utils.js';
2
- import { getMultipartUploadHandler } from '../multiparUpload.js';
2
+ import { getMultipartUploadHandler } from '../multipartUpload.js';
3
3
  import { getWebResourceFields } from '../index.js';
4
4
  import { BadRequestError, NotImplementedError } from '../../sbvr-api/errors.js';
5
5
  import { permissions, sbvrUtils } from '../../server-glue/module.js';
6
- import { TransactionClosedError } from '../../database-layer/db.js';
7
6
  import { randomUUID } from 'crypto';
8
7
  import { ajv } from '../../tasks/common.js';
9
8
  const beginUploadPayloadSchema = {
@@ -22,6 +21,7 @@ const beginUploadPayloadSchema = {
22
21
  additionalProperties: false,
23
22
  },
24
23
  };
24
+ const validateBeginUpload = ajv.compile(beginUploadPayloadSchema);
25
25
  export const beginUploadAction = async ({ request, tx, id, req, }) => {
26
26
  if (typeof id !== 'number') {
27
27
  throw new NotImplementedError('multipart upload do not yet support non-numeric ids');
@@ -59,7 +59,7 @@ export const beginUploadAction = async ({ request, tx, id, req, }) => {
59
59
  };
60
60
  const parseBeginUpload = (request, webResourceHandler) => {
61
61
  const { values } = request;
62
- const isValid = ajv.validate(beginUploadPayloadSchema, values);
62
+ const isValid = validateBeginUpload(values);
63
63
  if (!isValid) {
64
64
  throw new BadRequestError('Invalid begin upload payload');
65
65
  }
@@ -78,27 +78,27 @@ const parseBeginUpload = (request, webResourceHandler) => {
78
78
  throw new BadRequestError('Chunk size is too small');
79
79
  }
80
80
  return {
81
- beginUploadPayload: beginUploadPayload,
81
+ beginUploadPayload,
82
82
  fieldName,
83
83
  };
84
84
  };
85
85
  const runFakeDbPatch = async (request, fakeDbPatch) => {
86
+ const fakeTx = await sbvrUtils.db.transaction();
86
87
  try {
87
- await sbvrUtils.db.transaction(async (fakeTx) => {
88
- const newUrl = request.url.slice(1).replace(/\/beginUpload$/, '');
89
- await api[request.vocabulary].request({
90
- method: 'PATCH',
91
- url: newUrl,
92
- body: fakeDbPatch,
93
- passthrough: { tx: fakeTx, req: permissions.root },
94
- });
95
- await fakeTx.rollback();
88
+ const newUrl = request.url
89
+ .slice(1)
90
+ .split('?', 1)[0]
91
+ .replace(/\/beginUpload$/, '');
92
+ await api[request.vocabulary].request({
93
+ method: 'PATCH',
94
+ url: newUrl,
95
+ body: fakeDbPatch,
96
+ passthrough: { tx: fakeTx, req: permissions.root },
96
97
  });
97
98
  }
98
- catch (e) {
99
- if (!(e instanceof TransactionClosedError &&
100
- e.message === 'Transaction has been rolled back.')) {
101
- throw e;
99
+ finally {
100
+ if (!fakeTx.isClosed()) {
101
+ await fakeTx.rollback();
102
102
  }
103
103
  }
104
104
  };
@@ -1 +1 @@
1
- {"version":3,"file":"beginUpload.js","sourceRoot":"","sources":["../../../src/webresource-handler/actions/beginUpload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beginUpload.js","sourceRoot":"","sources":["../../../src/webresource-handler/actions/beginUpload.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BadRequestError, NotImplementedError, UnauthorizedError, } from '../../sbvr-api/errors.js';
2
2
  import { api } from '../../sbvr-api/sbvr-utils.js';
3
3
  import { permissions } from '../../server-glue/module.js';
4
- import { getMultipartUploadHandler } from '../multiparUpload.js';
4
+ import { getMultipartUploadHandler } from '../multipartUpload.js';
5
5
  export const cancelUploadAction = async ({ request, tx, id: resourceId, }) => {
6
6
  if (typeof resourceId !== 'number') {
7
7
  throw new NotImplementedError('multipart upload do not yet support non-numeric ids');
@@ -26,7 +26,7 @@ export const cancelUploadAction = async ({ request, tx, id: resourceId, }) => {
26
26
  };
27
27
  const getOngoingUpload = async (request, affectedId, tx) => {
28
28
  const { uuid } = request.values;
29
- if (!uuid || typeof uuid !== 'string') {
29
+ if (uuid == null || typeof uuid !== 'string') {
30
30
  throw new BadRequestError('Invalid uuid type');
31
31
  }
32
32
  const [multipartUpload] = await api.webresource.get({
@@ -1 +1 @@
1
- {"version":3,"file":"canceUpload.js","sourceRoot":"","sources":["../../../src/webresource-handler/actions/canceUpload.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,GAAG,EAAiB,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,EAAE,EACF,EAAE,EAAE,UAAU,GACG,EAAqB,EAAE;IACxC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,mBAAmB,CAC5B,qDAAqD,CACrD,CAAC;IACH,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CACvD,OAAO,EACP,UAAU,EACV,EAAE,CACF,CAAC;IACF,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAE5C,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;QAC3B,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE;YACL,MAAM,EAAE,WAAW;SACnB;QACD,EAAE;QACF,WAAW,EAAE;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,WAAW,CAAC,IAAI;SACrB;KACD,CAAC,CAAC;IAKH,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE5D,OAAO;QACN,UAAU,EAAE,GAAG;KACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC7B,OAA2B,EAC3B,UAAkB,EAClB,EAAM,EACL,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;QACnD,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE;YACR,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;YACxC,OAAO,EAAE;gBAER,IAAI;gBACJ,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;gBAClC,aAAa,EAAE,OAAO,CAAC,YAAY;gBACnC,WAAW,EAAE,UAAU;aACvB;SACD;QACD,WAAW,EAAE;YACZ,EAAE;YACF,GAAG,EAAE,WAAW,CAAC,QAAQ;SACzB;KACD,CAAC,CAAC;IAEH,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACN,EAAE,EAAE,eAAe,CAAC,EAAE;QACtB,OAAO,EAAE,eAAe,CAAC,QAAQ;QACjC,QAAQ,EAAE,eAAe,CAAC,SAAS;KACnC,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"canceUpload.js","sourceRoot":"","sources":["../../../src/webresource-handler/actions/canceUpload.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,GAAG,EAAiB,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,EAAE,EACF,EAAE,EAAE,UAAU,GACG,EAAqB,EAAE;IACxC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,mBAAmB,CAC5B,qDAAqD,CACrD,CAAC;IACH,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CACvD,OAAO,EACP,UAAU,EACV,EAAE,CACF,CAAC;IACF,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAE5C,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;QAC3B,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE;YACL,MAAM,EAAE,WAAW;SACnB;QACD,EAAE;QACF,WAAW,EAAE;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,WAAW,CAAC,IAAI;SACrB;KACD,CAAC,CAAC;IAKH,MAAM,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE5D,OAAO;QACN,UAAU,EAAE,GAAG;KACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC7B,OAA2B,EAC3B,UAAkB,EAClB,EAAM,EACL,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAChC,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;QACnD,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE;YACR,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;YACxC,OAAO,EAAE;gBAER,IAAI;gBACJ,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;gBAClC,aAAa,EAAE,OAAO,CAAC,YAAY;gBACnC,WAAW,EAAE,UAAU;aACvB;SACD;QACD,WAAW,EAAE;YACZ,EAAE;YACF,GAAG,EAAE,WAAW,CAAC,QAAQ;SACzB;KACD,CAAC,CAAC;IAEH,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACN,EAAE,EAAE,eAAe,CAAC,EAAE;QACtB,OAAO,EAAE,eAAe,CAAC,QAAQ;QACjC,QAAQ,EAAE,eAAe,CAAC,SAAS;KACnC,CAAC;AACH,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { BadRequestError, NotImplementedError, UnauthorizedError, } from '../../sbvr-api/errors.js';
2
2
  import { api } from '../../sbvr-api/sbvr-utils.js';
3
3
  import { permissions } from '../../server-glue/module.js';
4
- import { getMultipartUploadHandler } from '../multiparUpload.js';
4
+ import { getMultipartUploadHandler } from '../multipartUpload.js';
5
5
  export const commitUploadAction = async ({ request, tx, id, api: applicationApi, }) => {
6
6
  if (typeof id !== 'number') {
7
7
  throw new NotImplementedError('multipart upload do not yet support non-numeric ids');
@@ -50,7 +50,7 @@ export const commitUploadAction = async ({ request, tx, id, api: applicationApi,
50
50
  };
51
51
  const getOngoingUpload = async (request, affectedId, tx) => {
52
52
  const { uuid, providerCommitData } = request.values;
53
- if (!uuid || typeof uuid !== 'string') {
53
+ if (uuid == null || typeof uuid !== 'string') {
54
54
  throw new BadRequestError('Invalid uuid type');
55
55
  }
56
56
  const [multipartUpload] = await api.webresource.get({
@@ -1 +1 @@
1
- {"version":3,"file":"commitUpload.js","sourceRoot":"","sources":["../../../src/webresource-handler/actions/commitUpload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commitUpload.js","sourceRoot":"","sources":["../../../src/webresource-handler/actions/commitUpload.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { errors, permissions } from '../server-glue/module.js';
9
9
  import { TypedError } from 'typed-error';
10
10
  import { importSBVR } from '../server-glue/sbvr-loader.js';
11
11
  import { beginUploadAction } from './actions/beginUpload.js';
12
- import { isMultipartUploadAvailable } from './multiparUpload.js';
12
+ import { isMultipartUploadAvailable } from './multipartUpload.js';
13
13
  import { commitUploadAction } from './actions/commitUpload.js';
14
14
  import { cancelUploadAction } from './actions/canceUpload.js';
15
15
  import { addAction } from '../sbvr-api/actions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,4 @@ export const getMultipartUploadHandler = () => {
11
11
  }
12
12
  return handler;
13
13
  };
14
- //# sourceMappingURL=multiparUpload.js.map
14
+ //# sourceMappingURL=multipartUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipartUpload.js","sourceRoot":"","sources":["../../src/webresource-handler/multipartUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,OAAuC,EACH,EAAE;IACtC,OAAO,CACN,cAAc,CAAC,sBAAsB,IAAI,OAAO,EAAE,eAAe,IAAI,IAAI,CACzE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC7C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "21.4.0-build-add-actions-example-b618c940523a81638a208dcc973e5b68c185fa53-1",
3
+ "version": "21.4.0-build-add-actions-example-00cabf6eb1629a826638b8c81dcf6d45a534872b-1",
4
4
  "main": "out/server-glue/module.js",
5
5
  "type": "module",
6
6
  "repository": "git@github.com:balena-io/pinejs.git",
@@ -149,6 +149,6 @@
149
149
  "recursive": true
150
150
  },
151
151
  "versionist": {
152
- "publishedAt": "2025-05-01T14:26:06.408Z"
152
+ "publishedAt": "2025-05-03T01:13:05.284Z"
153
153
  }
154
154
  }
@@ -1,11 +1,10 @@
1
1
  import { api, type Response } from '../../sbvr-api/sbvr-utils.js';
2
- import type { MultipartUploadHandler } from '../multiparUpload.js';
3
- import { getMultipartUploadHandler } from '../multiparUpload.js';
2
+ import type { MultipartUploadHandler } from '../multipartUpload.js';
3
+ import { getMultipartUploadHandler } from '../multipartUpload.js';
4
4
  import type { BeginMultipartUploadPayload } from '../index.js';
5
5
  import { getWebResourceFields } from '../index.js';
6
6
  import { BadRequestError, NotImplementedError } from '../../sbvr-api/errors.js';
7
7
  import { permissions, sbvrUtils } from '../../server-glue/module.js';
8
- import { TransactionClosedError } from '../../database-layer/db.js';
9
8
  import { randomUUID } from 'crypto';
10
9
  import type { WebResourceType as WebResource } from '@balena/sbvr-types';
11
10
  import type {
@@ -38,7 +37,9 @@ const beginUploadPayloadSchema = {
38
37
  },
39
38
  } as const;
40
39
 
41
- type BeginUploadPayload = FromSchema<typeof beginUploadPayloadSchema>;
40
+ const validateBeginUpload = ajv.compile<
41
+ FromSchema<typeof beginUploadPayloadSchema>
42
+ >(beginUploadPayloadSchema);
42
43
 
43
44
  export const beginUploadAction = async ({
44
45
  request,
@@ -93,10 +94,7 @@ const parseBeginUpload = (
93
94
  webResourceHandler: MultipartUploadHandler,
94
95
  ) => {
95
96
  const { values } = request;
96
- const isValid = ajv.validate<BeginUploadPayload>(
97
- beginUploadPayloadSchema,
98
- values,
99
- );
97
+ const isValid = validateBeginUpload(values);
100
98
  if (!isValid) {
101
99
  throw new BadRequestError('Invalid begin upload payload');
102
100
  }
@@ -114,7 +112,7 @@ const parseBeginUpload = (
114
112
  chunk_size:
115
113
  values[fieldName].chunk_size ??
116
114
  webResourceHandler.multipartUpload.getMinimumPartSize(),
117
- };
115
+ } satisfies BeginMultipartUploadPayload;
118
116
 
119
117
  if (
120
118
  beginUploadPayload.chunk_size <
@@ -124,40 +122,42 @@ const parseBeginUpload = (
124
122
  }
125
123
 
126
124
  return {
127
- beginUploadPayload:
128
- beginUploadPayload satisfies BeginMultipartUploadPayload,
125
+ beginUploadPayload,
129
126
  fieldName,
130
127
  };
131
128
  };
132
129
 
133
- // TODO: comment explaining why run this fake transaction is important
130
+ // We want beginUpload to fail if the initial payload would already break any constraint/hooks/rule
131
+ // this serves as both an optimization and a better client experience as it avoids succeding a beginUpload
132
+ // (which could allow for potentially very large PartUploads) only for it to fail on commitUpload
133
+ // The current approach to try to achieve this behavior creates this fake database patch:
134
+ // It first tries to patch the file metadata (on a separate tx) to something similar to what it would look like
135
+ // and if it breaks any constraint, then it throws and fail to even start the upload
136
+ // Note that because the href is only generated at commitUpload time, we need to fake it for the time being
137
+ // This could potentially be a problem if an application code has a constraint on the href property
138
+ // However, because this is a internal (pine managed) property we assumed that application code won't do so
134
139
  const runFakeDbPatch = async (
135
140
  request: ODataActionRequest,
136
141
  fakeDbPatch: FakeWebResourcePatch,
137
142
  ) => {
143
+ const fakeTx = await sbvrUtils.db.transaction();
138
144
  try {
139
- await sbvrUtils.db.transaction(async (fakeTx) => {
140
- const newUrl = request.url.slice(1).replace(/\/beginUpload$/, '');
141
- await api[request.vocabulary].request({
142
- method: 'PATCH',
143
- url: newUrl,
144
- body: fakeDbPatch,
145
- // TODO: comment explaining why root is necessary
146
- passthrough: { tx: fakeTx, req: permissions.root },
147
- });
145
+ const newUrl = request.url
146
+ .slice(1)
147
+ .split('?', 1)[0]
148
+ .replace(/\/beginUpload$/, '');
148
149
 
149
- await fakeTx.rollback();
150
+ await api[request.vocabulary].request({
151
+ method: 'PATCH',
152
+ url: newUrl,
153
+ body: fakeDbPatch,
154
+ // it needs root as otherwise it would always fail as non-root users
155
+ // are not allowed to directly patch webresource metadata, onnly upload files
156
+ passthrough: { tx: fakeTx, req: permissions.root },
150
157
  });
151
- } catch (e) {
152
- if (
153
- // calling rollback() always makes it throw, so we capture and move on in case
154
- // the error was just because the tx was (on purpose) rolledback
155
- !(
156
- e instanceof TransactionClosedError &&
157
- e.message === 'Transaction has been rolled back.'
158
- )
159
- ) {
160
- throw e;
158
+ } finally {
159
+ if (!fakeTx.isClosed()) {
160
+ await fakeTx.rollback();
161
161
  }
162
162
  }
163
163
  };
@@ -10,7 +10,7 @@ import {
10
10
  } from '../../sbvr-api/errors.js';
11
11
  import { api, type Response } from '../../sbvr-api/sbvr-utils.js';
12
12
  import { permissions } from '../../server-glue/module.js';
13
- import { getMultipartUploadHandler } from '../multiparUpload.js';
13
+ import { getMultipartUploadHandler } from '../multipartUpload.js';
14
14
 
15
15
  export const cancelUploadAction = async ({
16
16
  request,
@@ -57,7 +57,7 @@ const getOngoingUpload = async (
57
57
  tx: Tx,
58
58
  ) => {
59
59
  const { uuid } = request.values;
60
- if (!uuid || typeof uuid !== 'string') {
60
+ if (uuid == null || typeof uuid !== 'string') {
61
61
  throw new BadRequestError('Invalid uuid type');
62
62
  }
63
63
 
@@ -11,7 +11,7 @@ import {
11
11
  import type { Response } from '../../sbvr-api/sbvr-utils.js';
12
12
  import { api } from '../../sbvr-api/sbvr-utils.js';
13
13
  import { permissions } from '../../server-glue/module.js';
14
- import { getMultipartUploadHandler } from '../multiparUpload.js';
14
+ import { getMultipartUploadHandler } from '../multipartUpload.js';
15
15
 
16
16
  export const commitUploadAction = async ({
17
17
  request,
@@ -79,7 +79,7 @@ const getOngoingUpload = async (
79
79
  tx: Tx,
80
80
  ) => {
81
81
  const { uuid, providerCommitData } = request.values;
82
- if (!uuid || typeof uuid !== 'string') {
82
+ if (uuid == null || typeof uuid !== 'string') {
83
83
  throw new BadRequestError('Invalid uuid type');
84
84
  }
85
85
 
@@ -19,7 +19,7 @@ import type { Resolvable } from '../sbvr-api/common-types.js';
19
19
  import type WebresourceModel from './webresource.js';
20
20
  import { importSBVR } from '../server-glue/sbvr-loader.js';
21
21
  import { beginUploadAction } from './actions/beginUpload.js';
22
- import { isMultipartUploadAvailable } from './multiparUpload.js';
22
+ import { isMultipartUploadAvailable } from './multipartUpload.js';
23
23
  import { commitUploadAction } from './actions/commitUpload.js';
24
24
  import { cancelUploadAction } from './actions/canceUpload.js';
25
25
  import { addAction } from '../sbvr-api/actions.js';
@@ -337,7 +337,13 @@ const throwIfWebresourceNotInMultipart = (
337
337
  { req, request }: HookArgs,
338
338
  ) => {
339
339
  if (
340
+ // root needs to be able to bypass the multipart check as
341
+ // it needs to pass the direct payload on multipart uploads (on storage provider)
340
342
  req.user !== permissions.root.user &&
343
+ // This is checking for HTTP multipart form submission/request (e.g. send the actual file via the API)
344
+ // Not to confuse with multipart uploads
345
+ // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods/POST#multipart_form_submission
346
+ // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
341
347
  !req.is?.('multipart') &&
342
348
  webResourceFields.some((field) => request.values[field] != null)
343
349
  ) {
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiparUpload.js","sourceRoot":"","sources":["../../src/webresource-handler/multiparUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,OAAuC,EACH,EAAE;IACtC,OAAO,CACN,cAAc,CAAC,sBAAsB,IAAI,OAAO,EAAE,eAAe,IAAI,IAAI,CACzE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC7C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}