@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.
@@ -1,16 +1,22 @@
1
1
  - commits:
2
- - subject: Delete files with pine tasks when it is available
3
- hash: 352ee24cd7b3e9160890e605beefbc59f20495d1
4
- body: ""
5
- footer:
6
- Change-type: patch
7
- change-type: patch
8
- author: Otavio Jacobi
9
- nested: []
10
- - subject: Refactor rollback file deletion logic
11
- hash: 718fccb0e4546ec27567744a2b23b92e19443da6
12
- body: ""
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-04T13:25:59.443Z
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
- * Delete files with pine tasks when it is available [Otavio Jacobi]
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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"}
@@ -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;
@@ -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 (!isPineTasksAvailable()) {
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
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 deleteOnStorage = async (keysToDelete, tx) => {
174
- if (isPineTasksAvailable()) {
175
- await Promise.all(keysToDelete.map(async (fileKey) => {
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': async ({ request }) => {
212
- const fields = getWebResourceFields(request);
213
- if (fields.length === 0) {
214
- return;
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
- request.custom.onPostRunDelete = getWebResourcesKeysFromRequest(webResourceFields, request);
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: request.custom.webResourceFields,
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
- request.custom.onPostRunDelete = getWebResourcesHrefs(webResources);
274
- },
275
- POSTRUN: async ({ request, tx }) => {
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-webresource-delete-reliable-352ee24cd7b3e9160890e605beefbc59f20495d1-2",
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-04T13:26:00.471Z"
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
 
@@ -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 (!isPineTasksAvailable()) {
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 deleteOnStorage = async (keysToDelete: string[], tx?: Tx) => {
322
- if (isPineTasksAvailable()) {
323
- await Promise.all(
324
- keysToDelete.map(async (fileKey) => {
325
- return await sbvrUtils.api.tasks.post({
326
- resource: 'task',
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 = (): sbvrUtils.Hooks => {
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': async ({ request }) => {
372
- const fields = getWebResourceFields(request);
373
-
374
- if (fields.length === 0) {
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 = (): sbvrUtils.Hooks => {
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.custom.onPostRunDelete = getWebResourcesKeysFromRequest(
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: request.custom.webResourceFields,
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
- POSTRUN: async ({ request, tx }) => {
472
- // Either patch or delete worked. In either case, schedule the previous existing files to delete
473
- await deleteOnStorage(request.custom.onPostRunDelete ?? [], tx);
474
- },
475
- 'POSTRUN-ERROR': async ({ request }) => {
476
- const keysToDelete = getWebResourcesKeysFromRequest(
477
- request.custom.webResourceFields,
478
- request,
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 = (apiRoot: string, resourceName: string) => {
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;
@@ -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"}
@@ -1,7 +0,0 @@
1
- import { tasks } from '../server-glue/module.js';
2
- import { addDeleteFileTaskHandler } from '../webresource-handler/delete-file-task.js';
3
-
4
- export const addPineTaskHandlers = () => {
5
- addDeleteFileTaskHandler();
6
- void tasks.worker?.start();
7
- };
@@ -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
- };