@balena/pinejs 19.7.3-build-renovate-postgres-17-x-2d03a162db08921d8a448438b1e1514c161bb75a-1 → 20.0.0-build-esm-78a099606f287bc0df4001425788a7ad1c708ba1-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.
Files changed (171) hide show
  1. package/.pinejs-cache.json +1 -1
  2. package/.versionbot/CHANGELOG.yml +22 -7
  3. package/CHANGELOG.md +5 -3
  4. package/{Gruntfile.ts → Gruntfile.cts} +9 -22
  5. package/VERSION +1 -1
  6. package/bin/abstract-sql-compiler.js +1 -1
  7. package/bin/odata-compiler.js +1 -1
  8. package/bin/sbvr-compiler.js +1 -1
  9. package/build/{browser.ts → browser.cts} +1 -1
  10. package/build/{config.ts → config.cts} +5 -1
  11. package/build/{module.ts → module.cts} +1 -1
  12. package/build/{server.ts → server.cts} +1 -1
  13. package/docker-compose.npm-test.yml +1 -1
  14. package/out/bin/abstract-sql-compiler.js +17 -19
  15. package/out/bin/abstract-sql-compiler.js.map +1 -1
  16. package/out/bin/odata-compiler.js +19 -21
  17. package/out/bin/odata-compiler.js.map +1 -1
  18. package/out/bin/sbvr-compiler.js +19 -54
  19. package/out/bin/sbvr-compiler.js.map +1 -1
  20. package/out/bin/utils.d.ts +3 -3
  21. package/out/bin/utils.js +21 -53
  22. package/out/bin/utils.js.map +1 -1
  23. package/out/config-loader/config-loader.d.ts +7 -7
  24. package/out/config-loader/config-loader.js +23 -63
  25. package/out/config-loader/config-loader.js.map +1 -1
  26. package/out/config-loader/env.d.ts +1 -1
  27. package/out/config-loader/env.js +24 -66
  28. package/out/config-loader/env.js.map +1 -1
  29. package/out/data-server/sbvr-server.d.ts +3 -3
  30. package/out/data-server/sbvr-server.js +5 -42
  31. package/out/data-server/sbvr-server.js.map +1 -1
  32. package/out/database-layer/db.d.ts +3 -3
  33. package/out/database-layer/db.js +37 -83
  34. package/out/database-layer/db.js.map +1 -1
  35. package/out/express-emulator/express.js.map +1 -1
  36. package/out/extended-sbvr-parser/extended-sbvr-parser.js +8 -11
  37. package/out/extended-sbvr-parser/extended-sbvr-parser.js.map +1 -1
  38. package/out/http-transactions/transactions.d.ts +2 -2
  39. package/out/http-transactions/transactions.js +4 -4
  40. package/out/http-transactions/transactions.js.map +1 -1
  41. package/out/migrator/async.d.ts +2 -2
  42. package/out/migrator/async.js +20 -60
  43. package/out/migrator/async.js.map +1 -1
  44. package/out/migrator/migrations.js +1 -2
  45. package/out/migrator/sync.d.ts +6 -6
  46. package/out/migrator/sync.js +20 -61
  47. package/out/migrator/sync.js.map +1 -1
  48. package/out/migrator/utils.d.ts +4 -4
  49. package/out/migrator/utils.js +42 -97
  50. package/out/migrator/utils.js.map +1 -1
  51. package/out/odata-metadata/odata-metadata-generator.js +7 -14
  52. package/out/odata-metadata/odata-metadata-generator.js.map +1 -1
  53. package/out/passport-pinejs/mount-login-router.d.ts +1 -1
  54. package/out/passport-pinejs/mount-login-router.js +4 -41
  55. package/out/passport-pinejs/mount-login-router.js.map +1 -1
  56. package/out/passport-pinejs/passport-pinejs.d.ts +3 -3
  57. package/out/passport-pinejs/passport-pinejs.js +11 -46
  58. package/out/passport-pinejs/passport-pinejs.js.map +1 -1
  59. package/out/pinejs-session-store/pinejs-session-store.d.ts +1 -1
  60. package/out/pinejs-session-store/pinejs-session-store.js +11 -48
  61. package/out/pinejs-session-store/pinejs-session-store.js.map +1 -1
  62. package/out/sbvr-api/abstract-sql.d.ts +3 -3
  63. package/out/sbvr-api/abstract-sql.js +22 -65
  64. package/out/sbvr-api/abstract-sql.js.map +1 -1
  65. package/out/sbvr-api/cached-compile.js +8 -15
  66. package/out/sbvr-api/cached-compile.js.map +1 -1
  67. package/out/sbvr-api/common-types.js +1 -2
  68. package/out/sbvr-api/control-flow.d.ts +1 -1
  69. package/out/sbvr-api/control-flow.js +12 -25
  70. package/out/sbvr-api/control-flow.js.map +1 -1
  71. package/out/sbvr-api/dev.js +1 -2
  72. package/out/sbvr-api/errors.d.ts +1 -1
  73. package/out/sbvr-api/errors.js +47 -95
  74. package/out/sbvr-api/errors.js.map +1 -1
  75. package/out/sbvr-api/express-extension.d.ts +2 -2
  76. package/out/sbvr-api/express-extension.js +1 -2
  77. package/out/sbvr-api/hooks.d.ts +4 -4
  78. package/out/sbvr-api/hooks.js +23 -35
  79. package/out/sbvr-api/hooks.js.map +1 -1
  80. package/out/sbvr-api/odata-response.d.ts +2 -2
  81. package/out/sbvr-api/odata-response.js +19 -29
  82. package/out/sbvr-api/odata-response.js.map +1 -1
  83. package/out/sbvr-api/permissions.d.ts +9 -9
  84. package/out/sbvr-api/permissions.js +106 -159
  85. package/out/sbvr-api/permissions.js.map +1 -1
  86. package/out/sbvr-api/sbvr-utils.d.ts +40 -18
  87. package/out/sbvr-api/sbvr-utils.js +222 -285
  88. package/out/sbvr-api/sbvr-utils.js.map +1 -1
  89. package/out/sbvr-api/translations.d.ts +1 -1
  90. package/out/sbvr-api/translations.js +10 -17
  91. package/out/sbvr-api/translations.js.map +1 -1
  92. package/out/sbvr-api/uri-parser.d.ts +7 -7
  93. package/out/sbvr-api/uri-parser.js +39 -84
  94. package/out/sbvr-api/uri-parser.js.map +1 -1
  95. package/out/sbvr-api/user.js +1 -2
  96. package/out/server-glue/global-ext.d.ts +0 -3
  97. package/out/server-glue/module.d.ts +16 -16
  98. package/out/server-glue/module.js +20 -59
  99. package/out/server-glue/module.js.map +1 -1
  100. package/out/server-glue/sbvr-loader.d.ts +2 -1
  101. package/out/server-glue/sbvr-loader.js +4 -11
  102. package/out/server-glue/sbvr-loader.js.map +1 -1
  103. package/out/server-glue/server.d.ts +2 -2
  104. package/out/server-glue/server.js +17 -59
  105. package/out/server-glue/server.js.map +1 -1
  106. package/out/tasks/common.d.ts +1 -1
  107. package/out/tasks/common.js +3 -9
  108. package/out/tasks/common.js.map +1 -1
  109. package/out/tasks/index.d.ts +8 -8
  110. package/out/tasks/index.js +25 -63
  111. package/out/tasks/index.js.map +1 -1
  112. package/out/tasks/tasks.js +1 -2
  113. package/out/tasks/worker.d.ts +3 -3
  114. package/out/tasks/worker.js +14 -51
  115. package/out/tasks/worker.js.map +1 -1
  116. package/out/webresource-handler/handlers/NoopHandler.d.ts +1 -1
  117. package/out/webresource-handler/handlers/NoopHandler.js +1 -5
  118. package/out/webresource-handler/handlers/NoopHandler.js.map +1 -1
  119. package/out/webresource-handler/handlers/S3Handler.d.ts +1 -1
  120. package/out/webresource-handler/handlers/S3Handler.js +17 -24
  121. package/out/webresource-handler/handlers/S3Handler.js.map +1 -1
  122. package/out/webresource-handler/handlers/index.d.ts +2 -2
  123. package/out/webresource-handler/handlers/index.js +2 -18
  124. package/out/webresource-handler/handlers/index.js.map +1 -1
  125. package/out/webresource-handler/index.d.ts +3 -3
  126. package/out/webresource-handler/index.js +35 -85
  127. package/out/webresource-handler/index.js.map +1 -1
  128. package/package.json +14 -14
  129. package/src/bin/abstract-sql-compiler.ts +3 -3
  130. package/src/bin/odata-compiler.ts +3 -3
  131. package/src/bin/sbvr-compiler.ts +2 -2
  132. package/src/bin/utils.ts +23 -15
  133. package/src/config-loader/config-loader.ts +12 -12
  134. package/src/config-loader/env.ts +3 -3
  135. package/src/data-server/sbvr-server.ts +4 -4
  136. package/src/database-layer/db.ts +18 -11
  137. package/src/extended-sbvr-parser/extended-sbvr-parser.ts +5 -5
  138. package/src/http-transactions/transactions.js +4 -4
  139. package/src/migrator/async.ts +5 -5
  140. package/src/migrator/sync.ts +8 -8
  141. package/src/migrator/utils.ts +7 -7
  142. package/src/odata-metadata/odata-metadata-generator.ts +3 -2
  143. package/src/passport-pinejs/mount-login-router.ts +3 -3
  144. package/src/passport-pinejs/passport-pinejs.ts +6 -6
  145. package/src/pinejs-session-store/pinejs-session-store.ts +4 -4
  146. package/src/sbvr-api/abstract-sql.ts +6 -6
  147. package/src/sbvr-api/cached-compile.ts +2 -2
  148. package/src/sbvr-api/control-flow.ts +1 -1
  149. package/src/sbvr-api/errors.ts +1 -1
  150. package/src/sbvr-api/express-extension.ts +2 -2
  151. package/src/sbvr-api/hooks.ts +5 -5
  152. package/src/sbvr-api/odata-response.ts +8 -4
  153. package/src/sbvr-api/permissions.ts +19 -19
  154. package/src/sbvr-api/sbvr-utils.ts +39 -33
  155. package/src/sbvr-api/translations.ts +1 -1
  156. package/src/sbvr-api/uri-parser.ts +10 -10
  157. package/src/server-glue/global-ext.d.ts +0 -3
  158. package/src/server-glue/module.ts +20 -20
  159. package/src/server-glue/sbvr-loader.ts +15 -27
  160. package/src/server-glue/server.ts +13 -24
  161. package/src/tasks/common.ts +1 -1
  162. package/src/tasks/index.ts +14 -14
  163. package/src/tasks/worker.ts +8 -8
  164. package/src/webresource-handler/handlers/NoopHandler.ts +5 -1
  165. package/src/webresource-handler/handlers/S3Handler.ts +1 -1
  166. package/src/webresource-handler/handlers/index.ts +2 -2
  167. package/src/webresource-handler/index.ts +10 -10
  168. package/tsconfig.dev.json +4 -2
  169. package/tsconfig.json +1 -1
  170. package/typings/lf-to-abstract-sql.d.ts +2 -2
  171. package/typings/memoizee.d.ts +2 -2
