@balena/pinejs 21.3.1-build-webresource-tests-36265762455f7a2182d8bfcc02b3e9787dfe4abe-1 → 21.3.1-build-webresource-delete-reliable-352ee24cd7b3e9160890e605beefbc59f20495d1-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.
@@ -1,4 +1,20 @@
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: ""
13
+ footer:
14
+ Change-type: patch
15
+ change-type: patch
16
+ author: Otavio Jacobi
17
+ nested: []
2
18
  - subject: Fix webresource tests for deleted files with signed hrefs
3
19
  hash: 36265762455f7a2182d8bfcc02b3e9787dfe4abe
4
20
  body: ""
@@ -17,7 +33,7 @@
17
33
  nested: []
18
34
  version: 21.3.1
19
35
  title: ""
20
- date: 2025-05-04T13:08:38.034Z
36
+ date: 2025-05-04T13:25:59.443Z
21
37
  - commits:
22
38
  - subject: Add multipart upload interface for handlers
23
39
  hash: d78ee0da169cb9b252bfe8d51c4f57cd10051475
package/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ 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
12
  * Fix webresource tests for deleted files with signed hrefs [Otavio Jacobi]
11
13
  * Clear webresources bucket after test run [Otavio Jacobi]
12
14
 
@@ -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(webResourceHandler, model.apiRoot, resource);
115
+ setupUploadHooks(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":"AAaA,OAAO,EAGN,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EAEpB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AAyCzC,MAAM,WAAW,GAAG,KAAK,EACxB,SAAiC,EACjC,QAAgB,EAChB,YAAuB,EACvB,WAAuB,EACtB,EAAE;IACH,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC;QACnC,QAAQ;QACR,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE;YACR,OAAO,EAAE,IAAI;SACb;KACD,CAAC,CAA+B,CAAC;IAClC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC;QACpC,QAAQ;QACR,IAAI,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE;QACzC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;KAClC,CAAC,CAAmB,CAAC;IACtB,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAClC,SAAiC,EACjC,cAAsB,EACrB,EAAE;IACH,IAAI,CAAC;QACJ,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACjB,CAAC,CAAC,OAAO,GAAG,wCAAwC,cAAc,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpF,MAAM,CAAC,CAAC;IACT,CAAC;AACF,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAwB,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;QACxD,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1C,WAAW,EAAE;oBACZ,EAAE;oBACF,GAAG,EAAE,WAAW,CAAC,IAAI;iBACrB;aACD,CAAC,CAAC;YAEH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,gBAAgB,GAElB,EAAE,CAAC;gBACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;wBAC9B,SAAS;oBACV,CAAC;oBACD,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC/C,gBAAgB,CAAC,cAAc,CAAC,KAAK,qBAAqB,CACzD,SAAS,EACT,cAAc,CACd,CAAC;oBACH,CAAC;gBACF,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACxB,IAAI,CAAC;wBACJ,MAAM,MAAM,GAAG,MAAM,WAAW,CAC/B,SAAS,EACT,MAAM,EACN;4BACC,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACvB,EACD;4BACC,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACvB,CACD,CAAC;wBACF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;4BAC9B,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;gCAC7C,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC;gCAC5D,MAAM,WAAW,CAAC,SAAS,EAAE,uBAAuB,EAAE;oCACrD,IAAI,EAAE,MAAM;oCACZ,UAAU,EAAE,YAAY;iCACxB,CAAC,CAAC;4BACJ,CAAC,CAAC,CACF,CAAC;wBACH,CAAC;oBACF,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBACjB,CAAC,CAAC,OAAO,GAAG,kCAAkC,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC7E,MAAM,CAAC,CAAC;oBACT,CAAC;gBACF,CAAC,CAAC,CACF,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAA8B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;iBAC7D,MAAM,CACN,CAAC,KAAK,EAAmD,EAAE,CAC1D,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;gBACtD,KAAK,CAAC,OAAO,IAAI,IAAI,CACtB;iBACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC/B,SAAS,CAAC,KAAK,EAAE,KAAY,EAAE,EAAE;gBACjC,IAAI,CAAC;oBACJ,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;oBAC5C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;wBAIzB,MAAM,IAAI,CAAC;wBACX,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;4BACxC,MAAM,IAAI,KAAK,CACd,6CAA6C,WAAW,GAAG,CAC3D,CAAC;wBACH,CAAC;wBAED,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CACd,uDAAuD,CACvD,CAAC;oBACH,CAAC;oBAED,MAAM,SAAS,CAAC,YAAY,CAC3B,EAAE,EACF,KAAkC,CAClC,CAAC;oBAEF,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC;oBACvC,MAAM,kBAAkB,GACvB,IAAI,CAAC,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;oBAEhD,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;oBAC5C,MAAM,oBAAoB,GACzB,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;oBAC1C,GAAG;yBACD,KAAK,CAAC,QAAQ,CAAC;yBACf,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;yBAC7C,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC;yBACjC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC;yBACjC,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,kBAAkB,CAAC;yBACxD,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,kBAAkB,CAAC;yBACzD,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;yBACnC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;oBAEvC,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;oBACvD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;wBACzB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAClC,WAAW,CAAC,WAAW,CAAC,MAAM,CAC9B;6BACC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,CACtD;6BACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAE7B,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC/C,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAQ,EAAE,QAAQ,CAAC,CAAC;wBAChE,CAAC;oBACF,CAAC;oBAED,OAAO,CAAC,IAAI,CACX,wBAAwB,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,CACtD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,sBAAsB,KAAK,CAAC,SAAS,iBAAiB,KAAK,CAAC,SAAS,GAAG,CAAC;oBACzF,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;wBAC1B,GAAG,CAAC,OAAO,GAAG,GAAG,OAAO,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC;wBAClD,MAAM,GAAG,CAAC;oBACX,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAEhD,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC/B,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;oBACpC,IAAI,UAAyB,CAAC;oBAC9B,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;wBAChD,IAAI,CAAC;4BACJ,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC3D,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BACjB,CAAC,CAAC,OAAO,GAAG,sCAAsC,CAAC,CAAC,OAAO,GAAG,CAAC;4BAC/D,MAAM,CAAC,CAAC;wBACT,CAAC;oBACF,CAAC;yBAAM,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;wBACvD,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CACd,sCAAsC,OAAO,KAAK,CAAC,gBAAgB,GAAG,CACtE,CAAC;oBACH,CAAC;oBAED,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;wBACtC,OAAO;oBACR,CAAC;oBAED,MAAM,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChD,CAAC;YACF,CAAC,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,KAAK,EAAE,UAAkB,EAAmB,EAAE;QACpE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,MAAmC,EAAE,EAAE;QAC3E,IAAI,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC3C,IAAI,IAAY,CAAC;YACjB,IAAI,SAAiB,CAAC;YACtB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC5D,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5B,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,SAAS,GAAG,MAAM,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,MAAM,GAAG,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE;gBACzC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,CAAC;gBACV,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACpC,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;oBAC7B,KAAK,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAC3C,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAC5B,MAAM,CACN,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;oBAChD,KAAK,CAAC,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC9D,CAAC;gBACD,KAAK,CAAC,UAAU,KAAK,EAAE,CAAC;gBACxB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;gBAE7B,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAEzD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC5D,MAAM,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;wBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;wBACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC7C,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC9C,IAAI,iBAAiB,GAAG,wBAAwB,CAAC;wBAEjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAChC,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC;gCAC7C,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAwB,CAAC;4BAC7D,CAAC;iCAAM,CAAC;gCACP,OAAO,CAAC,KAAK,CACZ,wCACC,aAAa,CAAC,CAAC,CAChB,eAAe,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CACvC,CAAC;gCACF,OAAO;4BACR,CAAC;wBACF,CAAC;wBAaD,MAAM,2BAA2B,GAAG,CACnC,eAAuB,EACvB,YAAuB,EACtB,EAAE;4BACH,MAAM,aAAa,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;4BAC1D,IACC,OAAO,YAAY,KAAK,QAAQ;gCAChC,iBAAiB,KAAK,mBAAmB,CAAC,KAAK,EAC9C,CAAC;gCACF,YAAY,CAAC,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC;4BAC/C,CAAC;4BACD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gCACvC,UAAU,CAAC,iBAAiB,CAAC,GAAG;oCAC/B,CAAC,eAAe,CAAC,EAAE,YAAY;oCAC/B,GAAG,aAAa;iCAChB,CAAC;4BACH,CAAC;wBACF,CAAC,CAAC;wBAEF,QAAQ,aAAa,EAAE,CAAC;4BACvB,KAAK,SAAS,CAAC;4BACf,KAAK,KAAK,CAAC;4BACX,KAAK,KAAK,CAAC,CAAC,CAAC;gCACZ,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gCAC5D,MAAM,SAAS,GAGd,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC;gCAE5C,IACC,CAAC,gBAAgB,CAAC,SAAS,CAAC;oCAC5B,CAAC,eAAe,CAAC,SAAS,CAAC,EAC1B,CAAC;oCACF,MAAM,IAAI,KAAK,CACd,2BAA2B,QAAQ,4DAA4D,CAC/F,CAAC;gCACH,CAAC;gCAED,2BAA2B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gCACrD,MAAM;4BACP,CAAC;4BACD,KAAK,MAAM;gCACV,IAAI,iBAAiB,KAAK,mBAAmB,CAAC,KAAK,EAAE,CAAC;oCACrD,OAAO,CAAC,KAAK,CACZ,uFAAuF,IAAI,CAAC,OAAO,CAClG,QAAQ,CACR,EAAE,CACH,CAAC;oCACF,MAAM;gCACP,CAAC;gCACD,2BAA2B,CAC1B,YAAY,EACZ,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC5C,CAAC;gCACF,MAAM;4BACP;gCACC,OAAO,CAAC,KAAK,CACZ,oDAAoD,IAAI,CAAC,OAAO,CAC/D,QAAQ,CACR,EAAE,CACH,CAAC;wBACJ,CAAC;oBACF,CAAC,CAAC,CACF,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACnD,KAAK,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjE,CAAC;YACF,CAAC,CAAC,CACF,CAAC;YACF,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;QACN,UAAU;QACV,qBAAqB;KACrB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ 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;
17
18
  export declare function setup(): void;
18
19
  export declare function addTaskHandler(name: string, fn: TaskHandler<NonNullable<Task['Read']['is_executed_with__parameter_set']>>['fn'], schema?: undefined): void;
19
20
  export declare function addTaskHandler<T extends Schema>(name: string, fn: TaskHandler<FromSchema<NonNullable<T>>>['fn'], schema: T): void;
@@ -5,6 +5,7 @@ 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';
8
9
  const modelText = await importSBVR('./tasks.sbvr', import.meta);
9
10
  const initSql = `
10
11
  CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
@@ -25,8 +26,11 @@ export const config = {
25
26
  ],
26
27
  };
27
28
  export let worker = null;
29
+ export function isPineTasksAvailable() {
30
+ return sbvrUtils.db.engine === 'postgres';
31
+ }
28
32
  export function setup() {
29
- if (sbvrUtils.db.engine !== 'postgres') {
33
+ if (!isPineTasksAvailable()) {
30
34
  console.warn('Skipping task setup as database not supported');
31
35
  return;
32
36
  }
@@ -76,6 +80,7 @@ export function setup() {
76
80
  }
77
81
  },
78
82
  });
83
+ addPineTaskHandlers();
79
84
  }
80
85
  export function addTaskHandler(name, fn, schema) {
81
86
  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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"}
@@ -0,0 +1 @@
1
+ export declare const addPineTaskHandlers: () => void;
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const addDeleteFileTaskHandler: () => void;
@@ -0,0 +1,37 @@
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
@@ -0,0 +1 @@
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"}
@@ -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: (handler: WebResourceHandler, apiRoot: string, resourceName: string) => void;
68
+ export declare const setupUploadHooks: (apiRoot: string, resourceName: string) => void;
@@ -7,6 +7,7 @@ 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';
10
11
  export * from './handlers/index.js';
11
12
  export class WebResourceError extends TypedError {
12
13
  }
@@ -169,9 +170,31 @@ export const getWebResourceFields = (request, useTranslations = true) => {
169
170
  .filter((f) => f.dataType === 'WebResource')
170
171
  .map((f) => sqlNameToODataName(f.fieldName));
171
172
  };
172
- const deleteFiles = async (keysToDelete, webResourceHandler) => {
173
- const promises = keysToDelete.map((r) => webResourceHandler.removeFile(r));
174
- await Promise.all(promises);
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
+ }
175
198
  };
176
199
  const throwIfWebresourceNotInMultipart = (webResourceFields, { req, request }) => {
177
200
  if (!req.is?.('multipart') &&
@@ -179,16 +202,19 @@ const throwIfWebresourceNotInMultipart = (webResourceFields, { req, request }) =
179
202
  throw new errors.BadRequestError('Use multipart requests to upload a file.');
180
203
  }
181
204
  };
182
- const getCreateWebResourceHooks = (webResourceHandler) => {
205
+ const getCreateWebResourceHooks = () => {
183
206
  return {
184
207
  PRERUN: (hookArgs) => {
185
208
  const webResourceFields = getWebResourceFields(hookArgs.request);
186
209
  throwIfWebresourceNotInMultipart(webResourceFields, hookArgs);
187
210
  },
188
- 'POSTRUN-ERROR': ({ tx, request }) => {
189
- tx.on('rollback', () => {
190
- void deleteRollbackPendingFields(request, webResourceHandler);
191
- });
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);
192
218
  },
193
219
  };
194
220
  };
@@ -206,44 +232,37 @@ const getWebResourcesKeysFromRequest = (webResourceFields, { values }) => {
206
232
  .map((field) => values[field]?.href)
207
233
  .filter((href) => href != null);
208
234
  };
209
- const getRemoveWebResourceHooks = (webResourceHandler) => {
235
+ const getRemoveWebResourceHooks = () => {
210
236
  return {
211
237
  PRERUN: async (args) => {
212
238
  const { api, request, tx } = args;
213
239
  let webResourceFields = getWebResourceFields(request);
214
- throwIfWebresourceNotInMultipart(webResourceFields, args);
215
- tx.on('rollback', () => {
216
- void deleteRollbackPendingFields(request, webResourceHandler);
217
- });
218
240
  if (request.method === 'PATCH') {
219
241
  webResourceFields = Object.entries(request.values)
220
242
  .filter(([key, value]) => value !== undefined && webResourceFields.includes(key))
221
243
  .map(([key]) => key);
222
244
  }
245
+ request.custom.webResourceFields = webResourceFields;
246
+ throwIfWebresourceNotInMultipart(webResourceFields, args);
223
247
  if (webResourceFields.length === 0) {
224
248
  return;
225
249
  }
226
250
  if (request.method === 'PATCH' && request.odataQuery?.key == null) {
227
- const keysToDelete = getWebResourcesKeysFromRequest(webResourceFields, request);
228
- tx.on('end', () => {
229
- deletePendingFiles(keysToDelete, request, webResourceHandler);
230
- });
231
251
  throw new errors.BadRequestError('WebResources can only be updated when providing a resource key.');
232
252
  }
233
253
  const ids = await sbvrUtils.getAffectedIds(args);
234
254
  if (ids.length === 0) {
235
- const keysToDelete = getWebResourcesKeysFromRequest(webResourceFields, request);
236
- deletePendingFiles(keysToDelete, request, webResourceHandler);
255
+ request.custom.onPostRunDelete = getWebResourcesKeysFromRequest(webResourceFields, request);
237
256
  return;
238
257
  }
239
258
  const webResources = (await api.get({
240
259
  resource: request.resourceName,
241
260
  passthrough: {
242
- tx: args.tx,
261
+ tx,
243
262
  req: permissions.root,
244
263
  },
245
264
  options: {
246
- $select: webResourceFields,
265
+ $select: request.custom.webResourceFields,
247
266
  $filter: {
248
267
  id: {
249
268
  $in: ids,
@@ -251,34 +270,23 @@ const getRemoveWebResourceHooks = (webResourceHandler) => {
251
270
  },
252
271
  },
253
272
  }));
254
- tx.on('end', () => {
255
- deletePendingFiles(getWebResourcesHrefs(webResources), request, webResourceHandler);
256
- });
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);
257
281
  },
258
282
  };
259
283
  };
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
- };
276
284
  export const getDefaultHandler = () => {
277
285
  return new NoopHandler();
278
286
  };
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));
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());
283
291
  };
284
292
  //# 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":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,cAAc,qBAAqB,CAAC;AA8DpC,MAAM,OAAO,gBAAiB,SAAQ,UAAU;CAAG;AAEnD,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAC1D,IAAI,GAAG,uBAAuB,CAAC;IAC/B,YAAY,OAAe;QAC1B,KAAK,CAAC,mCAAmC,OAAO,SAAS,CAAC,CAAC;IAC5D,CAAC;CACD;AAMD,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IAC7C,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,IAAI,4BAA4D,CAAC;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAA2B,EAAQ,EAAE;IAC5E,4BAA4B,GAAG,OAAO,CAAC;AACxC,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAmC,EAAE;IACzE,OAAO,4BAA4B,CAAC;AACrC,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;AAEnC,MAAM,yBAAyB,GAAG,KAAK,EACtC,GAAoB,EACpB,YAA0C,EACY,EAAE;IACxD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACrD,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,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,cAAc,CAAC;IACvB,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,gBAAgB,CAC5C,GAAG,EACH,UAAU,EACV,YAAY,CAAC,YAAY,EACzB,KAAK,CACL,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,EAAE;QAC5B,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAClD,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;IACH,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,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,IAAI,EAAE,CAAC;YACP,OAAO;QACR,CAAC;QACD,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,eAAe,GAAyB,EAAE,CAAC;QAEjD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC;YAC/C,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,MAAM,EAAE,GAAG,CAAC,MAAM;SAClB,CAAC,CAAC;QACH,MAAM,sBAAsB,GAAG,oBAAoB,CAClD,kBAAkB,EAClB,KAAK,CACL,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,yBAAyB,CACpD,GAAG,EACH,kBAAkB,CAClB,CAAC;QAEF,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,UAAU,CAAC,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,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;wBACvC,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,EAAE,CAAC,IAAI,CACN,OAAO,EACP,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,IAAI,sBAAsB,CAAC,CACjE,CAAC;gBACH,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,IAAI,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,UAAU,GAAG,IAAI,CAAC;gBAClB,EAAE,CAAC,IAAI,CACN,OAAO,EACP,IAAI,MAAM,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAC/D,CAAC;gBACF,OAAO;YACR,CAAC;YACD,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,gBAAgB,EAAE,CAAC;gBACnB,MAAM,UAAU,EAAE,CAAC;gBAEnB,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;oBAC1C,OAAO,SAAS,CAAC,gBAAgB,CAChC,GAAG,EACH,GAAG,EACH,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CACvC,CAAC;gBACH,CAAC;gBAED,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;YACX,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAU,EAAE,EAAE;YACnC,gBAAgB,EAAE,CAAC;YACnB,MAAM,UAAU,EAAE,CAAC;YAEnB,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;gBAC1C,OAAO,SAAS,CAAC,gBAAgB,CAChC,GAAG,EACH,GAAG,EACH,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CACvC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChD,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,CAAC;YACX,CAAC;QACF,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,OAAqC,EACrC,eAAe,GAAG,IAAI,EACX,EAAE;IAKb,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,kBAAkB,CAAC,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,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;QACtC,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,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,YAAsB,EAAE,EAAO,EAAE,EAAE;IACjE,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC5B,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAClC,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE;oBACZ,GAAG,EAAE,WAAW,CAAC,IAAI;oBACrB,EAAE;iBACF;gBACD,IAAI,EAAE;oBACL,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxB,uBAAuB,EAAE,yBAAyB;oBAClD,+BAA+B,EAAE;wBAChC,OAAO,EAAE,OAAO;qBAChB;oBACD,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;iBAC1B;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CACF,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAClC,OAAO,MAAM,4BAA4B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC,CAAC,CACF,CAAC;IACH,CAAC;AACF,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,MAAM,CAAC,eAAe,CAC/B,0CAA0C,CAC1C,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAoB,EAAE;IACvD,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,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;YACR,CAAC;YAED,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAErE,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,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,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC;SAC5C,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;IACF,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC;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,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAoB,EAAE;IACvD,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,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;YACD,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YACrD,gCAAgC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAE1D,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;gBACnE,MAAM,IAAI,MAAM,CAAC,eAAe,CAC/B,iEAAiE,CACjE,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAEtB,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,8BAA8B,CAC9D,iBAAiB,EACjB,OAAO,CACP,CAAC;gBACF,OAAO;YACR,CAAC;YAKD,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;gBACnC,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,WAAW,EAAE;oBACZ,EAAE;oBACF,GAAG,EAAE,WAAW,CAAC,IAAI;iBACrB;gBACD,OAAO,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB;oBACzC,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,GAAG,EAAE,GAAG;yBACR;qBACD;iBACD;aACD,CAAC,CAAgD,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;YAElC,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,8BAA8B,CAClD,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAChC,OAAO,CACP,CAAC;YAEF,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAuB,EAAE;IACzD,OAAO,IAAI,WAAW,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,YAAoB,EAAE,EAAE;IACzE,SAAS,CAAC,WAAW,CACpB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,yBAAyB,EAAE,CAC3B,CAAC;IAEF,SAAS,CAAC,WAAW,CACpB,OAAO,EACP,OAAO,EACP,YAAY,EAEZ,yBAAyB,EAAE,CAC3B,CAAC;IAEF,SAAS,CAAC,WAAW,CACpB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,yBAAyB,EAAE,CAC3B,CAAC;AACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "21.3.1-build-webresource-tests-36265762455f7a2182d8bfcc02b3e9787dfe4abe-1",
3
+ "version": "21.3.1-build-webresource-delete-reliable-352ee24cd7b3e9160890e605beefbc59f20495d1-2",
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:08:39.123Z"
152
+ "publishedAt": "2025-05-04T13:26:00.471Z"
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(webResourceHandler, model.apiRoot!, resource);
234
+ setupUploadHooks(model.apiRoot!, resource);
235
235
  }
236
236
  }
237
237
 
@@ -11,6 +11,7 @@ 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';
14
15
 
15
16
  export type * from './tasks.js';
16
17
 
@@ -44,9 +45,14 @@ export const config: ConfigLoader.Config = {
44
45
  };
45
46
 
46
47
  export let worker: Worker | null = null;
48
+
49
+ export function isPineTasksAvailable() {
50
+ return sbvrUtils.db.engine === 'postgres';
51
+ }
52
+
47
53
  export function setup(): void {
48
54
  // Async task functionality is only supported on Postgres
49
- if (sbvrUtils.db.engine !== 'postgres') {
55
+ if (!isPineTasksAvailable()) {
50
56
  console.warn('Skipping task setup as database not supported');
51
57
  return;
52
58
  }
@@ -125,6 +131,8 @@ export function setup(): void {
125
131
  }
126
132
  },
127
133
  });
134
+
135
+ addPineTaskHandlers();
128
136
  }
129
137
 
130
138
  // Register a task handler
@@ -0,0 +1,7 @@
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
+ };
@@ -0,0 +1,42 @@
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
+ };
@@ -15,6 +15,8 @@ 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';
18
20
 
19
21
  export * from './handlers/index.js';
20
22
 
@@ -316,12 +318,34 @@ export const getWebResourceFields = (
316
318
  .map((f) => sqlNameToODataName(f.fieldName));
317
319
  };
318
320
 
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);
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
+ }
325
349
  };
326
350
 
327
351
  const throwIfWebresourceNotInMultipart = (
@@ -338,18 +362,22 @@ const throwIfWebresourceNotInMultipart = (
338
362
  }
339
363
  };
340
364
 
341
- const getCreateWebResourceHooks = (
342
- webResourceHandler: WebResourceHandler,
343
- ): sbvrUtils.Hooks => {
365
+ const getCreateWebResourceHooks = (): sbvrUtils.Hooks => {
344
366
  return {
345
367
  PRERUN: (hookArgs) => {
346
368
  const webResourceFields = getWebResourceFields(hookArgs.request);
347
369
  throwIfWebresourceNotInMultipart(webResourceFields, hookArgs);
348
370
  },
349
- 'POSTRUN-ERROR': ({ tx, request }) => {
350
- tx.on('rollback', () => {
351
- void deleteRollbackPendingFields(request, webResourceHandler);
352
- });
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);
353
381
  },
354
382
  };
355
383
  };
@@ -378,21 +406,12 @@ const getWebResourcesKeysFromRequest = (
378
406
  .filter((href) => href != null);
379
407
  };
380
408
 
381
- const getRemoveWebResourceHooks = (
382
- webResourceHandler: WebResourceHandler,
383
- ): sbvrUtils.Hooks => {
409
+ const getRemoveWebResourceHooks = (): sbvrUtils.Hooks => {
384
410
  return {
385
411
  PRERUN: async (args) => {
386
412
  const { api, request, tx } = args;
387
413
  let webResourceFields = getWebResourceFields(request);
388
414
 
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
-
396
415
  if (request.method === 'PATCH') {
397
416
  webResourceFields = Object.entries(request.values)
398
417
  .filter(
@@ -401,6 +420,8 @@ const getRemoveWebResourceHooks = (
401
420
  )
402
421
  .map(([key]) => key);
403
422
  }
423
+ request.custom.webResourceFields = webResourceFields;
424
+ throwIfWebresourceNotInMultipart(webResourceFields, args);
404
425
 
405
426
  if (webResourceFields.length === 0) {
406
427
  // No need to delete anything as no file is in the wire
@@ -411,43 +432,32 @@ const getRemoveWebResourceHooks = (
411
432
  // This can only be validated here because we need to first ensure the
412
433
  // request is actually modifying a webresource before erroring out
413
434
  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
-
425
435
  throw new errors.BadRequestError(
426
436
  'WebResources can only be updated when providing a resource key.',
427
437
  );
428
438
  }
429
439
 
430
- // This can be > 1 in both DELETE requests or PATCH requests to not accessible IDs.
431
440
  const ids = await sbvrUtils.getAffectedIds(args);
432
441
  if (ids.length === 0) {
433
442
  // Set deletion of files on the wire as no resource was affected
434
- // Note that for DELETE requests it should not find any request on the wire
435
- const keysToDelete = getWebResourcesKeysFromRequest(
443
+ request.custom.onPostRunDelete = getWebResourcesKeysFromRequest(
436
444
  webResourceFields,
437
445
  request,
438
446
  );
439
- deletePendingFiles(keysToDelete, request, webResourceHandler);
440
447
  return;
441
448
  }
442
449
 
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
443
453
  const webResources = (await api.get({
444
454
  resource: request.resourceName,
445
455
  passthrough: {
446
- tx: args.tx,
456
+ tx,
447
457
  req: permissions.root,
448
458
  },
449
459
  options: {
450
- $select: webResourceFields,
460
+ $select: request.custom.webResourceFields,
451
461
  $filter: {
452
462
  id: {
453
463
  $in: ids,
@@ -455,60 +465,34 @@ const getRemoveWebResourceHooks = (
455
465
  },
456
466
  },
457
467
  })) as WebResourcesDbResponse[] | undefined | null;
468
+ request.custom.onPostRunDelete = getWebResourcesHrefs(webResources);
469
+ },
458
470
 
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
- });
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);
467
482
  },
468
483
  };
469
484
  };
470
485
 
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
-
498
486
  export const getDefaultHandler = (): WebResourceHandler => {
499
487
  return new NoopHandler();
500
488
  };
501
489
 
502
- export const setupUploadHooks = (
503
- handler: WebResourceHandler,
504
- apiRoot: string,
505
- resourceName: string,
506
- ) => {
490
+ export const setupUploadHooks = (apiRoot: string, resourceName: string) => {
507
491
  sbvrUtils.addPureHook(
508
492
  'DELETE',
509
493
  apiRoot,
510
494
  resourceName,
511
- getRemoveWebResourceHooks(handler),
495
+ getRemoveWebResourceHooks(),
512
496
  );
513
497
 
514
498
  sbvrUtils.addPureHook(
@@ -516,13 +500,13 @@ export const setupUploadHooks = (
516
500
  apiRoot,
517
501
  resourceName,
518
502
  // PATCH also needs to remove the old resource in case a webresource was modified
519
- getRemoveWebResourceHooks(handler),
503
+ getRemoveWebResourceHooks(),
520
504
  );
521
505
 
522
506
  sbvrUtils.addPureHook(
523
507
  'POST',
524
508
  apiRoot,
525
509
  resourceName,
526
- getCreateWebResourceHooks(handler),
510
+ getCreateWebResourceHooks(),
527
511
  );
528
512
  };