@balena/pinejs 21.3.1-build-webresource-delete-reliable-352ee24cd7b3e9160890e605beefbc59f20495d1-2 → 21.3.1-build-do-not-rely-on-side-behaviors-b38670ddfc88219c89cfbdf5f79d3e4b13935360-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/.versionbot/CHANGELOG.yml +18 -12
- package/CHANGELOG.md +1 -2
- package/out/config-loader/config-loader.js +1 -1
- package/out/config-loader/config-loader.js.map +1 -1
- package/out/tasks/index.d.ts +0 -1
- package/out/tasks/index.js +1 -6
- package/out/tasks/index.js.map +1 -1
- package/out/webresource-handler/index.d.ts +1 -1
- package/out/webresource-handler/index.js +44 -52
- package/out/webresource-handler/index.js.map +1 -1
- package/package.json +2 -2
- package/src/config-loader/config-loader.ts +1 -1
- package/src/tasks/index.ts +1 -9
- package/src/webresource-handler/index.ts +83 -67
- package/out/tasks/pine-tasks.d.ts +0 -1
- package/out/tasks/pine-tasks.js +0 -7
- package/out/tasks/pine-tasks.js.map +0 -1
- package/out/webresource-handler/delete-file-task.d.ts +0 -1
- package/out/webresource-handler/delete-file-task.js +0 -37
- package/out/webresource-handler/delete-file-task.js.map +0 -1
- package/src/tasks/pine-tasks.ts +0 -7
- package/src/webresource-handler/delete-file-task.ts +0 -42
@@ -1,16 +1,22 @@
|
|
1
1
|
- commits:
|
2
|
-
- subject:
|
3
|
-
hash:
|
4
|
-
body:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
2
|
+
- subject: Improve webresource tests to be independent of generated href key
|
3
|
+
hash: b38670ddfc88219c89cfbdf5f79d3e4b13935360
|
4
|
+
body: >
|
5
|
+
Previous version of tests were relying on the fact that the href
|
6
|
+
(generated) property used the given filename to be generated
|
7
|
+
|
8
|
+
and would search over the bucket for that filename.
|
9
|
+
|
10
|
+
|
11
|
+
This is highly undesirable as it makes the tests unreliable to possible
|
12
|
+
underlying (non breaking) changes, as it relies on a side effect
|
13
|
+
|
14
|
+
|
15
|
+
The current PR changes it by ensuring the specific keys exist on the
|
16
|
+
bucket without any relation for the given filename.
|
13
17
|
footer:
|
18
|
+
See: https://balena.fibery.io/search/tyKzx#Work/Improvement/Make-webresources-file-deletion-more-reliable-2819
|
19
|
+
see: https://balena.fibery.io/search/tyKzx#Work/Improvement/Make-webresources-file-deletion-more-reliable-2819
|
14
20
|
Change-type: patch
|
15
21
|
change-type: patch
|
16
22
|
author: Otavio Jacobi
|
@@ -33,7 +39,7 @@
|
|
33
39
|
nested: []
|
34
40
|
version: 21.3.1
|
35
41
|
title: ""
|
36
|
-
date: 2025-05-
|
42
|
+
date: 2025-05-04T22:16:05.157Z
|
37
43
|
- commits:
|
38
44
|
- subject: Add multipart upload interface for handlers
|
39
45
|
hash: d78ee0da169cb9b252bfe8d51c4f57cd10051475
|
package/CHANGELOG.md
CHANGED
@@ -7,8 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
7
7
|
# v21.3.1
|
8
8
|
## (2025-05-04)
|
9
9
|
|
10
|
-
*
|
11
|
-
* Refactor rollback file deletion logic [Otavio Jacobi]
|
10
|
+
* Improve webresource tests to be independent of generated href key [Otavio Jacobi]
|
12
11
|
* Fix webresource tests for deleted files with signed hrefs [Otavio Jacobi]
|
13
12
|
* Clear webresources bucket after test run [Otavio Jacobi]
|
14
13
|
|
@@ -112,7 +112,7 @@ export const setup = (app) => {
|
|
112
112
|
.filter((table) => table.fields.some((f) => f.dataType === 'WebResource'))
|
113
113
|
.map((table) => table.name);
|
114
114
|
for (const resource of new Set(resourceNames)) {
|
115
|
-
setupUploadHooks(model.apiRoot, resource);
|
115
|
+
setupUploadHooks(webResourceHandler, model.apiRoot, resource);
|
116
116
|
}
|
117
117
|
}
|
118
118
|
console.info('Successfully executed ' + model.modelName + ' model.');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"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"}
|
package/out/tasks/index.d.ts
CHANGED
@@ -14,7 +14,6 @@ declare module '../sbvr-api/sbvr-utils.js' {
|
|
14
14
|
}
|
15
15
|
export declare const config: ConfigLoader.Config;
|
16
16
|
export declare let worker: Worker | null;
|
17
|
-
export declare function isPineTasksAvailable(): boolean;
|
18
17
|
export declare function setup(): void;
|
19
18
|
export declare function addTaskHandler(name: string, fn: TaskHandler<NonNullable<Task['Read']['is_executed_with__parameter_set']>>['fn'], schema?: undefined): void;
|
20
19
|
export declare function addTaskHandler<T extends Schema>(name: string, fn: TaskHandler<FromSchema<NonNullable<T>>>['fn'], schema: T): void;
|
package/out/tasks/index.js
CHANGED
@@ -5,7 +5,6 @@ import * as sbvrUtils from '../sbvr-api/sbvr-utils.js';
|
|
5
5
|
import { ajv, apiRoot } from './common.js';
|
6
6
|
import { Worker } from './worker.js';
|
7
7
|
import { importSBVR } from '../server-glue/sbvr-loader.js';
|
8
|
-
import { addPineTaskHandlers } from './pine-tasks.js';
|
9
8
|
const modelText = await importSBVR('./tasks.sbvr', import.meta);
|
10
9
|
const initSql = `
|
11
10
|
CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
|
@@ -26,11 +25,8 @@ export const config = {
|
|
26
25
|
],
|
27
26
|
};
|
28
27
|
export let worker = null;
|
29
|
-
export function isPineTasksAvailable() {
|
30
|
-
return sbvrUtils.db.engine === 'postgres';
|
31
|
-
}
|
32
28
|
export function setup() {
|
33
|
-
if (
|
29
|
+
if (sbvrUtils.db.engine !== 'postgres') {
|
34
30
|
console.warn('Skipping task setup as database not supported');
|
35
31
|
return;
|
36
32
|
}
|
@@ -80,7 +76,6 @@ export function setup() {
|
|
80
76
|
}
|
81
77
|
},
|
82
78
|
});
|
83
|
-
addPineTaskHandlers();
|
84
79
|
}
|
85
80
|
export function addTaskHandler(name, fn, schema) {
|
86
81
|
if (worker == null) {
|
package/out/tasks/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
|
@@ -65,4 +65,4 @@ export declare const getUploaderMiddlware: (handler: WebResourceHandler) => Expr
|
|
65
65
|
export declare const getWebResourceFields: (request: uriParser.ParsedODataRequest, useTranslations?: boolean) => string[];
|
66
66
|
export declare const normalizeHref: (href: string) => string;
|
67
67
|
export declare const getDefaultHandler: () => WebResourceHandler;
|
68
|
-
export declare const setupUploadHooks: (apiRoot: string, resourceName: string) => void;
|
68
|
+
export declare const setupUploadHooks: (handler: WebResourceHandler, apiRoot: string, resourceName: string) => void;
|
@@ -7,7 +7,6 @@ import { NoopHandler } from './handlers/NoopHandler.js';
|
|
7
7
|
import { odataNameToSqlName, sqlNameToODataName, } from '@balena/odata-to-abstract-sql';
|
8
8
|
import { errors, permissions } from '../server-glue/module.js';
|
9
9
|
import { TypedError } from 'typed-error';
|
10
|
-
import { isPineTasksAvailable } from '../tasks/index.js';
|
11
10
|
export * from './handlers/index.js';
|
12
11
|
export class WebResourceError extends TypedError {
|
13
12
|
}
|
@@ -170,31 +169,9 @@ export const getWebResourceFields = (request, useTranslations = true) => {
|
|
170
169
|
.filter((f) => f.dataType === 'WebResource')
|
171
170
|
.map((f) => sqlNameToODataName(f.fieldName));
|
172
171
|
};
|
173
|
-
const
|
174
|
-
|
175
|
-
|
176
|
-
return await sbvrUtils.api.tasks.post({
|
177
|
-
resource: 'task',
|
178
|
-
passthrough: {
|
179
|
-
req: permissions.root,
|
180
|
-
tx,
|
181
|
-
},
|
182
|
-
body: {
|
183
|
-
key: crypto.randomUUID(),
|
184
|
-
is_executed_by__handler: 'delete_webresource_file',
|
185
|
-
is_executed_with__parameter_set: {
|
186
|
-
fileKey: fileKey,
|
187
|
-
},
|
188
|
-
attempt_limit: 2 ** 31 - 1,
|
189
|
-
},
|
190
|
-
});
|
191
|
-
}));
|
192
|
-
}
|
193
|
-
else {
|
194
|
-
await Promise.all(keysToDelete.map(async (fileKey) => {
|
195
|
-
return await configuredWebResourceHandler?.removeFile(fileKey);
|
196
|
-
}));
|
197
|
-
}
|
172
|
+
const deleteFiles = async (keysToDelete, webResourceHandler) => {
|
173
|
+
const promises = keysToDelete.map((r) => webResourceHandler.removeFile(r));
|
174
|
+
await Promise.all(promises);
|
198
175
|
};
|
199
176
|
const throwIfWebresourceNotInMultipart = (webResourceFields, { req, request }) => {
|
200
177
|
if (!req.is?.('multipart') &&
|
@@ -202,19 +179,16 @@ const throwIfWebresourceNotInMultipart = (webResourceFields, { req, request }) =
|
|
202
179
|
throw new errors.BadRequestError('Use multipart requests to upload a file.');
|
203
180
|
}
|
204
181
|
};
|
205
|
-
const getCreateWebResourceHooks = () => {
|
182
|
+
const getCreateWebResourceHooks = (webResourceHandler) => {
|
206
183
|
return {
|
207
184
|
PRERUN: (hookArgs) => {
|
208
185
|
const webResourceFields = getWebResourceFields(hookArgs.request);
|
209
186
|
throwIfWebresourceNotInMultipart(webResourceFields, hookArgs);
|
210
187
|
},
|
211
|
-
'POSTRUN-ERROR':
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
}
|
216
|
-
const keysToDelete = getWebResourcesKeysFromRequest(fields, request);
|
217
|
-
await deleteOnStorage(keysToDelete);
|
188
|
+
'POSTRUN-ERROR': ({ tx, request }) => {
|
189
|
+
tx.on('rollback', () => {
|
190
|
+
void deleteRollbackPendingFields(request, webResourceHandler);
|
191
|
+
});
|
218
192
|
},
|
219
193
|
};
|
220
194
|
};
|
@@ -232,37 +206,44 @@ const getWebResourcesKeysFromRequest = (webResourceFields, { values }) => {
|
|
232
206
|
.map((field) => values[field]?.href)
|
233
207
|
.filter((href) => href != null);
|
234
208
|
};
|
235
|
-
const getRemoveWebResourceHooks = () => {
|
209
|
+
const getRemoveWebResourceHooks = (webResourceHandler) => {
|
236
210
|
return {
|
237
211
|
PRERUN: async (args) => {
|
238
212
|
const { api, request, tx } = args;
|
239
213
|
let webResourceFields = getWebResourceFields(request);
|
214
|
+
throwIfWebresourceNotInMultipart(webResourceFields, args);
|
215
|
+
tx.on('rollback', () => {
|
216
|
+
void deleteRollbackPendingFields(request, webResourceHandler);
|
217
|
+
});
|
240
218
|
if (request.method === 'PATCH') {
|
241
219
|
webResourceFields = Object.entries(request.values)
|
242
220
|
.filter(([key, value]) => value !== undefined && webResourceFields.includes(key))
|
243
221
|
.map(([key]) => key);
|
244
222
|
}
|
245
|
-
request.custom.webResourceFields = webResourceFields;
|
246
|
-
throwIfWebresourceNotInMultipart(webResourceFields, args);
|
247
223
|
if (webResourceFields.length === 0) {
|
248
224
|
return;
|
249
225
|
}
|
250
226
|
if (request.method === 'PATCH' && request.odataQuery?.key == null) {
|
227
|
+
const keysToDelete = getWebResourcesKeysFromRequest(webResourceFields, request);
|
228
|
+
tx.on('end', () => {
|
229
|
+
deletePendingFiles(keysToDelete, request, webResourceHandler);
|
230
|
+
});
|
251
231
|
throw new errors.BadRequestError('WebResources can only be updated when providing a resource key.');
|
252
232
|
}
|
253
233
|
const ids = await sbvrUtils.getAffectedIds(args);
|
254
234
|
if (ids.length === 0) {
|
255
|
-
|
235
|
+
const keysToDelete = getWebResourcesKeysFromRequest(webResourceFields, request);
|
236
|
+
deletePendingFiles(keysToDelete, request, webResourceHandler);
|
256
237
|
return;
|
257
238
|
}
|
258
239
|
const webResources = (await api.get({
|
259
240
|
resource: request.resourceName,
|
260
241
|
passthrough: {
|
261
|
-
tx,
|
242
|
+
tx: args.tx,
|
262
243
|
req: permissions.root,
|
263
244
|
},
|
264
245
|
options: {
|
265
|
-
$select:
|
246
|
+
$select: webResourceFields,
|
266
247
|
$filter: {
|
267
248
|
id: {
|
268
249
|
$in: ids,
|
@@ -270,23 +251,34 @@ const getRemoveWebResourceHooks = () => {
|
|
270
251
|
},
|
271
252
|
},
|
272
253
|
}));
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
await deleteOnStorage(request.custom.onPostRunDelete ?? [], tx);
|
277
|
-
},
|
278
|
-
'POSTRUN-ERROR': async ({ request }) => {
|
279
|
-
const keysToDelete = getWebResourcesKeysFromRequest(request.custom.webResourceFields, request);
|
280
|
-
await deleteOnStorage(keysToDelete);
|
254
|
+
tx.on('end', () => {
|
255
|
+
deletePendingFiles(getWebResourcesHrefs(webResources), request, webResourceHandler);
|
256
|
+
});
|
281
257
|
},
|
282
258
|
};
|
283
259
|
};
|
260
|
+
const deleteRollbackPendingFields = async (request, webResourceHandler) => {
|
261
|
+
const fields = getWebResourceFields(request);
|
262
|
+
if (fields.length === 0) {
|
263
|
+
return;
|
264
|
+
}
|
265
|
+
const keysToDelete = getWebResourcesKeysFromRequest(fields, request);
|
266
|
+
await deleteFiles(keysToDelete, webResourceHandler);
|
267
|
+
};
|
268
|
+
const deletePendingFiles = (keysToDelete, request, webResourceHandler) => {
|
269
|
+
try {
|
270
|
+
void deleteFiles(keysToDelete, webResourceHandler);
|
271
|
+
}
|
272
|
+
catch (err) {
|
273
|
+
getLogger(request.vocabulary).error(`Failed to delete pending files`, err);
|
274
|
+
}
|
275
|
+
};
|
284
276
|
export const getDefaultHandler = () => {
|
285
277
|
return new NoopHandler();
|
286
278
|
};
|
287
|
-
export const setupUploadHooks = (apiRoot, resourceName) => {
|
288
|
-
sbvrUtils.addPureHook('DELETE', apiRoot, resourceName, getRemoveWebResourceHooks());
|
289
|
-
sbvrUtils.addPureHook('PATCH', apiRoot, resourceName, getRemoveWebResourceHooks());
|
290
|
-
sbvrUtils.addPureHook('POST', apiRoot, resourceName, getCreateWebResourceHooks());
|
279
|
+
export const setupUploadHooks = (handler, apiRoot, resourceName) => {
|
280
|
+
sbvrUtils.addPureHook('DELETE', apiRoot, resourceName, getRemoveWebResourceHooks(handler));
|
281
|
+
sbvrUtils.addPureHook('PATCH', apiRoot, resourceName, getRemoveWebResourceHooks(handler));
|
282
|
+
sbvrUtils.addPureHook('POST', apiRoot, resourceName, getCreateWebResourceHooks(handler));
|
291
283
|
};
|
292
284
|
//# sourceMappingURL=index.js.map
|
@@ -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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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/pinejs",
|
3
|
-
"version": "21.3.1-build-
|
3
|
+
"version": "21.3.1-build-do-not-rely-on-side-behaviors-b38670ddfc88219c89cfbdf5f79d3e4b13935360-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-
|
152
|
+
"publishedAt": "2025-05-04T22:16:06.186Z"
|
153
153
|
}
|
154
154
|
}
|
@@ -231,7 +231,7 @@ export const setup = (app: Express.Application) => {
|
|
231
231
|
.map((table) => table.name);
|
232
232
|
|
233
233
|
for (const resource of new Set(resourceNames)) {
|
234
|
-
setupUploadHooks(model.apiRoot!, resource);
|
234
|
+
setupUploadHooks(webResourceHandler, model.apiRoot!, resource);
|
235
235
|
}
|
236
236
|
}
|
237
237
|
|
package/src/tasks/index.ts
CHANGED
@@ -11,7 +11,6 @@ import type TasksModel from './tasks.js';
|
|
11
11
|
import type { Task } from './tasks.js';
|
12
12
|
import type { FromSchema } from 'json-schema-to-ts';
|
13
13
|
import { importSBVR } from '../server-glue/sbvr-loader.js';
|
14
|
-
import { addPineTaskHandlers } from './pine-tasks.js';
|
15
14
|
|
16
15
|
export type * from './tasks.js';
|
17
16
|
|
@@ -45,14 +44,9 @@ export const config: ConfigLoader.Config = {
|
|
45
44
|
};
|
46
45
|
|
47
46
|
export let worker: Worker | null = null;
|
48
|
-
|
49
|
-
export function isPineTasksAvailable() {
|
50
|
-
return sbvrUtils.db.engine === 'postgres';
|
51
|
-
}
|
52
|
-
|
53
47
|
export function setup(): void {
|
54
48
|
// Async task functionality is only supported on Postgres
|
55
|
-
if (
|
49
|
+
if (sbvrUtils.db.engine !== 'postgres') {
|
56
50
|
console.warn('Skipping task setup as database not supported');
|
57
51
|
return;
|
58
52
|
}
|
@@ -131,8 +125,6 @@ export function setup(): void {
|
|
131
125
|
}
|
132
126
|
},
|
133
127
|
});
|
134
|
-
|
135
|
-
addPineTaskHandlers();
|
136
128
|
}
|
137
129
|
|
138
130
|
// Register a task handler
|
@@ -15,8 +15,6 @@ import { errors, permissions } from '../server-glue/module.js';
|
|
15
15
|
import type { WebResourceType as WebResource } from '@balena/sbvr-types';
|
16
16
|
import { TypedError } from 'typed-error';
|
17
17
|
import type { Resolvable } from '../sbvr-api/common-types.js';
|
18
|
-
import type { Tx } from '../database-layer/db.js';
|
19
|
-
import { isPineTasksAvailable } from '../tasks/index.js';
|
20
18
|
|
21
19
|
export * from './handlers/index.js';
|
22
20
|
|
@@ -318,34 +316,12 @@ export const getWebResourceFields = (
|
|
318
316
|
.map((f) => sqlNameToODataName(f.fieldName));
|
319
317
|
};
|
320
318
|
|
321
|
-
const
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
passthrough: {
|
328
|
-
req: permissions.root,
|
329
|
-
tx,
|
330
|
-
},
|
331
|
-
body: {
|
332
|
-
key: crypto.randomUUID(),
|
333
|
-
is_executed_by__handler: 'delete_webresource_file',
|
334
|
-
is_executed_with__parameter_set: {
|
335
|
-
fileKey: fileKey,
|
336
|
-
},
|
337
|
-
attempt_limit: 2 ** 31 - 1,
|
338
|
-
},
|
339
|
-
});
|
340
|
-
}),
|
341
|
-
);
|
342
|
-
} else {
|
343
|
-
await Promise.all(
|
344
|
-
keysToDelete.map(async (fileKey) => {
|
345
|
-
return await configuredWebResourceHandler?.removeFile(fileKey);
|
346
|
-
}),
|
347
|
-
);
|
348
|
-
}
|
319
|
+
const deleteFiles = async (
|
320
|
+
keysToDelete: string[],
|
321
|
+
webResourceHandler: WebResourceHandler,
|
322
|
+
) => {
|
323
|
+
const promises = keysToDelete.map((r) => webResourceHandler.removeFile(r));
|
324
|
+
await Promise.all(promises);
|
349
325
|
};
|
350
326
|
|
351
327
|
const throwIfWebresourceNotInMultipart = (
|
@@ -362,22 +338,18 @@ const throwIfWebresourceNotInMultipart = (
|
|
362
338
|
}
|
363
339
|
};
|
364
340
|
|
365
|
-
const getCreateWebResourceHooks = (
|
341
|
+
const getCreateWebResourceHooks = (
|
342
|
+
webResourceHandler: WebResourceHandler,
|
343
|
+
): sbvrUtils.Hooks => {
|
366
344
|
return {
|
367
345
|
PRERUN: (hookArgs) => {
|
368
346
|
const webResourceFields = getWebResourceFields(hookArgs.request);
|
369
347
|
throwIfWebresourceNotInMultipart(webResourceFields, hookArgs);
|
370
348
|
},
|
371
|
-
'POSTRUN-ERROR':
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
return;
|
376
|
-
}
|
377
|
-
|
378
|
-
const keysToDelete = getWebResourcesKeysFromRequest(fields, request);
|
379
|
-
// Explicitely not passing tx as it will be rolledback as it is an error hook
|
380
|
-
await deleteOnStorage(keysToDelete);
|
349
|
+
'POSTRUN-ERROR': ({ tx, request }) => {
|
350
|
+
tx.on('rollback', () => {
|
351
|
+
void deleteRollbackPendingFields(request, webResourceHandler);
|
352
|
+
});
|
381
353
|
},
|
382
354
|
};
|
383
355
|
};
|
@@ -406,12 +378,21 @@ const getWebResourcesKeysFromRequest = (
|
|
406
378
|
.filter((href) => href != null);
|
407
379
|
};
|
408
380
|
|
409
|
-
const getRemoveWebResourceHooks = (
|
381
|
+
const getRemoveWebResourceHooks = (
|
382
|
+
webResourceHandler: WebResourceHandler,
|
383
|
+
): sbvrUtils.Hooks => {
|
410
384
|
return {
|
411
385
|
PRERUN: async (args) => {
|
412
386
|
const { api, request, tx } = args;
|
413
387
|
let webResourceFields = getWebResourceFields(request);
|
414
388
|
|
389
|
+
throwIfWebresourceNotInMultipart(webResourceFields, args);
|
390
|
+
|
391
|
+
// Request failed on DB roundtrip (e.g. DB constraint) and pending files need to be deleted
|
392
|
+
tx.on('rollback', () => {
|
393
|
+
void deleteRollbackPendingFields(request, webResourceHandler);
|
394
|
+
});
|
395
|
+
|
415
396
|
if (request.method === 'PATCH') {
|
416
397
|
webResourceFields = Object.entries(request.values)
|
417
398
|
.filter(
|
@@ -420,8 +401,6 @@ const getRemoveWebResourceHooks = (): sbvrUtils.Hooks => {
|
|
420
401
|
)
|
421
402
|
.map(([key]) => key);
|
422
403
|
}
|
423
|
-
request.custom.webResourceFields = webResourceFields;
|
424
|
-
throwIfWebresourceNotInMultipart(webResourceFields, args);
|
425
404
|
|
426
405
|
if (webResourceFields.length === 0) {
|
427
406
|
// No need to delete anything as no file is in the wire
|
@@ -432,32 +411,43 @@ const getRemoveWebResourceHooks = (): sbvrUtils.Hooks => {
|
|
432
411
|
// This can only be validated here because we need to first ensure the
|
433
412
|
// request is actually modifying a webresource before erroring out
|
434
413
|
if (request.method === 'PATCH' && request.odataQuery?.key == null) {
|
414
|
+
// When we get here, files have already been uploaded. We need to mark them for deletion.
|
415
|
+
const keysToDelete = getWebResourcesKeysFromRequest(
|
416
|
+
webResourceFields,
|
417
|
+
request,
|
418
|
+
);
|
419
|
+
|
420
|
+
// Set deletion of files on the wire as request will throw
|
421
|
+
tx.on('end', () => {
|
422
|
+
deletePendingFiles(keysToDelete, request, webResourceHandler);
|
423
|
+
});
|
424
|
+
|
435
425
|
throw new errors.BadRequestError(
|
436
426
|
'WebResources can only be updated when providing a resource key.',
|
437
427
|
);
|
438
428
|
}
|
439
429
|
|
430
|
+
// This can be > 1 in both DELETE requests or PATCH requests to not accessible IDs.
|
440
431
|
const ids = await sbvrUtils.getAffectedIds(args);
|
441
432
|
if (ids.length === 0) {
|
442
433
|
// Set deletion of files on the wire as no resource was affected
|
443
|
-
request
|
434
|
+
// Note that for DELETE requests it should not find any request on the wire
|
435
|
+
const keysToDelete = getWebResourcesKeysFromRequest(
|
444
436
|
webResourceFields,
|
445
437
|
request,
|
446
438
|
);
|
439
|
+
deletePendingFiles(keysToDelete, request, webResourceHandler);
|
447
440
|
return;
|
448
441
|
}
|
449
442
|
|
450
|
-
// If it reaches here, it means that it will try to patch/delete the webresource
|
451
|
-
// So we need (before postrun) get what are the current keys to be deleted
|
452
|
-
// if post run succeeds
|
453
443
|
const webResources = (await api.get({
|
454
444
|
resource: request.resourceName,
|
455
445
|
passthrough: {
|
456
|
-
tx,
|
446
|
+
tx: args.tx,
|
457
447
|
req: permissions.root,
|
458
448
|
},
|
459
449
|
options: {
|
460
|
-
$select:
|
450
|
+
$select: webResourceFields,
|
461
451
|
$filter: {
|
462
452
|
id: {
|
463
453
|
$in: ids,
|
@@ -465,34 +455,60 @@ const getRemoveWebResourceHooks = (): sbvrUtils.Hooks => {
|
|
465
455
|
},
|
466
456
|
},
|
467
457
|
})) as WebResourcesDbResponse[] | undefined | null;
|
468
|
-
request.custom.onPostRunDelete = getWebResourcesHrefs(webResources);
|
469
|
-
},
|
470
458
|
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
);
|
480
|
-
// Explicitely not passing tx as it will be rolledback as it is an error hook
|
481
|
-
await deleteOnStorage(keysToDelete);
|
459
|
+
// Deletes previous stored resources in case they were patched or the whole entity was deleted
|
460
|
+
tx.on('end', () => {
|
461
|
+
deletePendingFiles(
|
462
|
+
getWebResourcesHrefs(webResources),
|
463
|
+
request,
|
464
|
+
webResourceHandler,
|
465
|
+
);
|
466
|
+
});
|
482
467
|
},
|
483
468
|
};
|
484
469
|
};
|
485
470
|
|
471
|
+
const deleteRollbackPendingFields = async (
|
472
|
+
request: uriParser.ODataRequest,
|
473
|
+
webResourceHandler: WebResourceHandler,
|
474
|
+
) => {
|
475
|
+
const fields = getWebResourceFields(request);
|
476
|
+
|
477
|
+
if (fields.length === 0) {
|
478
|
+
return;
|
479
|
+
}
|
480
|
+
|
481
|
+
const keysToDelete = getWebResourcesKeysFromRequest(fields, request);
|
482
|
+
await deleteFiles(keysToDelete, webResourceHandler);
|
483
|
+
};
|
484
|
+
|
485
|
+
const deletePendingFiles = (
|
486
|
+
keysToDelete: string[],
|
487
|
+
request: uriParser.ODataRequest,
|
488
|
+
webResourceHandler: WebResourceHandler,
|
489
|
+
): void => {
|
490
|
+
// on purpose does not await for this promise to resolve
|
491
|
+
try {
|
492
|
+
void deleteFiles(keysToDelete, webResourceHandler);
|
493
|
+
} catch (err) {
|
494
|
+
getLogger(request.vocabulary).error(`Failed to delete pending files`, err);
|
495
|
+
}
|
496
|
+
};
|
497
|
+
|
486
498
|
export const getDefaultHandler = (): WebResourceHandler => {
|
487
499
|
return new NoopHandler();
|
488
500
|
};
|
489
501
|
|
490
|
-
export const setupUploadHooks = (
|
502
|
+
export const setupUploadHooks = (
|
503
|
+
handler: WebResourceHandler,
|
504
|
+
apiRoot: string,
|
505
|
+
resourceName: string,
|
506
|
+
) => {
|
491
507
|
sbvrUtils.addPureHook(
|
492
508
|
'DELETE',
|
493
509
|
apiRoot,
|
494
510
|
resourceName,
|
495
|
-
getRemoveWebResourceHooks(),
|
511
|
+
getRemoveWebResourceHooks(handler),
|
496
512
|
);
|
497
513
|
|
498
514
|
sbvrUtils.addPureHook(
|
@@ -500,13 +516,13 @@ export const setupUploadHooks = (apiRoot: string, resourceName: string) => {
|
|
500
516
|
apiRoot,
|
501
517
|
resourceName,
|
502
518
|
// PATCH also needs to remove the old resource in case a webresource was modified
|
503
|
-
getRemoveWebResourceHooks(),
|
519
|
+
getRemoveWebResourceHooks(handler),
|
504
520
|
);
|
505
521
|
|
506
522
|
sbvrUtils.addPureHook(
|
507
523
|
'POST',
|
508
524
|
apiRoot,
|
509
525
|
resourceName,
|
510
|
-
getCreateWebResourceHooks(),
|
526
|
+
getCreateWebResourceHooks(handler),
|
511
527
|
);
|
512
528
|
};
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare const addPineTaskHandlers: () => void;
|
package/out/tasks/pine-tasks.js
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
import { tasks } from '../server-glue/module.js';
|
2
|
-
import { addDeleteFileTaskHandler } from '../webresource-handler/delete-file-task.js';
|
3
|
-
export const addPineTaskHandlers = () => {
|
4
|
-
addDeleteFileTaskHandler();
|
5
|
-
void tasks.worker?.start();
|
6
|
-
};
|
7
|
-
//# sourceMappingURL=pine-tasks.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"pine-tasks.js","sourceRoot":"","sources":["../../src/tasks/pine-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACvC,wBAAwB,EAAE,CAAC;IAC3B,KAAK,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare const addDeleteFileTaskHandler: () => void;
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { addTaskHandler } from '../tasks/index.js';
|
2
|
-
import { getWebresourceHandler } from './index.js';
|
3
|
-
const deleteFileSchema = {
|
4
|
-
type: 'object',
|
5
|
-
properties: {
|
6
|
-
fileKey: {
|
7
|
-
type: 'string',
|
8
|
-
},
|
9
|
-
},
|
10
|
-
required: ['fileKey'],
|
11
|
-
additionalProperties: false,
|
12
|
-
};
|
13
|
-
export const addDeleteFileTaskHandler = () => {
|
14
|
-
addTaskHandler('delete_webresource_file', async (task) => {
|
15
|
-
const handler = getWebresourceHandler();
|
16
|
-
if (!handler) {
|
17
|
-
return {
|
18
|
-
error: 'Webresource handler not available',
|
19
|
-
status: 'failed',
|
20
|
-
};
|
21
|
-
}
|
22
|
-
try {
|
23
|
-
await handler.removeFile(task.params.fileKey);
|
24
|
-
return {
|
25
|
-
status: 'succeeded',
|
26
|
-
};
|
27
|
-
}
|
28
|
-
catch (error) {
|
29
|
-
console.error('Error deleting file:', error);
|
30
|
-
return {
|
31
|
-
error: `${error}`,
|
32
|
-
status: 'failed',
|
33
|
-
};
|
34
|
-
}
|
35
|
-
}, deleteFileSchema);
|
36
|
-
};
|
37
|
-
//# sourceMappingURL=delete-file-task.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"delete-file-task.js","sourceRoot":"","sources":["../../src/webresource-handler/delete-file-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,gBAAgB,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,OAAO,EAAE;YACR,IAAI,EAAE,QAAQ;SACd;KACD;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,oBAAoB,EAAE,KAAK;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC5C,cAAc,CACb,yBAAyB,EACzB,KAAK,EAAE,IAAI,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;gBACN,KAAK,EAAE,mCAAmC;gBAC1C,MAAM,EAAE,QAAQ;aAChB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO;gBACN,MAAM,EAAE,WAAW;aACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO;gBACN,KAAK,EAAE,GAAG,KAAK,EAAE;gBACjB,MAAM,EAAE,QAAQ;aAChB,CAAC;QACH,CAAC;IACF,CAAC,EACD,gBAAgB,CAChB,CAAC;AACH,CAAC,CAAC"}
|
package/src/tasks/pine-tasks.ts
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
import { addTaskHandler } from '../tasks/index.js';
|
2
|
-
import { getWebresourceHandler } from './index.js';
|
3
|
-
|
4
|
-
const deleteFileSchema = {
|
5
|
-
type: 'object',
|
6
|
-
properties: {
|
7
|
-
fileKey: {
|
8
|
-
type: 'string',
|
9
|
-
},
|
10
|
-
},
|
11
|
-
required: ['fileKey'],
|
12
|
-
additionalProperties: false,
|
13
|
-
} as const;
|
14
|
-
|
15
|
-
export const addDeleteFileTaskHandler = () => {
|
16
|
-
addTaskHandler(
|
17
|
-
'delete_webresource_file',
|
18
|
-
async (task) => {
|
19
|
-
const handler = getWebresourceHandler();
|
20
|
-
if (!handler) {
|
21
|
-
return {
|
22
|
-
error: 'Webresource handler not available',
|
23
|
-
status: 'failed',
|
24
|
-
};
|
25
|
-
}
|
26
|
-
|
27
|
-
try {
|
28
|
-
await handler.removeFile(task.params.fileKey);
|
29
|
-
return {
|
30
|
-
status: 'succeeded',
|
31
|
-
};
|
32
|
-
} catch (error) {
|
33
|
-
console.error('Error deleting file:', error);
|
34
|
-
return {
|
35
|
-
error: `${error}`,
|
36
|
-
status: 'failed',
|
37
|
-
};
|
38
|
-
}
|
39
|
-
},
|
40
|
-
deleteFileSchema,
|
41
|
-
);
|
42
|
-
};
|