@@ -1,45 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Worker = void 0;
37
- const promises_1 = require("node:timers/promises");
38
- const env_1 = require("../config-loader/env");
39
- const permissions = __importStar(require("../sbvr-api/permissions"));
40
- const sbvr_utils_1 = require("../sbvr-api/sbvr-utils");
41
- const module_1 = require("../server-glue/module");
42
- const common_1 = require("./common");
1
+ import { setTimeout } from 'node:timers/promises';
2
+ import { tasks as tasksEnv } from '../config-loader/env.js';
3
+ import * as permissions from '../sbvr-api/permissions.js';
4
+ import { PinejsClient } from '../sbvr-api/sbvr-utils.js';
5
+ import { sbvrUtils } from '../server-glue/module.js';
6
+ import { ajv } from './common.js';
43
7
  const selectColumns = Object.entries({
44
8
  id: 'id',
45
9
  'is executed by-handler': 'is_executed_by__handler',
@@ -51,7 +15,7 @@ const selectColumns = Object.entries({
51
15
  })
52
16
  .map(([key, value]) => `t."${key}" AS "${value}"`)
53
17
  .join(', ');
54
- class Worker {
18
+ export class Worker {
55
19
  client;
56
20
  handlers = {};
57
21
  concurrency;
@@ -60,8 +24,8 @@ class Worker {
60
24
  executing = 0;
61
25
  constructor(client) {
62
26
  this.client = client;
63
- this.concurrency = env_1.tasks.queueConcurrency;
64
- this.interval = env_1.tasks.queueIntervalMS;
27
+ this.concurrency = tasksEnv.queueConcurrency;
28
+ this.interval = tasksEnv.queueIntervalMS;
65
29
  }
66
30
  canExecute() {
67
31
  return (this.executing < this.concurrency && Object.keys(this.handlers).length > 0);
@@ -77,14 +41,14 @@ class Worker {
77
41
  }
78
42
  if (handler.validate != null &&
79
43
  !handler.validate(task.is_executed_with__parameter_set)) {
80
- await this.update(tx, task, startedOnTime, 'failed', `Invalid parameter set: ${common_1.ajv.errorsText(handler.validate.errors)}`);
44
+ await this.update(tx, task, startedOnTime, 'failed', `Invalid parameter set: ${ajv.errorsText(handler.validate.errors)}`);
81
45
  return;
82
46
  }
83
47
  let status = 'queued';
84
48
  let error;
85
49
  try {
86
50
  const results = await handler.fn({
87
- api: new sbvr_utils_1.PinejsClient({}),
51
+ api: new PinejsClient({}),
88
52
  params: task.is_executed_with__parameter_set ?? {},
89
53
  });
90
54
  status = results.status;
@@ -162,7 +126,7 @@ class Worker {
162
126
  if (handlerNames.length === 0) {
163
127
  return;
164
128
  }
165
- await module_1.sbvrUtils.db.transaction(async (tx) => {
129
+ await sbvrUtils.db.transaction(async (tx) => {
166
130
  const result = await tx.executeSql(`SELECT ${selectColumns}
167
131
  FROM task AS t
168
132
  WHERE
@@ -188,7 +152,7 @@ class Worker {
188
152
  }
189
153
  finally {
190
154
  if (!executed) {
191
- await (0, promises_1.setTimeout)(this.interval);
155
+ await setTimeout(this.interval);
192
156
  }
193
157
  if (this.running) {
194
158
  this.poll();
@@ -200,7 +164,7 @@ class Worker {
200
164
  this.running = false;
201
165
  }
202
166
  async start() {
203
- if (module_1.sbvrUtils.db.engine !== 'postgres') {
167
+ if (sbvrUtils.db.engine !== 'postgres') {
204
168
  throw new Error('Database does not support tasks, giving up on starting worker');
205
169
  }
206
170
  const handlerNames = Object.keys(this.handlers);
@@ -234,5 +198,4 @@ class Worker {
234
198
  }
235
199
  }
236
200
  }
237
- exports.Worker = Worker;
238
201
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { WebResourceType as WebResource } from '@balena/sbvr-types';
2
- import type { IncomingFile, UploadResponse, WebResourceHandler } from '..';
2
+ import type { IncomingFile, UploadResponse, WebResourceHandler } from '../index.js';
3
3
  export declare class NoopHandler implements WebResourceHandler {
4
4
  handleFile(resource: IncomingFile): Promise<UploadResponse>;
5
5
  removeFile(): Promise<void>;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NoopHandler = void 0;
4
- class NoopHandler {
1
+ export class NoopHandler {
5
2
  async handleFile(resource) {
6
3
  resource.stream.resume();
7
4
  return {
@@ -16,5 +13,4 @@ class NoopHandler {
16
13
  return webResource;
17
14
  }
18
15
  }
19
- exports.NoopHandler = NoopHandler;
20
16
  //# sourceMappingURL=NoopHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NoopHandler.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/NoopHandler.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IAChB,KAAK,CAAC,UAAU,CAAC,QAAsB;QAE7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO;YACN,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,OAAO;IACR,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,WAAwB;QACjD,OAAO,WAAW,CAAC;IACpB,CAAC;CACD;AAjBD,kCAiBC"}
1
+ {"version":3,"file":"NoopHandler.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/NoopHandler.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,WAAW;IAChB,KAAK,CAAC,UAAU,CAAC,QAAsB;QAE7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO;YACN,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC;SACP,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,OAAO;IACR,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,WAAwB;QACjD,OAAO,WAAW,CAAC;IACpB,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import { type IncomingFile, type UploadResponse, type WebResourceHandler } from '..';
1
+ import { type IncomingFile, type UploadResponse, type WebResourceHandler } from '../index.js';
2
2
  import type { WebResourceType as WebResource } from '@balena/sbvr-types';
3
3
  export interface S3HandlerProps {
4
4
  region: string;
@@ -1,16 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.S3Handler = void 0;
7
- const __1 = require("..");
8
- const client_s3_1 = require("@aws-sdk/client-s3");
9
- const lib_storage_1 = require("@aws-sdk/lib-storage");
10
- const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
11
- const crypto_1 = require("crypto");
12
- const memoizee_1 = __importDefault(require("memoizee"));
13
- class S3Handler {
1
+ import { FileSizeExceededError, normalizeHref, WebResourceError, } from '../index.js';
2
+ import { S3Client, DeleteObjectCommand, GetObjectCommand, } from '@aws-sdk/client-s3';
3
+ import { Upload } from '@aws-sdk/lib-storage';
4
+ import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
5
+ import { randomUUID } from 'crypto';
6
+ import memoize from 'memoizee';
7
+ export class S3Handler {
14
8
  config;
15
9
  bucket;
16
10
  maxFileSize;
@@ -34,21 +28,21 @@ class S3Handler {
34
28
  config.signedUrlCacheExpireTimeSeconds ?? 82800;
35
29
  this.maxFileSize = config.maxSize ?? 52428800;
36
30
  this.bucket = config.bucket;
37
- this.client = new client_s3_1.S3Client(this.config);
38
- this.cachedGetSignedUrl = (0, memoizee_1.default)(this.s3SignUrl, {
31
+ this.client = new S3Client(this.config);
32
+ this.cachedGetSignedUrl = memoize(this.s3SignUrl, {
39
33
  maxAge: this.signedUrlCacheExpireTimeSeconds * 1000,
40
34
  });
41
35
  }
42
36
  async handleFile(resource) {
43
37
  let size = 0;
44
- const key = `${resource.fieldname}_${(0, crypto_1.randomUUID)()}_${resource.originalname}`;
38
+ const key = `${resource.fieldname}_${randomUUID()}_${resource.originalname}`;
45
39
  const params = {
46
40
  Bucket: this.bucket,
47
41
  Key: key,
48
42
  Body: resource.stream,
49
43
  ContentType: resource.mimetype,
50
44
  };
51
- const upload = new lib_storage_1.Upload({ client: this.client, params });
45
+ const upload = new Upload({ client: this.client, params });
52
46
  upload.on('httpUploadProgress', async (ev) => {
53
47
  size = ev.total ?? ev.loaded;
54
48
  if (size > this.maxFileSize) {
@@ -61,16 +55,16 @@ class S3Handler {
61
55
  catch (err) {
62
56
  resource.stream.resume();
63
57
  if (size > this.maxFileSize) {
64
- throw new __1.FileSizeExceededError(this.maxFileSize);
58
+ throw new FileSizeExceededError(this.maxFileSize);
65
59
  }
66
- throw new __1.WebResourceError(err);
60
+ throw new WebResourceError(err);
67
61
  }
68
62
  const filename = this.getS3URL(key);
69
63
  return { size, filename };
70
64
  }
71
65
  async removeFile(href) {
72
66
  const fileKey = this.getKeyFromHref(href);
73
- const command = new client_s3_1.DeleteObjectCommand({
67
+ const command = new DeleteObjectCommand({
74
68
  Bucket: this.bucket,
75
69
  Key: fileKey,
76
70
  });
@@ -84,11 +78,11 @@ class S3Handler {
84
78
  return webResource;
85
79
  }
86
80
  s3SignUrl(fileKey) {
87
- const command = new client_s3_1.GetObjectCommand({
81
+ const command = new GetObjectCommand({
88
82
  Bucket: this.bucket,
89
83
  Key: fileKey,
90
84
  });
91
- return (0, s3_request_presigner_1.getSignedUrl)(this.client, command, {
85
+ return getSignedUrl(this.client, command, {
92
86
  expiresIn: this.signedUrlExpireTimeSeconds,
93
87
  });
94
88
  }
@@ -96,9 +90,8 @@ class S3Handler {
96
90
  return `${this.config.endpoint}/${this.bucket}/${key}`;
97
91
  }
98
92
  getKeyFromHref(href) {
99
- const hrefWithoutParams = (0, __1.normalizeHref)(href);
93
+ const hrefWithoutParams = normalizeHref(href);
100
94
  return hrefWithoutParams.substring(hrefWithoutParams.lastIndexOf('/') + 1);
101
95
  }
102
96
  }
103
- exports.S3Handler = S3Handler;
104
97
  //# sourceMappingURL=S3Handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"S3Handler.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/S3Handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S3Handler.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/S3Handler.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from './NoopHandler';
2
- export * from './S3Handler';
1
+ export * from './NoopHandler.js';
2
+ export * from './S3Handler.js';
@@ -1,19 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./NoopHandler"), exports);
18
- __exportStar(require("./S3Handler"), exports);
1
+ export * from './NoopHandler.js';
2
+ export * from './S3Handler.js';
19
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webresource-handler/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
@@ -1,8 +1,8 @@
1
- import type * as Express from 'express';
2
- import type * as stream from 'node:stream';
1
+ import type Express from 'express';
2
+ import type stream from 'node:stream';
3
3
  import type { WebResourceType as WebResource } from '@balena/sbvr-types';
4
4
  import { TypedError } from 'typed-error';
5
- export * from './handlers';
5
+ export * from './handlers/index.js';
6
6
  export interface IncomingFile {
7
7
  fieldname: string;
8
8
  originalname: string;
@@ -1,65 +1,21 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.setupUploadHooks = exports.getDefaultHandler = exports.normalizeHref = exports.getUploaderMiddlware = exports.getWebresourceHandler = exports.setupWebresourceHandler = exports.FileSizeExceededError = exports.WebResourceError = void 0;
43
- const busboy_1 = __importDefault(require("busboy"));
44
- const uriParser = __importStar(require("../sbvr-api/uri-parser"));
45
- const sbvrUtils = __importStar(require("../sbvr-api/sbvr-utils"));
46
- const sbvr_utils_1 = require("../sbvr-api/sbvr-utils");
47
- const permissions_1 = require("../sbvr-api/permissions");
48
- const NoopHandler_1 = require("./handlers/NoopHandler");
49
- const odata_to_abstract_sql_1 = require("@balena/odata-to-abstract-sql");
50
- const module_1 = require("../server-glue/module");
51
- const typed_error_1 = require("typed-error");
52
- __exportStar(require("./handlers"), exports);
53
- class WebResourceError extends typed_error_1.TypedError {
1
+ import busboy from 'busboy';
2
+ import * as uriParser from '../sbvr-api/uri-parser.js';
3
+ import * as sbvrUtils from '../sbvr-api/sbvr-utils.js';
4
+ import { getApiRoot, getModel } from '../sbvr-api/sbvr-utils.js';
5
+ import { checkPermissions } from '../sbvr-api/permissions.js';
6
+ import { NoopHandler } from './handlers/NoopHandler.js';
7
+ import { odataNameToSqlName, sqlNameToODataName, } from '@balena/odata-to-abstract-sql';
8
+ import { errors, permissions } from '../server-glue/module.js';
9
+ import { TypedError } from 'typed-error';
10
+ export * from './handlers/index.js';
11
+ export class WebResourceError extends TypedError {
54
12
  }
55
- exports.WebResourceError = WebResourceError;
56
- class FileSizeExceededError extends WebResourceError {
13
+ export class FileSizeExceededError extends WebResourceError {
57
14
  name = 'FileSizeExceededError';
58
15
  constructor(maxSize) {
59
16
  super(`File size exceeded the limit of ${maxSize} bytes.`);
60
17
  }
61
18
  }
62
- exports.FileSizeExceededError = FileSizeExceededError;
63
19
  const getLogger = (vocab) => {
64
20
  if (vocab) {
65
21
  return sbvrUtils.logger[vocab] ?? console;
@@ -67,23 +23,21 @@ const getLogger = (vocab) => {
67
23
  return console;
68
24
  };
69
25
  let configuredWebResourceHandler;
70
- const setupWebresourceHandler = (handler) => {
26
+ export const setupWebresourceHandler = (handler) => {
71
27
  configuredWebResourceHandler = handler;
72
28
  };
73
- exports.setupWebresourceHandler = setupWebresourceHandler;
74
- const getWebresourceHandler = () => {
29
+ export const getWebresourceHandler = () => {
75
30
  return configuredWebResourceHandler;
76
31
  };
77
- exports.getWebresourceHandler = getWebresourceHandler;
78
32
  const isFileInValidPath = async (fieldname, req) => {
79
33
  if (req.method !== 'POST' && req.method !== 'PATCH') {
80
34
  return false;
81
35
  }
82
- const apiRoot = (0, sbvr_utils_1.getApiRoot)(req);
36
+ const apiRoot = getApiRoot(req);
83
37
  if (apiRoot == null) {
84
38
  return false;
85
39
  }
86
- const model = (0, sbvr_utils_1.getModel)(apiRoot);
40
+ const model = getModel(apiRoot);
87
41
  const odataRequest = uriParser.parseOData({
88
42
  url: req.url,
89
43
  method: req.method,
@@ -95,14 +49,14 @@ const isFileInValidPath = async (fieldname, req) => {
95
49
  }
96
50
  const permission = req.method === 'POST' ? 'create' : 'update';
97
51
  const vocab = model.versions[model.versions.length - 1];
98
- const hasPermissions = await (0, permissions_1.checkPermissions)(req, permission, odataRequest.resourceName, vocab);
52
+ const hasPermissions = await checkPermissions(req, permission, odataRequest.resourceName, vocab);
99
53
  if (!hasPermissions) {
100
54
  return false;
101
55
  }
102
- const dbFieldName = (0, odata_to_abstract_sql_1.odataNameToSqlName)(fieldname);
56
+ const dbFieldName = odataNameToSqlName(fieldname);
103
57
  return table.fields.some((field) => field.fieldName === dbFieldName && field.dataType === 'WebResource');
104
58
  };
105
- const getUploaderMiddlware = (handler) => {
59
+ export const getUploaderMiddlware = (handler) => {
106
60
  return (req, res, next) => {
107
61
  if (!req.is('multipart')) {
108
62
  next();
@@ -110,7 +64,7 @@ const getUploaderMiddlware = (handler) => {
110
64
  }
111
65
  const uploadedFilePaths = [];
112
66
  const completeUploads = [];
113
- const bb = (0, busboy_1.default)({ headers: req.headers });
67
+ const bb = busboy({ headers: req.headers });
114
68
  let isAborting = false;
115
69
  const finishFileUpload = () => {
116
70
  req.unpipe(bb);
@@ -124,7 +78,7 @@ const getUploaderMiddlware = (handler) => {
124
78
  return await Promise.all(deletions);
125
79
  }
126
80
  catch (err) {
127
- getLogger((0, sbvr_utils_1.getApiRoot)(req)).error('Error deleting file', err);
81
+ getLogger(getApiRoot(req)).error('Error deleting file', err);
128
82
  }
129
83
  };
130
84
  bb.on('file', (fieldname, filestream, info) => {
@@ -174,9 +128,9 @@ const getUploaderMiddlware = (handler) => {
174
128
  finishFileUpload();
175
129
  await clearFiles();
176
130
  if (err instanceof FileSizeExceededError) {
177
- return sbvrUtils.handleHttpErrors(req, res, new module_1.errors.BadRequestError(err.message));
131
+ return sbvrUtils.handleHttpErrors(req, res, new errors.BadRequestError(err.message));
178
132
  }
179
- getLogger((0, sbvr_utils_1.getApiRoot)(req)).error('Error uploading file', err);
133
+ getLogger(getApiRoot(req)).error('Error uploading file', err);
180
134
  next(err);
181
135
  }
182
136
  });
@@ -184,25 +138,24 @@ const getUploaderMiddlware = (handler) => {
184
138
  finishFileUpload();
185
139
  await clearFiles();
186
140
  if (err instanceof FileSizeExceededError) {
187
- return sbvrUtils.handleHttpErrors(req, res, new module_1.errors.BadRequestError(err.message));
141
+ return sbvrUtils.handleHttpErrors(req, res, new errors.BadRequestError(err.message));
188
142
  }
189
- getLogger((0, sbvr_utils_1.getApiRoot)(req)).error('Error uploading file', err);
143
+ getLogger(getApiRoot(req)).error('Error uploading file', err);
190
144
  next(err);
191
145
  });
192
146
  req.pipe(bb);
193
147
  };
194
148
  };
195
- exports.getUploaderMiddlware = getUploaderMiddlware;
196
149
  const getWebResourceFields = (request, useTranslations = true) => {
197
150
  const resourceName = sbvrUtils.resolveSynonym(request);
198
- const sqlResourceName = (0, odata_to_abstract_sql_1.odataNameToSqlName)(resourceName);
151
+ const sqlResourceName = odataNameToSqlName(resourceName);
199
152
  const model = sbvrUtils.getAbstractSqlModel(request).tables[sqlResourceName];
200
153
  const fields = useTranslations
201
154
  ? (model.modifyFields ?? model.fields)
202
155
  : model.fields;
203
156
  return fields
204
157
  .filter((f) => f.dataType === 'WebResource')
205
- .map((f) => (0, odata_to_abstract_sql_1.sqlNameToODataName)(f.fieldName));
158
+ .map((f) => sqlNameToODataName(f.fieldName));
206
159
  };
207
160
  const deleteFiles = async (keysToDelete, webResourceHandler) => {
208
161
  const promises = keysToDelete.map((r) => webResourceHandler.removeFile(r));
@@ -211,7 +164,7 @@ const deleteFiles = async (keysToDelete, webResourceHandler) => {
211
164
  const throwIfWebresourceNotInMultipart = (webResourceFields, { req, request }) => {
212
165
  if (!req.is?.('multipart') &&
213
166
  webResourceFields.some((field) => request.values[field] != null)) {
214
- throw new module_1.errors.BadRequestError('Use multipart requests to upload a file.');
167
+ throw new errors.BadRequestError('Use multipart requests to upload a file.');
215
168
  }
216
169
  };
217
170
  const getCreateWebResourceHooks = (webResourceHandler) => {
@@ -230,13 +183,12 @@ const getCreateWebResourceHooks = (webResourceHandler) => {
230
183
  const getWebResourcesHrefs = (webResources) => {
231
184
  const hrefs = (webResources ?? []).flatMap((resource) => Object.values(resource ?? {})
232
185
  .filter((resourceKey) => resourceKey != null)
233
- .map((resourceKey) => (0, exports.normalizeHref)(resourceKey.href)));
186
+ .map((resourceKey) => normalizeHref(resourceKey.href)));
234
187
  return hrefs;
235
188
  };
236
- const normalizeHref = (href) => {
189
+ export const normalizeHref = (href) => {
237
190
  return href.split('?')[0];
238
191
  };
239
- exports.normalizeHref = normalizeHref;
240
192
  const getWebResourcesKeysFromRequest = (webResourceFields, { values }) => {
241
193
  return webResourceFields
242
194
  .map((field) => values[field]?.href)
@@ -264,7 +216,7 @@ const getRemoveWebResourceHooks = (webResourceHandler) => {
264
216
  tx.on('end', () => {
265
217
  deletePendingFiles(keysToDelete, request, webResourceHandler);
266
218
  });
267
- throw new module_1.errors.BadRequestError('WebResources can only be updated when providing a resource key.');
219
+ throw new errors.BadRequestError('WebResources can only be updated when providing a resource key.');
268
220
  }
269
221
  const ids = await sbvrUtils.getAffectedIds(args);
270
222
  if (ids.length === 0) {
@@ -276,7 +228,7 @@ const getRemoveWebResourceHooks = (webResourceHandler) => {
276
228
  resource: request.resourceName,
277
229
  passthrough: {
278
230
  tx: args.tx,
279
- req: module_1.permissions.root,
231
+ req: permissions.root,
280
232
  },
281
233
  options: {
282
234
  $select: webResourceFields,
@@ -309,14 +261,12 @@ const deletePendingFiles = (keysToDelete, request, webResourceHandler) => {
309
261
  getLogger(request.vocabulary).error(`Failed to delete pending files`, err);
310
262
  }
311
263
  };
312
- const getDefaultHandler = () => {
313
- return new NoopHandler_1.NoopHandler();
264
+ export const getDefaultHandler = () => {
265
+ return new NoopHandler();
314
266
  };
315
- exports.getDefaultHandler = getDefaultHandler;
316
- const setupUploadHooks = (handler, apiRoot, resourceName) => {
267
+ export const setupUploadHooks = (handler, apiRoot, resourceName) => {
317
268
  sbvrUtils.addPureHook('DELETE', apiRoot, resourceName, getRemoveWebResourceHooks(handler));
318
269
  sbvrUtils.addPureHook('PATCH', apiRoot, resourceName, getRemoveWebResourceHooks(handler));
319
270
  sbvrUtils.addPureHook('POST', apiRoot, resourceName, getCreateWebResourceHooks(handler));
320
271
  };
321
- exports.setupUploadHooks = setupUploadHooks;
322
272
  //# sourceMappingURL=index.js.map