@balena/pinejs 15.3.0-build-web-resource-4-559850e2606af3eb9961520a72221a7f71a792d2-1 → 15.3.0-build-web-resource-4-6726079c7474d648145a3b41d9d9b06c819d8d4e-2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,14 @@
1
1
  - commits:
2
+ - subject: Add delete multiple for resources with WebResources
3
+ hash: 6726079c7474d648145a3b41d9d9b06c819d8d4e
4
+ body: ""
5
+ footer:
6
+ Change-type: minor
7
+ change-type: minor
8
+ author: Otávio Jacobi
9
+ nested: []
2
10
  - subject: Removes ACL based webresource permissions
3
- hash: 559850e2606af3eb9961520a72221a7f71a792d2
11
+ hash: 5e7c73362ec7eb074a460c81e6ed423ba9e616c3
4
12
  body: ""
5
13
  footer:
6
14
  Change-type: minor
@@ -28,7 +36,7 @@
28
36
  nested: []
29
37
  version: 15.3.0
30
38
  title: ""
31
- date: 2023-08-04T22:25:16.838Z
39
+ date: 2023-08-06T01:26:31.191Z
32
40
  - commits:
33
41
  - subject: Return a response even when the request resolves to an HTTP error
34
42
  hash: d1d68a068778a617d7b14b12a2657fb44511ee52
package/CHANGELOG.md CHANGED
@@ -5,8 +5,9 @@ automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  # v15.3.0
8
- ## (2023-08-04)
8
+ ## (2023-08-06)
9
9
 
10
+ * Add delete multiple for resources with WebResources [Otávio Jacobi]
10
11
  * Removes ACL based webresource permissions [Otávio Jacobi]
11
12
  * Adds WebResource type [Otávio Jacobi]
12
13
  * Integrate beta version of sbvr-types supporting WebResource Update to @balena/open-multer-s3, better large files test [Ramiro González Maciel]
@@ -27,6 +27,5 @@ services:
27
27
  /bin/sh -c "
28
28
  /usr/bin/mc config host add minio-server http://minio-server:9000 USERNAME PASSWORD;
29
29
  /usr/bin/mc mb --ignore-existing minio-server/balena-pine-web-resources;
30
- /usr/bin/mc anonymous --ignore-existing minio-server/balena-pine-web-resources;
31
30
  exit 0;
32
31
  "
@@ -93,7 +93,6 @@ const getUploaderMiddlware = (handler) => {
93
93
  fieldname,
94
94
  };
