@balena/pinejs 20.1.0-build-large-file-uploads-2-1a7d50e8660ff52fe7df8d6ef9ce8b6b707027dc-1 → 21.0.0-build-21-x-aded34a9c5c670522247399b3cc4dc7814430d5e-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pinejs-cache.json +1 -1
- package/.versionbot/CHANGELOG.yml +339 -17
- package/CHANGELOG.md +79 -5
- package/Gruntfile.cts +1 -1
- package/VERSION +1 -1
- package/build/browser.cts +0 -1
- package/build/module.cts +0 -1
- package/build/server.cts +0 -1
- package/out/bin/utils.js +2 -3
- package/out/bin/utils.js.map +1 -1
- package/out/config-loader/env.d.ts +0 -5
- package/out/config-loader/env.js +0 -7
- package/out/config-loader/env.js.map +1 -1
- package/out/database-layer/db.js.map +1 -1
- package/out/express-emulator/express.js +4 -1
- package/out/express-emulator/express.js.map +1 -1
- package/out/migrator/async.js +6 -7
- package/out/migrator/async.js.map +1 -1
- package/out/sbvr-api/abstract-sql.js +19 -11
- package/out/sbvr-api/abstract-sql.js.map +1 -1
- package/out/sbvr-api/cached-compile.js +2 -1
- package/out/sbvr-api/cached-compile.js.map +1 -1
- package/out/sbvr-api/control-flow.js.map +1 -1
- package/out/sbvr-api/errors.js +1 -1
- package/out/sbvr-api/errors.js.map +1 -1
- package/out/sbvr-api/hooks.d.ts +1 -2
- package/out/sbvr-api/hooks.js.map +1 -1
- package/out/sbvr-api/sbvr-utils.d.ts +0 -10
- package/out/sbvr-api/sbvr-utils.js +7 -48
- package/out/sbvr-api/sbvr-utils.js.map +1 -1
- package/out/sbvr-api/translations.js +4 -17
- package/out/sbvr-api/translations.js.map +1 -1
- package/out/sbvr-api/uri-parser.d.ts +7 -1
- package/out/sbvr-api/uri-parser.js +0 -2
- package/out/sbvr-api/uri-parser.js.map +1 -1
- package/out/server-glue/module.js +1 -13
- package/out/server-glue/module.js.map +1 -1
- package/out/tasks/index.d.ts +1 -1
- package/out/tasks/index.js +2 -2
- package/out/tasks/index.js.map +1 -1
- package/out/tasks/worker.d.ts +3 -2
- package/out/tasks/worker.js +2 -1
- package/out/tasks/worker.js.map +1 -1
- package/out/webresource-handler/handlers/NoopHandler.js +0 -1
- package/out/webresource-handler/handlers/NoopHandler.js.map +1 -1
- package/out/webresource-handler/index.d.ts +0 -42
- package/out/webresource-handler/index.js +2 -25
- package/out/webresource-handler/index.js.map +1 -1
- package/package.json +32 -32
- package/src/bin/utils.ts +5 -3
- package/src/config-loader/env.ts +0 -14
- package/src/database-layer/db.ts +6 -2
- package/src/express-emulator/express.js +4 -1
- package/src/migrator/async.ts +20 -21
- package/src/sbvr-api/abstract-sql.ts +30 -25
- package/src/sbvr-api/cached-compile.ts +2 -1
- package/src/sbvr-api/control-flow.ts +1 -1
- package/src/sbvr-api/errors.ts +1 -1
- package/src/sbvr-api/express-extension.ts +1 -1
- package/src/sbvr-api/hooks.ts +2 -2
- package/src/sbvr-api/sbvr-utils.ts +9 -58
- package/src/sbvr-api/translations.ts +5 -18
- package/src/sbvr-api/uri-parser.ts +11 -4
- package/src/server-glue/module.ts +1 -15
- package/src/tasks/index.ts +2 -2
- package/src/tasks/worker.ts +6 -2
- package/src/webresource-handler/handlers/NoopHandler.ts +3 -1
- package/src/webresource-handler/index.ts +1 -86
- package/out/data-server/sbvr-server.d.ts +0 -17
- package/out/data-server/sbvr-server.js +0 -350
- package/out/data-server/sbvr-server.js.map +0 -1
- package/out/http-transactions/transaction.sbvr +0 -59
- package/out/http-transactions/transactions.d.ts +0 -3
- package/out/http-transactions/transactions.js +0 -305
- package/out/http-transactions/transactions.js.map +0 -1
- package/out/webresource-handler/multipartUpload.d.ts +0 -12
- package/out/webresource-handler/multipartUpload.js +0 -251
- package/out/webresource-handler/multipartUpload.js.map +0 -1
- package/out/webresource-handler/webresource.d.ts +0 -42
- package/out/webresource-handler/webresource.js +0 -2
- package/out/webresource-handler/webresource.js.map +0 -1
- package/out/webresource-handler/webresource.sbvr +0 -60
- package/src/data-server/sbvr-server.ts +0 -412
- package/src/http-transactions/transaction.sbvr +0 -59
- package/src/http-transactions/transactions.js +0 -305
- package/src/webresource-handler/multipartUpload.ts +0 -368
- package/src/webresource-handler/webresource.sbvr +0 -60
- package/src/webresource-handler/webresource.ts +0 -48
@@ -1,12 +1,9 @@
|
|
1
1
|
import type Express from 'express';
|
2
2
|
import type stream from 'node:stream';
|
3
3
|
import * as uriParser from '../sbvr-api/uri-parser.js';
|
4
|
-
import type { ConfigLoader } from '../server-glue/module.js';
|
5
4
|
import type { WebResourceType as WebResource } from '@balena/sbvr-types';
|
6
5
|
import { TypedError } from 'typed-error';
|
7
|
-
import type WebresourceModel from './webresource.js';
|
8
6
|
export * from './handlers/index.js';
|
9
|
-
export type { BeginUploadResponse } from './multipartUpload.js';
|
10
7
|
export interface IncomingFile {
|
11
8
|
fieldname: string;
|
12
9
|
originalname: string;
|
@@ -18,43 +15,10 @@ export interface UploadResponse {
|
|
18
15
|
size: number;
|
19
16
|
filename: string;
|
20
17
|
}
|
21
|
-
export interface BeginMultipartUploadPayload {
|
22
|
-
filename: string;
|
23
|
-
content_type: string;
|
24
|
-
size: number;
|
25
|
-
chunk_size: number;
|
26
|
-
}
|
27
|
-
export interface UploadPart {
|
28
|
-
url: string;
|
29
|
-
chunkSize: number;
|
30
|
-
partNumber: number;
|
31
|
-
}
|
32
|
-
export interface BeginMultipartUploadHandlerResponse {
|
33
|
-
uploadParts: UploadPart[];
|
34
|
-
fileKey: string;
|
35
|
-
uploadId: string;
|
36
|
-
}
|
37
|
-
export interface CommitMultipartUploadPayload {
|
38
|
-
fileKey: string;
|
39
|
-
uploadId: string;
|
40
|
-
filename: string;
|
41
|
-
providerCommitData?: Record<string, any>;
|
42
|
-
}
|
43
|
-
export interface CancelMultipartUploadPayload {
|
44
|
-
fileKey: string;
|
45
|
-
uploadId: string;
|
46
|
-
}
|
47
18
|
export interface WebResourceHandler {
|
48
19
|
handleFile: (resource: IncomingFile) => Promise<UploadResponse>;
|
49
20
|
removeFile: (fileReference: string) => Promise<void>;
|
50
21
|
onPreRespond: (webResource: WebResource) => Promise<WebResource>;
|
51
|
-
multipartUpload?: {
|
52
|
-
begin: (fieldName: string, payload: BeginMultipartUploadPayload) => Promise<BeginMultipartUploadHandlerResponse>;
|
53
|
-
commit: (commitInfo: CommitMultipartUploadPayload) => Promise<WebResource>;
|
54
|
-
cancel: (cancelInfo: CancelMultipartUploadPayload) => Promise<void>;
|
55
|
-
getMinimumPartSize: () => number;
|
56
|
-
getDefaultPartSize: () => number;
|
57
|
-
};
|
58
22
|
}
|
59
23
|
export declare class WebResourceError extends TypedError {
|
60
24
|
}
|
@@ -69,9 +33,3 @@ export declare const getWebResourceFields: (request: uriParser.ParsedODataReques
|
|
69
33
|
export declare const normalizeHref: (href: string) => string;
|
70
34
|
export declare const getDefaultHandler: () => WebResourceHandler;
|
71
35
|
export declare const setupUploadHooks: (handler: WebResourceHandler, apiRoot: string, resourceName: string) => void;
|
72
|
-
declare module '../sbvr-api/sbvr-utils.js' {
|
73
|
-
interface API {
|
74
|
-
webresource: PinejsClient<WebresourceModel>;
|
75
|
-
}
|
76
|
-
}
|
77
|
-
export declare const config: ConfigLoader.Config;
|
@@ -7,8 +7,6 @@ import { NoopHandler } from './handlers/NoopHandler.js';
|
|
7
7
|
import { odataNameToSqlName, sqlNameToODataName, } from '@balena/odata-to-abstract-sql';
|
8
8
|
import { errors, permissions } from '../server-glue/module.js';
|
9
9
|
import { TypedError } from 'typed-error';
|
10
|
-
import { importSBVR } from '../server-glue/sbvr-loader.js';
|
11
|
-
import { isMultipartUploadAvailable, multipartUploadHooks, } from './multipartUpload.js';
|
12
10
|
export * from './handlers/index.js';
|
13
11
|
export class WebResourceError extends TypedError {
|
14
12
|
}
|
@@ -52,7 +50,7 @@ const getRequestUploadValidator = async (req, odataRequest) => {
|
|
52
50
|
if (!hasPermissions) {
|
53
51
|
return notValidUpload;
|
54
52
|
}
|
55
|
-
return
|
53
|
+
return (fieldname) => {
|
56
54
|
const dbFieldName = odataNameToSqlName(fieldname);
|
57
55
|
return table.fields.some((field) => field.fieldName === dbFieldName && field.dataType === 'WebResource');
|
58
56
|
};
|
@@ -176,10 +174,7 @@ const deleteFiles = async (keysToDelete, webResourceHandler) => {
|
|
176
174
|
await Promise.all(promises);
|
177
175
|
};
|
178
176
|
const throwIfWebresourceNotInMultipart = (webResourceFields, { req, request }) => {
|
179
|
-
if (
|
180
|
-
request.custom.isAction !== 'commitUpload' &&
|
181
|
-
request.custom.isAction !== 'cancelUpload' &&
|
182
|
-
!req.is?.('multipart') &&
|
177
|
+
if (!req.is?.('multipart') &&
|
183
178
|
webResourceFields.some((field) => request.values[field] != null)) {
|
184
179
|
throw new errors.BadRequestError('Use multipart requests to upload a file.');
|
185
180
|
}
|
@@ -285,23 +280,5 @@ export const setupUploadHooks = (handler, apiRoot, resourceName) => {
|
|
285
280
|
sbvrUtils.addPureHook('DELETE', apiRoot, resourceName, getRemoveWebResourceHooks(handler));
|
286
281
|
sbvrUtils.addPureHook('PATCH', apiRoot, resourceName, getRemoveWebResourceHooks(handler));
|
287
282
|
sbvrUtils.addPureHook('POST', apiRoot, resourceName, getCreateWebResourceHooks(handler));
|
288
|
-
if (isMultipartUploadAvailable(handler)) {
|
289
|
-
sbvrUtils.addPureHook('POST', apiRoot, resourceName, multipartUploadHooks(handler));
|
290
|
-
}
|
291
|
-
};
|
292
|
-
const initSql = `
|
293
|
-
CREATE INDEX IF NOT EXISTS idx_multipart_upload_uuid ON "multipart upload" (uuid);
|
294
|
-
CREATE INDEX IF NOT EXISTS idx_multipart_upload_status ON "multipart upload" (status);
|
295
|
-
`;
|
296
|
-
const modelText = await importSBVR('./webresource.sbvr', import.meta);
|
297
|
-
export const config = {
|
298
|
-
models: [
|
299
|
-
{
|
300
|
-
modelName: 'webresource',
|
301
|
-
apiRoot: 'webresource',
|
302
|
-
modelText,
|
303
|
-
initSql,
|
304
|
-
},
|
305
|
-
],
|
306
283
|
};
|
307
284
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
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;AAEvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EACN,0BAA0B,EAC1B,oBAAoB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,cAAc,qBAAqB,CAAC;AA+DpC,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,KAAK,EAAE,SAAiB,EAAE,EAAE;QAClC,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,WAAW,GAAG,KAAK,EACxB,YAAsB,EACtB,kBAAsC,EACrC,EAAE;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACxC,iBAA2B,EAC3B,EAAE,GAAG,EAAE,OAAO,EAAY,EACzB,EAAE;IACH,IACC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,aAAa;QACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc;QAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc;QAC1C,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,CACjC,kBAAsC,EACpB,EAAE;IACpB,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,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACpC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;gBACtB,KAAK,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACJ,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,CACjC,kBAAsC,EACpB,EAAE;IACpB,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,gCAAgC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAG1D,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;gBACtB,KAAK,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YAEH,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;YAED,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;gBAEnE,MAAM,YAAY,GAAG,8BAA8B,CAClD,iBAAiB,EACjB,OAAO,CACP,CAAC;gBAGF,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,MAAM,CAAC,eAAe,CAC/B,iEAAiE,CACjE,CAAC;YACH,CAAC;YAGD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAGtB,MAAM,YAAY,GAAG,8BAA8B,CAClD,iBAAiB,EACjB,OAAO,CACP,CAAC;gBACF,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAC9D,OAAO;YACR,CAAC;YAED,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;gBACnC,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,WAAW,EAAE;oBACZ,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,GAAG,EAAE,WAAW,CAAC,IAAI;iBACrB;gBACD,OAAO,EAAE;oBACR,OAAO,EAAE,iBAAiB;oBAC1B,OAAO,EAAE;wBACR,EAAE,EAAE;4BACH,GAAG,EAAE,GAAG;yBACR;qBACD;iBACD;aACD,CAAC,CAAgD,CAAC;YAGnD,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,kBAAkB,CACjB,oBAAoB,CAAC,YAAY,CAAC,EAClC,OAAO,EACP,kBAAkB,CAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,KAAK,EACxC,OAA+B,EAC/B,kBAAsC,EACrC,EAAE;IACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;IACR,CAAC;IAED,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAC1B,YAAsB,EACtB,OAA+B,EAC/B,kBAAsC,EAC/B,EAAE;IAET,IAAI,CAAC;QACJ,KAAK,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;AACF,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,CAC/B,OAA2B,EAC3B,OAAe,EACf,YAAoB,EACnB,EAAE;IACH,SAAS,CAAC,WAAW,CACpB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,yBAAyB,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,SAAS,CAAC,WAAW,CACpB,OAAO,EACP,OAAO,EACP,YAAY,EAEZ,yBAAyB,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,SAAS,CAAC,WAAW,CACpB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,yBAAyB,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,SAAS,CAAC,WAAW,CACpB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,oBAAoB,CAAC,OAAO,CAAC,CAC7B,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG;;;CAGf,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAQtE,MAAM,CAAC,MAAM,MAAM,GAAwB;IAC1C,MAAM,EAAE;QACP;YACC,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,aAAa;YACtB,SAAS;YACT,OAAO;SACP;KACD;CACD,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/pinejs",
|
3
|
-
"version": "
|
3
|
+
"version": "21.0.0-build-21-x-aded34a9c5c670522247399b3cc4dc7814430d5e-1",
|
4
4
|
"main": "out/server-glue/module.js",
|
5
5
|
"type": "module",
|
6
6
|
"repository": "git@github.com:balena-io/pinejs.git",
|
@@ -18,43 +18,43 @@
|
|
18
18
|
"webpack-module": "grunt --preload ts-node/register/transpile-only --gruntfile Gruntfile.cts module",
|
19
19
|
"webpack-server": "grunt --preload ts-node/register/transpile-only --gruntfile Gruntfile.cts server",
|
20
20
|
"webpack-build": "npm run webpack-browser && npm run webpack-module && npm run webpack-server",
|
21
|
-
"lint": "balena-lint -t tsconfig.dev.json -e js -e ts src build typings Gruntfile.cts && npx tsc --project tsconfig.dev.json --noEmit",
|
21
|
+
"lint": "balena-lint -t tsconfig.dev.json -e js -e ts src test build typings Gruntfile.cts && npx tsc --project tsconfig.dev.json --noEmit",
|
22
22
|
"test": "npm run build && npm run lint && npm run webpack-build && npm run test:compose && npm run test:generated-types",
|
23
|
-
"test:compose": "trap 'docker compose -f docker-compose.npm-test.yml down ; echo Stopped ; exit 0' INT; docker compose -f docker-compose.npm-test.yml up -d && sleep 2 && DATABASE_URL=postgres://docker:docker@localhost:5431/postgres PINEJS_WEBRESOURCE_MAXFILESIZE=1000000000 S3_ENDPOINT=http://localhost:43680 S3_ACCESS_KEY=USERNAME S3_SECRET_KEY=PASSWORD S3_STORAGE_ADAPTER_BUCKET=balena-pine-web-resources S3_REGION=us-east-1 PINEJS_QUEUE_CONCURRENCY=1 TZ=UTC
|
23
|
+
"test:compose": "trap 'docker compose -f docker-compose.npm-test.yml down ; echo Stopped ; exit 0' INT; docker compose -f docker-compose.npm-test.yml up -d && sleep 2 && DATABASE_URL=postgres://docker:docker@localhost:5431/postgres PINEJS_WEBRESOURCE_MAXFILESIZE=1000000000 S3_ENDPOINT=http://localhost:43680 S3_ACCESS_KEY=USERNAME S3_SECRET_KEY=PASSWORD S3_STORAGE_ADAPTER_BUCKET=balena-pine-web-resources S3_REGION=us-east-1 PINEJS_QUEUE_CONCURRENCY=1 TZ=UTC npx mocha",
|
24
24
|
"test:generated-types": "npm run generate-types && git diff --exit-code ./src/sbvr-api/user.ts ./src/migrator/migrations.ts ./src/sbvr-api/dev.ts",
|
25
25
|
"lint-fix": "balena-lint -t tsconfig.dev.json -e js -e ts --fix src test build typings Gruntfile.cts",
|
26
|
-
"generate-types": "node ./bin/sbvr-compiler.js generate-types ./src/sbvr-api/user.sbvr ./src/sbvr-api/user.ts && node ./bin/sbvr-compiler.js generate-types ./src/migrator/migrations.sbvr ./src/migrator/migrations.ts && node ./bin/sbvr-compiler.js generate-types ./src/sbvr-api/dev.sbvr ./src/sbvr-api/dev.ts && node ./bin/sbvr-compiler.js generate-types ./src/tasks/tasks.sbvr ./src/tasks/tasks.ts &&
|
26
|
+
"generate-types": "node ./bin/sbvr-compiler.js generate-types ./src/sbvr-api/user.sbvr ./src/sbvr-api/user.ts && node ./bin/sbvr-compiler.js generate-types ./src/migrator/migrations.sbvr ./src/migrator/migrations.ts && node ./bin/sbvr-compiler.js generate-types ./src/sbvr-api/dev.sbvr ./src/sbvr-api/dev.ts && node ./bin/sbvr-compiler.js generate-types ./src/tasks/tasks.sbvr ./src/tasks/tasks.ts && balena-lint -t tsconfig.dev.json --fix ./src/sbvr-api/user.ts ./src/migrator/migrations.ts ./src/sbvr-api/dev.ts"
|
27
27
|
},
|
28
28
|
"dependencies": {
|
29
|
-
"@balena/abstract-sql-compiler": "^10.2.
|
29
|
+
"@balena/abstract-sql-compiler": "^10.2.3",
|
30
30
|
"@balena/abstract-sql-to-typescript": "^5.1.0",
|
31
31
|
"@balena/env-parsing": "^1.2.0",
|
32
32
|
"@balena/lf-to-abstract-sql": "^5.0.3",
|
33
|
-
"@balena/odata-parser": "^4.1
|
34
|
-
"@balena/odata-to-abstract-sql": "^7.1.
|
33
|
+
"@balena/odata-parser": "^4.2.1",
|
34
|
+
"@balena/odata-to-abstract-sql": "^7.1.3",
|
35
35
|
"@balena/sbvr-parser": "^1.4.6",
|
36
|
-
"@balena/sbvr-types": "^9.
|
36
|
+
"@balena/sbvr-types": "^9.2.0",
|
37
37
|
"@types/body-parser": "^1.19.5",
|
38
38
|
"@types/compression": "^1.7.5",
|
39
39
|
"@types/cookie-parser": "^1.4.8",
|
40
40
|
"@types/deep-freeze": "^0.1.5",
|
41
41
|
"@types/express": "^4.17.21",
|
42
42
|
"@types/express-session": "^1.18.1",
|
43
|
-
"@types/lodash": "^4.17.
|
43
|
+
"@types/lodash": "^4.17.16",
|
44
44
|
"@types/memoizee": "^0.4.11",
|
45
45
|
"@types/method-override": "^3.0.0",
|
46
46
|
"@types/multer": "^1.4.12",
|
47
47
|
"@types/mysql": "^2.15.26",
|
48
|
-
"@types/node": "^20.17.
|
48
|
+
"@types/node": "^20.17.25",
|
49
49
|
"@types/passport": "^1.0.17",
|
50
50
|
"@types/passport-local": "^1.0.38",
|
51
51
|
"@types/passport-strategy": "^0.2.38",
|
52
|
-
"@types/pg": "^8.11.
|
52
|
+
"@types/pg": "^8.11.11",
|
53
53
|
"@types/randomstring": "^1.3.0",
|
54
54
|
"@types/websql": "^0.0.30",
|
55
55
|
"ajv": "^8.17.1",
|
56
56
|
"busboy": "^1.6.0",
|
57
|
-
"commander": "^13.
|
57
|
+
"commander": "^13.1.0",
|
58
58
|
"cron-parser": "^4.9.0",
|
59
59
|
"deep-freeze": "^0.0.1",
|
60
60
|
"eventemitter3": "^5.0.1",
|
@@ -63,24 +63,24 @@
|
|
63
63
|
"lodash": "^4.17.21",
|
64
64
|
"memoizee": "^0.4.17",
|
65
65
|
"pinejs-client-core": "^8.1.2",
|
66
|
-
"randomstring": "^1.3.
|
66
|
+
"randomstring": "^1.3.1",
|
67
67
|
"typed-error": "^3.2.2"
|
68
68
|
},
|
69
69
|
"devDependencies": {
|
70
|
-
"@balena/lint": "^
|
70
|
+
"@balena/lint": "^9.1.4",
|
71
71
|
"@balena/pinejs": "file:./",
|
72
|
-
"@balena/pinejs-webresource-s3": "
|
73
|
-
"@faker-js/faker": "^9.
|
72
|
+
"@balena/pinejs-webresource-s3": "1.0.4-build-pinejs-21-2aa44949589b4b02ac7dac07ac36ac1aec9aeb32-1",
|
73
|
+
"@faker-js/faker": "^9.6.0",
|
74
74
|
"@types/busboy": "^1.5.4",
|
75
|
-
"@types/chai": "^5.0
|
76
|
-
"@types/grunt": "^0.4.
|
75
|
+
"@types/chai": "^5.2.0",
|
76
|
+
"@types/grunt": "^0.4.32",
|
77
77
|
"@types/mocha": "^10.0.10",
|
78
78
|
"@types/on-finished": "^2.3.4",
|
79
79
|
"@types/request": "^2.48.12",
|
80
80
|
"@types/supertest": "^6.0.2",
|
81
81
|
"@types/terser-webpack-plugin": "^5.2.0",
|
82
82
|
"@types/webpack": "^5.28.5",
|
83
|
-
"chai": "^5.
|
83
|
+
"chai": "^5.2.0",
|
84
84
|
"grunt": "^1.6.1",
|
85
85
|
"grunt-check-dependencies": "^1.0.0",
|
86
86
|
"grunt-cli": "^1.5.0",
|
@@ -93,36 +93,36 @@
|
|
93
93
|
"grunt-ts": "^6.0.0-beta.22",
|
94
94
|
"grunt-webpack": "^7.0.0",
|
95
95
|
"husky": "^9.1.7",
|
96
|
-
"lint-staged": "^15.
|
96
|
+
"lint-staged": "^15.5.0",
|
97
97
|
"load-grunt-tasks": "^5.1.0",
|
98
|
-
"mocha": "^11.0
|
98
|
+
"mocha": "^11.2.0",
|
99
99
|
"on-finished": "^2.4.1",
|
100
100
|
"pinejs-client-supertest": "^3.0.1",
|
101
101
|
"raw-loader": "^4.0.2",
|
102
102
|
"request": "^2.88.2",
|
103
103
|
"require-npm4-to-publish": "^1.0.0",
|
104
|
-
"supertest": "^7.
|
105
|
-
"terser-webpack-plugin": "^5.3.
|
106
|
-
"ts-loader": "^9.5.
|
104
|
+
"supertest": "^7.1.0",
|
105
|
+
"terser-webpack-plugin": "^5.3.14",
|
106
|
+
"ts-loader": "^9.5.2",
|
107
107
|
"ts-node": "^10.9.2",
|
108
|
-
"typescript": "^5.
|
109
|
-
"webpack": "^5.
|
108
|
+
"typescript": "^5.8.2",
|
109
|
+
"webpack": "^5.98.0",
|
110
110
|
"webpack-dev-server": "^5.2.0"
|
111
111
|
},
|
112
112
|
"optionalDependencies": {
|
113
|
-
"@aws-sdk/client-s3": "^3.
|
114
|
-
"@aws-sdk/lib-storage": "^3.
|
115
|
-
"@aws-sdk/s3-request-presigner": "^3.
|
113
|
+
"@aws-sdk/client-s3": "^3.772.0",
|
114
|
+
"@aws-sdk/lib-storage": "^3.772.0",
|
115
|
+
"@aws-sdk/s3-request-presigner": "^3.772.0",
|
116
116
|
"bcrypt": "^5.1.1",
|
117
117
|
"body-parser": "^1.20.3",
|
118
|
-
"compression": "^1.
|
118
|
+
"compression": "^1.8.0",
|
119
119
|
"cookie-parser": "^1.4.7",
|
120
120
|
"express": "^4.21.2",
|
121
121
|
"method-override": "^3.0.0",
|
122
122
|
"mysql": "^2.18.1",
|
123
123
|
"passport": "^0.7.0",
|
124
124
|
"passport-local": "^1.0.0",
|
125
|
-
"pg": "^8.
|
125
|
+
"pg": "^8.14.1",
|
126
126
|
"pg-connection-string": "^2.7.0",
|
127
127
|
"serve-static": "^1.16.2"
|
128
128
|
},
|
@@ -148,6 +148,6 @@
|
|
148
148
|
"recursive": true
|
149
149
|
},
|
150
150
|
"versionist": {
|
151
|
-
"publishedAt": "2025-
|
151
|
+
"publishedAt": "2025-03-21T17:22:58.877Z"
|
152
152
|
}
|
153
153
|
}
|
package/src/bin/utils.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
process.env.PINEJS_CACHE_FILE =
|
2
|
-
|
3
|
-
fileURLToPath(new URL('.pinejs-cache.json', import.meta.url))
|
1
|
+
process.env.PINEJS_CACHE_FILE = optionalVar(
|
2
|
+
'PINEJS_CACHE_FILE',
|
3
|
+
fileURLToPath(new URL('.pinejs-cache.json', import.meta.url)),
|
4
|
+
);
|
4
5
|
|
5
6
|
import type { SqlModel } from '@balena/abstract-sql-compiler';
|
6
7
|
import type { Config, Model } from '../config-loader/config-loader.js';
|
@@ -11,6 +12,7 @@ import path from 'path';
|
|
11
12
|
import '../server-glue/sbvr-loader.js';
|
12
13
|
import { fileURLToPath } from 'url';
|
13
14
|
import { loadSBVR } from '../server-glue/sbvr-loader.js';
|
15
|
+
import { optionalVar } from '@balena/env-parsing';
|
14
16
|
|
15
17
|
export { version } from '../config-loader/env.js';
|
16
18
|
|
package/src/config-loader/env.ts
CHANGED
@@ -46,9 +46,6 @@ export const cache = {
|
|
46
46
|
odataToAbstractSql: {
|
47
47
|
max: 10000,
|
48
48
|
} as CacheOpts,
|
49
|
-
abstractSqlCompiler: {
|
50
|
-
max: 10000,
|
51
|
-
} as CacheOpts,
|
52
49
|
userPermissions: false as CacheOpts,
|
53
50
|
apiKeyPermissions: false as CacheOpts,
|
54
51
|
apiKeyActorId: false as CacheOpts,
|
@@ -157,17 +154,6 @@ export const tasks = {
|
|
157
154
|
queueIntervalMS: intVar('PINEJS_QUEUE_INTERVAL_MS', 1000),
|
158
155
|
};
|
159
156
|
|
160
|
-
export const webResource = {
|
161
|
-
multipartUploadEnabled: boolVar(
|
162
|
-
'PINEJS_WEBRESOURCE_MULTIPART_ENABLED',
|
163
|
-
false,
|
164
|
-
),
|
165
|
-
singleUploadMaxFilesize: intVar(
|
166
|
-
'PINEJS_WEBRESOURCE_MAXFILESIZE',
|
167
|
-
299 * 1024 * 1024,
|
168
|
-
),
|
169
|
-
};
|
170
|
-
|
171
157
|
export const guardTestMockOnly = () => {
|
172
158
|
if (process.env.DEPLOYMENT !== 'TEST') {
|
173
159
|
throw new Error('Attempting to use TEST_MOCK_ONLY outside of tests');
|
package/src/database-layer/db.ts
CHANGED
@@ -188,6 +188,7 @@ const getRejectedFunctions: RejectedFunctions = env.DEBUG
|
|
188
188
|
// In debug mode we create the error here to give the stack trace of where we first closed the transaction,
|
189
189
|
// but it adds significant overhead for a production environment
|
190
190
|
const rejectionValue = new TransactionClosedError(message);
|
191
|
+
// eslint-disable-next-line @typescript-eslint/require-await -- We need to return a promise for compatibility reasons.
|
191
192
|
const rejectFn = async () => {
|
192
193
|
// We return a new rejected promise on each call so that errors are automatically logged if the
|
193
194
|
// rejection is not handled (but only if it is not handled)
|
@@ -199,6 +200,7 @@ const getRejectedFunctions: RejectedFunctions = env.DEBUG
|
|
199
200
|
};
|
200
201
|
}
|
201
202
|
: (message) => {
|
203
|
+
// eslint-disable-next-line @typescript-eslint/require-await -- We need to return a promise for compatibility reasons.
|
202
204
|
const rejectFn = async () => {
|
203
205
|
throw new TransactionClosedError(message);
|
204
206
|
};
|
@@ -418,8 +420,9 @@ export abstract class Tx {
|
|
418
420
|
protected abstract _rollback(): Promise<void>;
|
419
421
|
protected abstract _commit(): Promise<void>;
|
420
422
|
|
421
|
-
//
|
423
|
+
// eslint-disable-next-line @typescript-eslint/require-await -- We need to return a promise for compatibility reasons.
|
422
424
|
public async getTxLevelLock(
|
425
|
+
// TODO: Re-enable the lint rule once eslint properly supports abstract class base implementations
|
423
426
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
424
427
|
_namespaceKey: string,
|
425
428
|
_key: number,
|
@@ -939,6 +942,7 @@ if (typeof window !== 'undefined' && window.openDatabase != null) {
|
|
939
942
|
await this.tx.rollback();
|
940
943
|
}
|
941
944
|
|
945
|
+
// eslint-disable-next-line @typescript-eslint/require-await -- We need to return a promise for compatibility reasons.
|
942
946
|
protected async _commit() {
|
943
947
|
this.tx.commit();
|
944
948
|
}
|
@@ -988,7 +992,7 @@ if (typeof window !== 'undefined' && window.openDatabase != null) {
|
|
988
992
|
resolve(results);
|
989
993
|
};
|
990
994
|
const errorCallback: SQLStatementErrorCallback = (_tx, err) => {
|
991
|
-
reject(err);
|
995
|
+
reject(err as any as Error);
|
992
996
|
return false;
|
993
997
|
};
|
994
998
|
|
@@ -60,7 +60,7 @@ const app = (function () {
|
|
60
60
|
) {
|
61
61
|
if (!handlers[method]) {
|
62
62
|
// TODO: Consider changing this to a custom Error
|
63
|
-
// eslint-disable-next-line no-throw-literal
|
63
|
+
// eslint-disable-next-line no-throw-literal, @typescript-eslint/only-throw-error
|
64
64
|
throw [404, null, null];
|
65
65
|
}
|
66
66
|
const req = {
|
@@ -102,6 +102,7 @@ const app = (function () {
|
|
102
102
|
},
|
103
103
|
end(/** @type any */ data) {
|
104
104
|
if (this.statusCode >= 400) {
|
105
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
105
106
|
reject([this.statusCode, data, null]);
|
106
107
|
} else {
|
107
108
|
resolve([this.statusCode, data, null]);
|
@@ -111,12 +112,14 @@ const app = (function () {
|
|
111
112
|
/** @type undefined | number */ statusCode = this.statusCode,
|
112
113
|
) {
|
113
114
|
if (statusCode >= 400) {
|
115
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
114
116
|
reject([statusCode, null, null]);
|
115
117
|
} else {
|
116
118
|
resolve([statusCode, null, null]);
|
117
119
|
}
|
118
120
|
},
|
119
121
|
redirect() {
|
122
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
120
123
|
reject([307]);
|
121
124
|
},
|
122
125
|
set() {
|
package/src/migrator/async.ts
CHANGED
@@ -28,7 +28,7 @@ import {
|
|
28
28
|
import { booleanToEnabledString } from '../config-loader/env.js';
|
29
29
|
|
30
30
|
export const run = async (tx: Tx, model: ApiRootModel): Promise<void> => {
|
31
|
-
const { migrations } = model;
|
31
|
+
const { migrations, apiRoot: apiRootModelName } = model;
|
32
32
|
if (migrations == null || _.isEmpty(migrations)) {
|
33
33
|
return;
|
34
34
|
}
|
@@ -38,25 +38,8 @@ export const run = async (tx: Tx, model: ApiRootModel): Promise<void> => {
|
|
38
38
|
return;
|
39
39
|
}
|
40
40
|
|
41
|
-
await $run(tx, model, asyncMigrations);
|
42
|
-
};
|
43
|
-
|
44
|
-
const $run = async (
|
45
|
-
setupTx: Tx,
|
46
|
-
model: ApiRootModel,
|
47
|
-
migrations: RunnableAsyncMigrations,
|
48
|
-
): Promise<void> => {
|
49
|
-
const modelName = model.apiRoot;
|
50
|
-
|
51
|
-
const asyncMigrationSetup: Array<{
|
52
|
-
key: string;
|
53
|
-
initMigrationState: InitialMigrationStatus;
|
54
|
-
asyncRunnerMigratorFn: (tx: Tx) => Promise<number>;
|
55
|
-
}> = [];
|
56
|
-
|
57
41
|
// get a transaction for setting up the async migrator
|
58
|
-
|
59
|
-
const executedMigrations = await getExecutedMigrations(setupTx, modelName);
|
42
|
+
const executedMigrations = await getExecutedMigrations(tx, apiRootModelName);
|
60
43
|
|
61
44
|
// if the model is new, the sync migration parts (marked by finalize=true) are already marked in the sync migration runner.
|
62
45
|
|
@@ -100,10 +83,26 @@ const $run = async (
|
|
100
83
|
*/
|
101
84
|
|
102
85
|
const pendingMigrations: MigrationTuple[] = filterAndSortPendingMigrations(
|
103
|
-
|
86
|
+
asyncMigrations,
|
104
87
|
executedMigrations,
|
105
88
|
);
|
106
89
|
|
90
|
+
// Pass the minimum and simplest parameters to the async migrator runner,
|
91
|
+
// so that everything else (eg: finalized migrations) can be GCed,
|
92
|
+
await $run(tx, apiRootModelName, pendingMigrations);
|
93
|
+
};
|
94
|
+
|
95
|
+
const $run = async (
|
96
|
+
setupTx: Tx,
|
97
|
+
apiRootModelName: string,
|
98
|
+
pendingMigrations: MigrationTuple[],
|
99
|
+
): Promise<void> => {
|
100
|
+
const asyncMigrationSetup: Array<{
|
101
|
+
key: string;
|
102
|
+
initMigrationState: InitialMigrationStatus;
|
103
|
+
asyncRunnerMigratorFn: (tx: Tx) => Promise<number>;
|
104
|
+
}> = [];
|
105
|
+
|
107
106
|
// Just schedule the migration workers and don't wait for any return of them
|
108
107
|
// the migration workers run until the next deployment and may synchronise with other
|
109
108
|
// instances via database tables: migration lock and migration status
|
@@ -203,7 +202,7 @@ const $run = async (
|
|
203
202
|
const $migrationState = await sbvrUtils.db.transaction(
|
204
203
|
async (tx) =>
|
205
204
|
await lockMigrations(
|
206
|
-
{ tx, modelName, blocking: false },
|
205
|
+
{ tx, modelName: apiRootModelName, blocking: false },
|
207
206
|
async () => {
|
208
207
|
const migrationState = await readMigrationStatus(tx, key);
|
209
208
|
|
@@ -9,33 +9,37 @@ import {
|
|
9
9
|
isBindReference,
|
10
10
|
} from '@balena/odata-to-abstract-sql';
|
11
11
|
import deepFreeze from 'deep-freeze';
|
12
|
-
import memoize from 'memoizee';
|
13
|
-
import * as env from '../config-loader/env.js';
|
14
12
|
import { BadRequestError, SqlCompilationError } from './errors.js';
|
15
13
|
import * as sbvrUtils from './sbvr-utils.js';
|
16
|
-
import type { ODataRequest } from './uri-parser.js';
|
14
|
+
import type { CachedSqlQuery, ODataRequest } from './uri-parser.js';
|
17
15
|
|
18
|
-
const
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
);
|
16
|
+
const compileQuery = (
|
17
|
+
engine: AbstractSQLCompiler.Engines,
|
18
|
+
abstractSqlQuery: NonNullable<ODataRequest['abstractSqlQuery']>,
|
19
|
+
) => {
|
20
|
+
if (!('sqlQuery' in abstractSqlQuery)) {
|
21
|
+
const sqlQuery = AbstractSQLCompiler[engine].compileRule(abstractSqlQuery);
|
22
|
+
const modifiedFields =
|
23
|
+
AbstractSQLCompiler[engine].getModifiedFields(abstractSqlQuery);
|
24
|
+
if (modifiedFields != null) {
|
25
|
+
deepFreeze(modifiedFields);
|
26
|
+
}
|
27
|
+
abstractSqlQuery = abstractSqlQuery as any as CachedSqlQuery;
|
28
|
+
abstractSqlQuery.length = 0;
|
29
|
+
abstractSqlQuery.engine = engine;
|
30
|
+
abstractSqlQuery.sqlQuery = sqlQuery;
|
31
|
+
abstractSqlQuery.modifiedFields = modifiedFields;
|
32
|
+
}
|
33
|
+
if (engine !== abstractSqlQuery.engine) {
|
34
|
+
throw new Error(
|
35
|
+
'Trying to recompile a cached abstract sql query with a different engine than it was compiled with is not supported',
|
36
|
+
);
|
37
|
+
}
|
38
|
+
return {
|
39
|
+
sqlQuery: abstractSqlQuery.sqlQuery,
|
40
|
+
modifiedFields: abstractSqlQuery.modifiedFields,
|
41
|
+
};
|
42
|
+
};
|
39
43
|
|
40
44
|
export const compileRequest = (request: ODataRequest) => {
|
41
45
|
if (request.abstractSqlQuery != null) {
|
@@ -44,7 +48,8 @@ export const compileRequest = (request: ODataRequest) => {
|
|
44
48
|
throw new SqlCompilationError('No database engine specified');
|
45
49
|
}
|
46
50
|
try {
|
47
|
-
const { sqlQuery, modifiedFields } =
|
51
|
+
const { sqlQuery, modifiedFields } = compileQuery(
|
52
|
+
engine,
|
48
53
|
request.abstractSqlQuery,
|
49
54
|
);
|
50
55
|
request.sqlQuery = sqlQuery;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import type Fs from 'fs';
|
2
2
|
|
3
|
+
import { optionalVar } from '@balena/env-parsing';
|
3
4
|
import _ from 'lodash';
|
4
5
|
|
5
|
-
const cacheFile =
|
6
|
+
const cacheFile = optionalVar('PINEJS_CACHE_FILE', '.pinejs-cache.json');
|
6
7
|
let cache: null | {
|
7
8
|
[name: string]: {
|
8
9
|
[version: string]: {
|
package/src/sbvr-api/errors.ts
CHANGED
@@ -5,7 +5,7 @@ declare global {
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/no-namespace
|
6
6
|
namespace Express {
|
7
7
|
// Augment Express.User to include the props of our PineUser.
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-empty-object-type
|
9
9
|
interface User extends PineUser {}
|
10
10
|
|
11
11
|
interface Request {
|