95
95
  const promise = handler.handleFile(file).then((result) => {
96
- getLogger((0, sbvr_utils_1.getApiRoot)(req)).error('Setting field name', fieldname);
97
96
  req.body[fieldname] = {
98
97
  filename: info.filename,
99
98
  contentType: info.mimeType,
@@ -101,7 +100,6 @@ const getUploaderMiddlware = (handler) => {
101
100
  size: result.size,
102
101
  href: result.filename,
103
102
  };
104
- getLogger((0, sbvr_utils_1.getApiRoot)(req)).error('Body is', JSON.stringify(req.body));
105
103
  uploadedFilePaths.push(result.filename);
106
104
  });
107
105
  completeUploads.push(promise);
@@ -178,11 +176,7 @@ const getReadWebResourceHook = (webResourceHandler) => {
178
176
  return {
179
177
  PRERESPOND: async ({ request, response }) => {
180
178
  const fields = getWebResourceFields(request, false);
181
- console.error(request.vocabulary);
182
- console.error(request.method);
183
- console.error(fields);
184
179
  if (typeof response.body === 'object' && response.body.d != null) {
185
- console.error(response.body?.d[0]);
186
180
  const transformedItems = await Promise.all(response.body.d.map(async (responseItem) => {
187
181
  for (const field of fields) {
188
182
  if (responseItem[field] != null) {
@@ -192,25 +186,25 @@ const getReadWebResourceHook = (webResourceHandler) => {
192
186
  return responseItem;
193
187
  }));
194
188
  response.body.d = transformedItems;
195
- console.error(response.body?.d[0]);
196
189
  }
197
190
  },
198
191
  };
199
192
  };
200
193
  const isDefined = (x) => x != null;
201
194
  const getWebResourcesHrefs = (webResources) => {
202
- const hrefs = Object.values(webResources ?? {})
195
+ const hrefs = (webResources ?? []).flatMap((resource) => Object.values(resource ?? {})
203
196
  .filter(isDefined)
204
- .map((resourceKey) => resourceKey.href);
197
+ .map((resourceKey) => normalizeHref(resourceKey.href)));
205
198
  return hrefs;
206
199
  };
200
+ const normalizeHref = (href) => {
201
+ return href.split('?')[0];
202
+ };
207
203
  const getRemoveWebResourceHook = (webResourceHandler) => {
208
204
  return {
209
205
  PRERUN: async (args) => {
210
206
  const { api, request } = args;
211
207
  let fields = getWebResourceFields(request);
212
- console.error('Hook pre run', request.method);
213
- console.error('request is ', request.values);
214
208
  if (request.method === 'PATCH') {
215
209
  const allFields = getExistingModifiedFields(request);
216
210
  fields = fields.filter((f) => allFields.includes(f));
@@ -219,24 +213,26 @@ const getRemoveWebResourceHook = (webResourceHandler) => {
219
213
  return;
220
214
  }
221
215
  if (request.method === 'PATCH' && request.odataQuery?.key == null) {
216
+ request.custom.$pineWebResourcesToDelete = fields.map((field) => request.values[field].href);
222
217
  throw new module_1.errors.BadRequestError('WebResources can only be updated when providing a resource key.');
223
218
  }
224
- const [id, rest] = await sbvrUtils.getAffectedIds(args);
225
- if (id == null) {
219
+ const ids = await sbvrUtils.getAffectedIds(args);
220
+ if (ids.length === 0) {
226
221
  return;
227
222
  }
228
- if (rest != null) {
229
- throw new module_1.errors.BadRequestError('Resources containing webresources can only be updated/deleted one at a time.');
230
- }
231
223
  const webResources = (await api.get({
232
224
  resource: request.resourceName,
233
225
  passthrough: {
234
226
  tx: args.tx,
235
227
  req: module_1.permissions.root,
236
228
  },
237
- id,
238
229
  options: {
239
230
  $select: fields,
231
+ $filter: {
232
+ id: {
233
+ $in: ids,
234
+ },
235
+ },
240
236
  },
241
237
  }));
242
238
  request.custom.$pineWebResourcesToDelete =
@@ -244,14 +240,20 @@ const getRemoveWebResourceHook = (webResourceHandler) => {
244
240
  },
245
241
  POSTRUN: ({ tx, request }) => {
246
242
  tx.on('end', () => {
247
- const keysToDelete = request.custom.$pineWebResourcesToDelete || [];
248
- deleteFiles(keysToDelete, webResourceHandler).catch((err) => {
249
- getLogger(request.vocabulary).error(`Failed to delete pending files`, err);
250
- });
243
+ deleteRequestPendingFiles(request, webResourceHandler);
251
244
  });
252
245
  },
246
+ 'POSTRUN-ERROR': async ({ request }) => {
247
+ deleteRequestPendingFiles(request, webResourceHandler);
248
+ },
253
249
  };
254
250
  };
251
+ const deleteRequestPendingFiles = (request, webResourceHandler) => {
252
+ const keysToDelete = request.custom.$pineWebResourcesToDelete || [];
253
+ deleteFiles(keysToDelete, webResourceHandler).catch((err) => {
254
+ getLogger(request.vocabulary).error(`Failed to delete pending files`, err);
255
+ });
256
+ };
255
257
  const getDefaultHandler = (vocab) => {
256
258
  let handler;
257
259
  try {
@@ -265,8 +267,6 @@ const getDefaultHandler = (vocab) => {
265
267
  };
266
268
  exports.getDefaultHandler = getDefaultHandler;
267
269
  const setupUploadHooks = (handler, apiRoot, resourceName) => {
268
- console.error('root', apiRoot);
269
- console.error('resource', resourceName);
270
270
  sbvrUtils.addPureHook('DELETE', apiRoot, resourceName, getRemoveWebResourceHook(handler));
271
271
  sbvrUtils.addPureHook('PATCH', apiRoot, resourceName, getRemoveWebResourceHook(handler));
272
272
  sbvrUtils.addPureHook('POST', apiRoot, resourceName, getCreateWebResourceHook(handler));
@@ -1 +1 @@
1
- {"version":3,"file":"webresource-handler.js","sourceRoot":"","sources":["../../src/server-glue/webresource-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webresource-handler.js","sourceRoot":"","sources":["../../src/server-glue/webresource-handler.ts"],"names":[],"mappings":"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"}
@@ -14,5 +14,6 @@ export declare class S3Handler implements WebResourceHandler {
14
14
  private cachedGetSignedUrl;
15
15
  private s3SignUrl;
16
16
  private getS3URL;
17
+ private normalizeHref;
17
18
  private getKeyFromHref;
18
19
  }
@@ -16,6 +16,9 @@ class S3Handler {
16
16
  this.cachedGetSignedUrl = memoize(this.s3SignUrl, {
17
17
  maxAge: this.signedUrlCacheExpireTimeSeconds * 1000,
18
18
  });
19
+ this.normalizeHref = (href) => {
20
+ return href.split('?')[0];
21
+ };
19
22
  this.config = {
20
23
  region: (0, env_parsing_1.requiredVar)('S3_REGION'),
21
24
  credentials: {
@@ -84,7 +87,7 @@ class S3Handler {
84
87
  return `${this.config.endpoint}/${this.bucket}/${key}`;
85
88
  }
86
89
  getKeyFromHref(href) {
87
- const hrefWithoutParams = href.split('?')[0];
90
+ const hrefWithoutParams = this.normalizeHref(href);
88
91
  return hrefWithoutParams.substring(hrefWithoutParams.lastIndexOf('/') + 1);
89
92
  }
90
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"S3Handler.js","sourceRoot":"","sources":["../../../src/server-glue/webresource-handlers/S3Handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S3Handler.js","sourceRoot":"","sources":["../../../src/server-glue/webresource-handlers/S3Handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "15.3.0-build-web-resource-4-559850e2606af3eb9961520a72221a7f71a792d2-1",
3
+ "version": "15.3.0-build-web-resource-4-6726079c7474d648145a3b41d9d9b06c819d8d4e-2",
4
4
  "main": "out/server-glue/module",
5
5
  "repository": "git@github.com:balena-io/pinejs.git",
6
6
  "license": "Apache-2.0",
@@ -144,6 +144,6 @@
144
144
  "recursive": true
145
145
  },
146
146
  "versionist": {
147
- "publishedAt": "2023-08-04T22:25:17.818Z"
147
+ "publishedAt": "2023-08-06T01:26:32.202Z"
148
148
  }
149
149
  }
@@ -147,7 +147,6 @@ export const getUploaderMiddlware = (
147
147
  fieldname,
148
148
  };
149
149
  const promise = handler.handleFile(file).then((result) => {
150
- getLogger(getApiRoot(req)).error('Setting field name', fieldname);
151
150
  req.body[fieldname] = {
152
151
  filename: info.filename,
153
152
  contentType: info.mimeType,
@@ -155,8 +154,6 @@ export const getUploaderMiddlware = (
155
154
  size: result.size,
156
155
  href: result.filename,
157
156
  };
158
- getLogger(getApiRoot(req)).error('Body is', JSON.stringify(req.body));
159
-
160
157
  uploadedFilePaths.push(result.filename);
161
158
  });
162
159
  completeUploads.push(promise);
@@ -264,13 +261,7 @@ const getReadWebResourceHook = (webResourceHandler: WebResourceHandler) => {
264
261
  return {
265
262
  PRERESPOND: async ({ request, response }) => {
266
263
  const fields = getWebResourceFields(request, false);
267
-
268
- console.error(request.vocabulary);
269
- console.error(request.method);
270
- console.error(fields);
271
-
272
264
  if (typeof response.body === 'object' && response.body.d != null) {
273
- console.error(response.body?.d[0]);
274
265
  const transformedItems = await Promise.all(
275
266
  response.body.d.map(async (responseItem: any) => {
276
267
  for (const field of fields) {
@@ -283,9 +274,7 @@ const getReadWebResourceHook = (webResourceHandler: WebResourceHandler) => {
283
274
  return responseItem;
284
275
  }),
285
276
  );
286
-
287
277
  response.body.d = transformedItems;
288
- console.error(response.body?.d[0]);
289
278
  }
290
279
  },
291
280
  } as sbvrUtils.Hooks;
@@ -294,14 +283,20 @@ const getReadWebResourceHook = (webResourceHandler: WebResourceHandler) => {
294
283
  const isDefined = <T>(x: T | undefined | null): x is T => x != null;
295
284
 
296
285
  const getWebResourcesHrefs = (
297
- webResources?: WebResourcesDbResponse | null,
286
+ webResources?: WebResourcesDbResponse[] | null,
298
287
  ): string[] => {
299
- const hrefs = Object.values(webResources ?? {})
300
- .filter(isDefined)
301
- .map((resourceKey) => resourceKey.href);
288
+ const hrefs = (webResources ?? []).flatMap((resource) =>
289
+ Object.values(resource ?? {})
290
+ .filter(isDefined)
291
+ .map((resourceKey) => normalizeHref(resourceKey.href)),
292
+ );
302
293
  return hrefs;
303
294
  };
304
295
 
296
+ const normalizeHref = (href: string) => {
297
+ return href.split('?')[0];
298
+ };
299
+
305
300
  const getRemoveWebResourceHook = (
306
301
  webResourceHandler: WebResourceHandler,
307
302
  ): sbvrUtils.Hooks => {
@@ -310,9 +305,6 @@ const getRemoveWebResourceHook = (
310
305
  const { api, request } = args;
311
306
  let fields = getWebResourceFields(request);
312
307
 
313
- console.error('Hook pre run', request.method);
314
- console.error('request is ', request.values);
315
-
316
308
  if (request.method === 'PATCH') {
317
309
  const allFields = getExistingModifiedFields(request);
318
310
  fields = fields.filter((f) => allFields.includes(f));
@@ -325,53 +317,60 @@ const getRemoveWebResourceHook = (
325
317
  // This can only be validated here because we need to first ensure the
326
318
  // request is actually modifying a webresource before erroring out
327
319
  if (request.method === 'PATCH' && request.odataQuery?.key == null) {
320
+ request.custom.$pineWebResourcesToDelete = fields.map(
321
+ (field) => request.values[field].href,
322
+ );
328
323
  throw new errors.BadRequestError(
329
324
  'WebResources can only be updated when providing a resource key.',
330
325
  );
331
326
  }
332
327
 
333
- const [id, rest] = await sbvrUtils.getAffectedIds(args);
334
- if (id == null) {
328
+ const ids = await sbvrUtils.getAffectedIds(args);
329
+ if (ids.length === 0) {
335
330
  return;
336
331
  }
337
332
 
338
- if (rest != null) {
339
- throw new errors.BadRequestError(
340
- 'Resources containing webresources can only be updated/deleted one at a time.',
341
- );
342
- }
343
-
344
333
  const webResources = (await api.get({
345
334
  resource: request.resourceName,
346
335
  passthrough: {
347
336
  tx: args.tx,
348
337
  req: permissions.root,
349
338
  },
350
- id,
351
339
  options: {
352
340
  $select: fields,
341
+ $filter: {
342
+ id: {
343
+ $in: ids,
344
+ },
345
+ },
353
346
  },
354
- })) as WebResourcesDbResponse | undefined | null;
347
+ })) as WebResourcesDbResponse[] | undefined | null;
355
348
 
356
349
  request.custom.$pineWebResourcesToDelete =
357
350
  getWebResourcesHrefs(webResources);
358
351
  },
359
352
  POSTRUN: ({ tx, request }) => {
360
353
  tx.on('end', () => {
361
- const keysToDelete: string[] =
362
- request.custom.$pineWebResourcesToDelete || [];
363
- // on purpose does not await for this promise to resolve
364
- deleteFiles(keysToDelete, webResourceHandler).catch((err) => {
365
- getLogger(request.vocabulary).error(
366
- `Failed to delete pending files`,
367
- err,
368
- );
369
- });
354
+ deleteRequestPendingFiles(request, webResourceHandler);
370
355
  });
371
356
  },
357
+ 'POSTRUN-ERROR': async ({ request }) => {
358
+ deleteRequestPendingFiles(request, webResourceHandler);
359
+ },
372
360
  };
373
361
  };
374
362
 
363
+ const deleteRequestPendingFiles = (
364
+ request: uriParser.ODataRequest,
365
+ webResourceHandler: WebResourceHandler,
366
+ ): void => {
367
+ const keysToDelete: string[] = request.custom.$pineWebResourcesToDelete || [];
368
+ // on purpose does not await for this promise to resolve
369
+ deleteFiles(keysToDelete, webResourceHandler).catch((err) => {
370
+ getLogger(request.vocabulary).error(`Failed to delete pending files`, err);
371
+ });
372
+ };
373
+
375
374
  export const getDefaultHandler = (vocab?: string): WebResourceHandler => {
376
375
  let handler: WebResourceHandler;
377
376
  try {
@@ -388,9 +387,6 @@ export const setupUploadHooks = (
388
387
  apiRoot: string,
389
388
  resourceName: string,
390
389
  ) => {
391
- console.error('root', apiRoot);
392
- console.error('resource', resourceName);
393
-
394
390
  sbvrUtils.addPureHook(
395
391
  'DELETE',
396
392
  apiRoot,
@@ -123,8 +123,12 @@ export class S3Handler implements WebResourceHandler {
123
123
  return `${this.config.endpoint}/${this.bucket}/${key}`;
124
124
  }
125
125
 
126
+ private normalizeHref = (href: string) => {
127
+ return href.split('?')[0];
128
+ };
129
+
126
130
  private getKeyFromHref(href: string): string {
127
- const hrefWithoutParams = href.split('?')[0];
131
+ const hrefWithoutParams = this.normalizeHref(href);
128
132
  return hrefWithoutParams.substring(hrefWithoutParams.lastIndexOf('/') + 1);
129
133
  }
130
134
  }