@balena/pinejs 16.0.0-build--batch-f2ffc3d6bcb9f3294fd4fc9de3c21bfe167e100d-1 → 16.0.0-build-fisehara-update-sbvr-types-b58e72aca3193964afac96c955fde178fe39d077-1
Sign up to get free protection for your applications and to get access to all the features.
- package/.pinejs-cache.json +1 -1
- package/.versionbot/CHANGELOG.yml +2168 -11
- package/CHANGELOG.md +815 -2
- package/Gruntfile.ts +9 -6
- package/README.md +10 -0
- package/build/browser.ts +2 -2
- package/build/config.ts +1 -1
- package/build/module.ts +2 -2
- package/build/server.ts +2 -2
- package/docker-compose.npm-test.yml +21 -3
- package/out/bin/abstract-sql-compiler.js +5 -5
- package/out/bin/abstract-sql-compiler.js.map +1 -1
- package/out/bin/odata-compiler.js +10 -10
- package/out/bin/odata-compiler.js.map +1 -1
- package/out/bin/sbvr-compiler.js +34 -11
- package/out/bin/sbvr-compiler.js.map +1 -1
- package/out/bin/utils.js +25 -2
- package/out/bin/utils.js.map +1 -1
- package/out/config-loader/config-loader.d.ts +4 -2
- package/out/config-loader/config-loader.js +54 -13
- package/out/config-loader/config-loader.js.map +1 -1
- package/out/config-loader/env.d.ts +2 -1
- package/out/config-loader/env.js +5 -2
- package/out/config-loader/env.js.map +1 -1
- package/out/data-server/sbvr-server.d.ts +1 -1
- package/out/data-server/sbvr-server.js +3 -1
- package/out/data-server/sbvr-server.js.map +1 -1
- package/out/database-layer/db.js +40 -14
- package/out/database-layer/db.js.map +1 -1
- package/out/express-emulator/express.js +5 -3
- package/out/express-emulator/express.js.map +1 -1
- package/out/http-transactions/transactions.d.ts +1 -1
- package/out/http-transactions/transactions.js +10 -5
- package/out/http-transactions/transactions.js.map +1 -1
- package/out/migrator/async.js +32 -5
- package/out/migrator/async.js.map +1 -1
- package/out/migrator/sync.d.ts +2 -1
- package/out/migrator/sync.js +29 -3
- package/out/migrator/sync.js.map +1 -1
- package/out/migrator/utils.d.ts +6 -3
- package/out/migrator/utils.js +30 -4
- package/out/migrator/utils.js.map +1 -1
- package/out/odata-metadata/odata-metadata-generator.js +4 -1
- package/out/odata-metadata/odata-metadata-generator.js.map +1 -1
- package/out/passport-pinejs/mount-login-router.d.ts +3 -0
- package/out/passport-pinejs/mount-login-router.js +65 -0
- package/out/passport-pinejs/mount-login-router.js.map +1 -0
- package/out/passport-pinejs/passport-pinejs.d.ts +2 -1
- package/out/passport-pinejs/passport-pinejs.js +28 -2
- package/out/passport-pinejs/passport-pinejs.js.map +1 -1
- package/out/pinejs-session-store/pinejs-session-store.js +30 -7
- package/out/pinejs-session-store/pinejs-session-store.js.map +1 -1
- package/out/sbvr-api/abstract-sql.d.ts +2 -2
- package/out/sbvr-api/abstract-sql.js +35 -9
- package/out/sbvr-api/abstract-sql.js.map +1 -1
- package/out/sbvr-api/cached-compile.js +9 -6
- package/out/sbvr-api/cached-compile.js.map +1 -1
- package/out/sbvr-api/common-types.d.ts +1 -1
- package/out/sbvr-api/control-flow.js +5 -2
- package/out/sbvr-api/control-flow.js.map +1 -1
- package/out/sbvr-api/express-extension.d.ts +10 -7
- package/out/sbvr-api/express-extension.js +1 -0
- package/out/sbvr-api/hooks.d.ts +5 -1
- package/out/sbvr-api/hooks.js +12 -10
- package/out/sbvr-api/hooks.js.map +1 -1
- package/out/sbvr-api/odata-response.d.ts +5 -2
- package/out/sbvr-api/odata-response.js +36 -6
- package/out/sbvr-api/odata-response.js.map +1 -1
- package/out/sbvr-api/permissions.d.ts +6 -7
- package/out/sbvr-api/permissions.js +69 -38
- package/out/sbvr-api/permissions.js.map +1 -1
- package/out/sbvr-api/sbvr-utils.d.ts +20 -9
- package/out/sbvr-api/sbvr-utils.js +134 -136
- package/out/sbvr-api/sbvr-utils.js.map +1 -1
- package/out/sbvr-api/translations.d.ts +2 -2
- package/out/sbvr-api/translations.js +17 -10
- package/out/sbvr-api/translations.js.map +1 -1
- package/out/sbvr-api/uri-parser.d.ts +7 -10
- package/out/sbvr-api/uri-parser.js +46 -19
- package/out/sbvr-api/uri-parser.js.map +1 -1
- package/out/server-glue/global-ext.d.ts +2 -1
- package/out/server-glue/module.d.ts +3 -1
- package/out/server-glue/module.js +40 -13
- package/out/server-glue/module.js.map +1 -1
- package/out/server-glue/sbvr-loader.js.map +1 -1
- package/out/server-glue/server.js +31 -39
- package/out/server-glue/server.js.map +1 -1
- package/out/webresource-handler/handlers/NoopHandler.d.ts +7 -0
- package/out/webresource-handler/handlers/NoopHandler.js +20 -0
- package/out/webresource-handler/handlers/NoopHandler.js.map +1 -0
- package/out/webresource-handler/handlers/S3Handler.d.ts +28 -0
- package/out/webresource-handler/handlers/S3Handler.js +97 -0
- package/out/webresource-handler/handlers/S3Handler.js.map +1 -0
- package/out/webresource-handler/handlers/index.d.ts +2 -0
- package/out/webresource-handler/handlers/index.js +19 -0
- package/out/webresource-handler/handlers/index.js.map +1 -0
- package/out/webresource-handler/index.d.ts +34 -0
- package/out/webresource-handler/index.js +307 -0
- package/out/webresource-handler/index.js.map +1 -0
- package/package.json +68 -62
- package/src/bin/abstract-sql-compiler.ts +7 -9
- package/src/bin/odata-compiler.ts +12 -15
- package/src/bin/sbvr-compiler.ts +14 -18
- package/src/bin/utils.ts +1 -1
- package/src/config-loader/config-loader.ts +44 -10
- package/src/config-loader/env.ts +1 -1
- package/src/data-server/sbvr-server.js +3 -1
- package/src/database-layer/db.ts +23 -19
- package/src/express-emulator/express.js +5 -3
- package/src/extended-sbvr-parser/extended-sbvr-parser.ts +1 -1
- package/src/http-transactions/transactions.js +10 -5
- package/src/migrator/async.ts +7 -6
- package/src/migrator/sync.ts +10 -7
- package/src/migrator/utils.ts +11 -5
- package/src/odata-metadata/odata-metadata-generator.ts +2 -2
- package/src/passport-pinejs/mount-login-router.ts +46 -0
- package/src/passport-pinejs/passport-pinejs.ts +7 -3
- package/src/pinejs-session-store/pinejs-session-store.ts +6 -6
- package/src/sbvr-api/abstract-sql.ts +5 -5
- package/src/sbvr-api/cached-compile.ts +1 -2
- package/src/sbvr-api/common-types.ts +1 -1
- package/src/sbvr-api/control-flow.ts +1 -1
- package/src/sbvr-api/express-extension.ts +12 -8
- package/src/sbvr-api/hooks.ts +11 -11
- package/src/sbvr-api/odata-response.ts +56 -9
- package/src/sbvr-api/permissions.ts +44 -35
- package/src/sbvr-api/sbvr-utils.ts +118 -172
- package/src/sbvr-api/translations.ts +9 -6
- package/src/sbvr-api/uri-parser.ts +22 -28
- package/src/server-glue/global-ext.d.ts +2 -1
- package/src/server-glue/module.ts +8 -2
- package/src/server-glue/sbvr-loader.ts +1 -1
- package/src/server-glue/server.ts +11 -49
- package/src/webresource-handler/handlers/NoopHandler.ts +21 -0
- package/src/webresource-handler/handlers/S3Handler.ts +143 -0
- package/src/webresource-handler/handlers/index.ts +2 -0
- package/src/webresource-handler/index.ts +450 -0
- package/tsconfig.dev.json +2 -1
- package/tsconfig.json +1 -1
- package/typings/lf-to-abstract-sql.d.ts +1 -1
- package/typings/memoizee.d.ts +3 -4
package/Gruntfile.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import type * as Grunt from 'grunt';
|
2
2
|
import type { WebpackPluginInstance } from 'webpack';
|
3
3
|
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import
|
4
|
+
import _ from 'lodash';
|
5
|
+
import TerserPlugin from 'terser-webpack-plugin';
|
6
|
+
import browserConfig from './build/browser';
|
7
|
+
import moduleConfig from './build/module';
|
8
|
+
import serverConfig from './build/server';
|
9
9
|
|
10
10
|
const serverConfigs = {
|
11
11
|
browser: browserConfig,
|
@@ -57,7 +57,9 @@ export = (grunt: typeof Grunt) => {
|
|
57
57
|
|
58
58
|
concat: _.mapValues(serverConfigs, (config, task) => {
|
59
59
|
const defines = (
|
60
|
-
config.plugins as Array<
|
60
|
+
config.plugins as Array<
|
61
|
+
WebpackPluginInstance & { definitions?: object }
|
62
|
+
>
|
61
63
|
).find((plugin) => plugin.definitions != null)!.definitions;
|
62
64
|
return {
|
63
65
|
options: {
|
@@ -147,6 +149,7 @@ export = (grunt: typeof Grunt) => {
|
|
147
149
|
},
|
148
150
|
});
|
149
151
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
150
153
|
require('load-grunt-tasks')(grunt);
|
151
154
|
|
152
155
|
if (!grunt.option('target')) {
|
package/README.md
CHANGED
@@ -59,3 +59,13 @@ One can experiment with Pine.js, its main dependencies and the above tools insid
|
|
59
59
|
|
60
60
|
### Where to go from here:
|
61
61
|
Start by creating your very first application with Pine.js. Jump to the [Getting Started guide](https://github.com/balena-io/pinejs/blob/master/docs/GettingStarted.md).
|
62
|
+
|
63
|
+
## Storing files and other large objects
|
64
|
+
|
65
|
+
An application can choose between two types to save file content or another large object: `File` or `WebResource`. When using a `File`, PineJS saves the content in the database using a binary data type like `BYTEA` or `BLOB`. When using a `WebResource`, PineJS saves the binary content on an external storage service and then writes metadata, including the content public URL, to the database. Client apps use the `WebResource` `href` to get the content.
|
66
|
+
|
67
|
+
Please note that `WebResource` is still a work in progress and as such has a few limitations. Such as (but not exclusively):
|
68
|
+
|
69
|
+
- Filtering for specific filenames or size
|
70
|
+
- Deletion of a file may fail and will require to manually delete the file from its storage
|
71
|
+
|
package/build/browser.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as webpack from 'webpack';
|
2
|
-
import sharedConfig
|
2
|
+
import sharedConfig from './config';
|
3
3
|
const config = { ...sharedConfig };
|
4
4
|
|
5
5
|
const root = config.entry;
|
@@ -23,4 +23,4 @@ config.plugins = config.plugins.concat(
|
|
23
23
|
}),
|
24
24
|
);
|
25
25
|
|
26
|
-
export
|
26
|
+
export default config;
|
package/build/config.ts
CHANGED
package/build/module.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as webpack from 'webpack';
|
2
|
-
import sharedConfig
|
2
|
+
import sharedConfig from './config';
|
3
3
|
const config = { ...sharedConfig };
|
4
4
|
|
5
5
|
config.entry += '/src/server-glue/module';
|
@@ -17,4 +17,4 @@ config.plugins = config.plugins.concat(
|
|
17
17
|
}),
|
18
18
|
);
|
19
19
|
|
20
|
-
export
|
20
|
+
export default config;
|
package/build/server.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as webpack from 'webpack';
|
2
|
-
import sharedConfig
|
2
|
+
import sharedConfig from './config';
|
3
3
|
const config = { ...sharedConfig };
|
4
4
|
|
5
5
|
config.entry += '/src/server-glue/server';
|
@@ -12,4 +12,4 @@ config.plugins = config.plugins.concat(
|
|
12
12
|
}),
|
13
13
|
);
|
14
14
|
|
15
|
-
export
|
15
|
+
export default config;
|
@@ -1,11 +1,29 @@
|
|
1
1
|
version: "2.1"
|
2
2
|
services:
|
3
3
|
postgres:
|
4
|
-
image: postgres:
|
5
|
-
restart: always
|
4
|
+
image: postgres:16-alpine
|
6
5
|
environment:
|
7
6
|
POSTGRES_USER: docker
|
8
7
|
POSTGRES_PASSWORD: docker
|
9
8
|
POSTGRES_DB: postgres
|
10
9
|
ports:
|
11
|
-
- "5431:5432"
|
10
|
+
- "5431:5432"
|
11
|
+
minio-server:
|
12
|
+
image: minio/minio
|
13
|
+
environment:
|
14
|
+
MINIO_ROOT_USER: USERNAME
|
15
|
+
MINIO_ROOT_PASSWORD: PASSWORD
|
16
|
+
command: server /data --console-address ":9001"
|
17
|
+
ports:
|
18
|
+
- "43680:9000"
|
19
|
+
- "43697:9001"
|
20
|
+
minio-client:
|
21
|
+
image: minio/mc
|
22
|
+
depends_on:
|
23
|
+
- minio-server
|
24
|
+
entrypoint: >
|
25
|
+
/bin/sh -c "
|
26
|
+
/usr/bin/mc config host add minio-server http://minio-server:9000 USERNAME PASSWORD;
|
27
|
+
/usr/bin/mc mb --ignore-existing minio-server/balena-pine-web-resources;
|
28
|
+
exit 0;
|
29
|
+
"
|
@@ -2,14 +2,14 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const utils_1 = require("./utils");
|
4
4
|
const commander_1 = require("commander");
|
5
|
-
const runCompile = (inputFile, outputFile) => {
|
6
|
-
const { generateSqlModel } =
|
5
|
+
const runCompile = async (inputFile, outputFile) => {
|
6
|
+
const { generateSqlModel } = await import('../sbvr-api/sbvr-utils.js');
|
7
7
|
const abstractSql = (0, utils_1.getAbstractSqlModelFromFile)(inputFile);
|
8
8
|
const sqlModel = generateSqlModel(abstractSql, commander_1.program.opts().engine);
|
9
9
|
(0, utils_1.writeSqlModel)(sqlModel, outputFile);
|
10
10
|
};
|
11
|
-
const generateTypes = (inputFile, outputFile) => {
|
12
|
-
const { abstractSqlToTypescriptTypes } =
|
11
|
+
const generateTypes = async (inputFile, outputFile) => {
|
12
|
+
const { abstractSqlToTypescriptTypes } = await import('@balena/abstract-sql-to-typescript');
|
13
13
|
const abstractSql = (0, utils_1.getAbstractSqlModelFromFile)(inputFile);
|
14
14
|
const types = abstractSqlToTypescriptTypes(abstractSql);
|
15
15
|
(0, utils_1.writeAll)(types, outputFile);
|
@@ -37,5 +37,5 @@ commander_1.program.arguments('<input-file> [output-file]').action(runCompile);
|
|
37
37
|
if (process.argv.length === 2) {
|
38
38
|
commander_1.program.help();
|
39
39
|
}
|
40
|
-
commander_1.program.
|
40
|
+
void commander_1.program.parseAsync(process.argv);
|
41
41
|
//# sourceMappingURL=abstract-sql-compiler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"abstract-sql-compiler.js","sourceRoot":"","sources":["../../src/bin/abstract-sql-compiler.ts"],"names":[],"mappings":";;AAAA,mCAKiB;
|
1
|
+
{"version":3,"file":"abstract-sql-compiler.js","sourceRoot":"","sources":["../../src/bin/abstract-sql-compiler.ts"],"names":[],"mappings":";;AAAA,mCAKiB;AAEjB,yCAAoC;AAEpC,MAAM,UAAU,GAAG,KAAK,EAAE,SAAiB,EAAE,UAAmB,EAAE,EAAE;IACnE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAA,mCAA2B,EAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,mBAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAEtE,IAAA,qBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAE,UAAmB,EAAE,EAAE;IACtE,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CACpD,oCAAoC,CACpC,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,mCAA2B,EAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAExD,IAAA,gBAAQ,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,mBAAO;KACL,OAAO,CAAC,eAAO,CAAC;KAChB,MAAM,CACN,uBAAuB,EACvB,uEAAuE,EACvE,uBAAuB,EACvB,UAAU,CACV,CAAC;AAEH,mBAAO;KACL,OAAO,CAAC,oCAAoC,CAAC;KAC7C,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,UAAU,CAAC,CAAC;AAErB,mBAAO;KACL,OAAO,CAAC,2CAA2C,CAAC;KACpD,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,UAAU,CAAC,CAAC;AAErB,mBAAO;KACL,OAAO,CAAC,2CAA2C,CAAC;KACpD,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,aAAa,CAAC,CAAC;AAExB,mBAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/B,mBAAO,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAEnE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC/B,mBAAO,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,mBAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const utils_1 = require("./utils");
|
4
4
|
const commander_1 = require("commander");
|
5
|
-
const generateAbstractSqlQuery = (modelFile, odata) => {
|
6
|
-
const { memoizedParseOdata, translateUri } =
|
5
|
+
const generateAbstractSqlQuery = async (modelFile, odata) => {
|
6
|
+
const { memoizedParseOdata, translateUri } = await import('../sbvr-api/uri-parser.js');
|
7
7
|
const odataAST = memoizedParseOdata(odata);
|
8
8
|
const vocabulary = '';
|
9
9
|
return translateUri({
|
@@ -21,14 +21,14 @@ const generateAbstractSqlQuery = (modelFile, odata) => {
|
|
21
21
|
translateVersions: [vocabulary],
|
22
22
|
});
|
23
23
|
};
|
24
|
-
const parseOData = (odata, outputFile) => {
|
25
|
-
const { memoizedParseOdata } =
|
24
|
+
const parseOData = async (odata, outputFile) => {
|
25
|
+
const { memoizedParseOdata } = await import('../sbvr-api/uri-parser.js');
|
26
26
|
const result = memoizedParseOdata(odata);
|
27
27
|
const json = JSON.stringify(result, null, 2);
|
28
28
|
(0, utils_1.writeAll)(json, outputFile);
|
29
29
|
};
|
30
|
-
const translateOData = (modelFile, odata, outputFile) => {
|
31
|
-
const request = generateAbstractSqlQuery(modelFile, odata);
|
30
|
+
const translateOData = async (modelFile, odata, outputFile) => {
|
31
|
+
const request = await generateAbstractSqlQuery(modelFile, odata);
|
32
32
|
const json = JSON.stringify(request.abstractSqlQuery, null, 2);
|
33
33
|
(0, utils_1.writeAll)(json, outputFile);
|
34
34
|
};
|
@@ -43,9 +43,9 @@ Bindings: ${JSON.stringify(sqlQuery.bindings, null, 2)}
|
|
43
43
|
`;
|
44
44
|
}
|
45
45
|
};
|
46
|
-
const compileOData = (modelFile, odata, outputFile) => {
|
47
|
-
const translatedRequest = generateAbstractSqlQuery(modelFile, odata);
|
48
|
-
const { compileRequest } =
|
46
|
+
const compileOData = async (modelFile, odata, outputFile) => {
|
47
|
+
const translatedRequest = await generateAbstractSqlQuery(modelFile, odata);
|
48
|
+
const { compileRequest } = await import('../sbvr-api/abstract-sql.js');
|
49
49
|
const compiledRequest = compileRequest(translatedRequest);
|
50
50
|
let output;
|
51
51
|
if (commander_1.program.opts().json) {
|
@@ -80,5 +80,5 @@ commander_1.program.arguments('<sbvr-file> <input-url> [output-file]').action(co
|
|
80
80
|
if (process.argv.length === 2) {
|
81
81
|
commander_1.program.help();
|
82
82
|
}
|
83
|
-
commander_1.program.
|
83
|
+
void commander_1.program.parseAsync(process.argv);
|
84
84
|
//# sourceMappingURL=odata-compiler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"odata-compiler.js","sourceRoot":"","sources":["../../src/bin/odata-compiler.ts"],"names":[],"mappings":";;AAAA,mCAAyE;
|
1
|
+
{"version":3,"file":"odata-compiler.js","sourceRoot":"","sources":["../../src/bin/odata-compiler.ts"],"names":[],"mappings":"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"}
|
package/out/bin/sbvr-compiler.js
CHANGED
@@ -1,35 +1,58 @@
|
|
1
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 (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
26
|
const utils_1 = require("./utils");
|
4
27
|
const commander_1 = require("commander");
|
5
|
-
const fs = require("fs");
|
28
|
+
const fs = __importStar(require("fs"));
|
6
29
|
const getSE = (inputFile) => fs.readFileSync(inputFile, 'utf8');
|
7
|
-
const parse = (inputFile, outputFile) => {
|
8
|
-
const { generateLfModel } =
|
30
|
+
const parse = async (inputFile, outputFile) => {
|
31
|
+
const { generateLfModel } = await import('../sbvr-api/sbvr-utils.js');
|
9
32
|
const seModel = getSE(inputFile);
|
10
33
|
const result = generateLfModel(seModel);
|
11
34
|
const json = JSON.stringify(result, null, 2);
|
12
35
|
(0, utils_1.writeAll)(json, outputFile);
|
13
36
|
};
|
14
|
-
const transform = (inputFile, outputFile) => {
|
15
|
-
const { generateLfModel, generateAbstractSqlModel } =
|
37
|
+
const transform = async (inputFile, outputFile) => {
|
38
|
+
const { generateLfModel, generateAbstractSqlModel } = await import('../sbvr-api/sbvr-utils.js');
|
16
39
|
const seModel = getSE(inputFile);
|
17
40
|
const lfModel = generateLfModel(seModel);
|
18
41
|
const result = generateAbstractSqlModel(lfModel);
|
19
42
|
const json = JSON.stringify(result, null, 2);
|
20
43
|
(0, utils_1.writeAll)(json, outputFile);
|
21
44
|
};
|
22
|
-
const runCompile = (inputFile, outputFile) => {
|
23
|
-
const { generateModels } =
|
45
|
+
const runCompile = async (inputFile, outputFile) => {
|
46
|
+
const { generateModels } = await import('../sbvr-api/sbvr-utils.js');
|
24
47
|
const seModel = getSE(inputFile);
|
25
48
|
const models = generateModels({ apiRoot: 'sbvr-compiler', modelText: seModel }, commander_1.program.opts().engine);
|
26
49
|
(0, utils_1.writeSqlModel)(models.sql, outputFile);
|
27
50
|
};
|
28
|
-
const generateTypes = (inputFile, outputFile) => {
|
29
|
-
const { generateModels } =
|
51
|
+
const generateTypes = async (inputFile, outputFile) => {
|
52
|
+
const { generateModels } = await import('../sbvr-api/sbvr-utils.js');
|
30
53
|
const seModel = getSE(inputFile);
|
31
54
|
const models = generateModels({ apiRoot: 'sbvr-compiler', modelText: seModel }, commander_1.program.opts().engine);
|
32
|
-
const { abstractSqlToTypescriptTypes } =
|
55
|
+
const { abstractSqlToTypescriptTypes } = await import('@balena/abstract-sql-to-typescript');
|
33
56
|
const types = abstractSqlToTypescriptTypes(models.abstractSql);
|
34
57
|
(0, utils_1.writeAll)(types, outputFile);
|
35
58
|
};
|
@@ -60,5 +83,5 @@ commander_1.program.arguments('<input-file> [output-file]').action(runCompile);
|
|
60
83
|
if (process.argv.length === 2) {
|
61
84
|
commander_1.program.help();
|
62
85
|
}
|
63
|
-
commander_1.program.
|
86
|
+
void commander_1.program.parseAsync(process.argv);
|
64
87
|
//# sourceMappingURL=sbvr-compiler.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sbvr-compiler.js","sourceRoot":"","sources":["../../src/bin/sbvr-compiler.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"sbvr-compiler.js","sourceRoot":"","sources":["../../src/bin/sbvr-compiler.ts"],"names":[],"mappings":"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"}
|
package/out/bin/utils.js
CHANGED
@@ -1,10 +1,33 @@
|
|
1
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 (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
26
|
exports.getAbstractSqlModelFromFile = exports.writeSqlModel = exports.writeAll = exports.version = void 0;
|
4
27
|
process.env.PINEJS_CACHE_FILE =
|
5
28
|
process.env.PINEJS_CACHE_FILE || __dirname + '/.pinejs-cache.json';
|
6
|
-
const fs = require("fs");
|
7
|
-
const path = require("path");
|
29
|
+
const fs = __importStar(require("fs"));
|
30
|
+
const path = __importStar(require("path"));
|
8
31
|
require("../server-glue/sbvr-loader");
|
9
32
|
exports.version = JSON.parse(fs.readFileSync(require.resolve('../../package.json'), 'utf8')).version;
|
10
33
|
const writeAll = (output, outputFile) => {
|
package/out/bin/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"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"}
|
@@ -2,9 +2,10 @@ import type * as Express from 'express';
|
|
2
2
|
import type { AbstractSqlModel, Definition } from '@balena/abstract-sql-compiler';
|
3
3
|
import type { Database } from '../database-layer/db';
|
4
4
|
import type { Dictionary, Resolvable } from '../sbvr-api/common-types';
|
5
|
-
import { Migrations } from '../migrator/utils';
|
5
|
+
import { type Migrations } from '../migrator/utils';
|
6
6
|
import * as sbvrUtils from '../sbvr-api/sbvr-utils';
|
7
|
-
import {
|
7
|
+
import { type WebResourceHandler } from '../webresource-handler';
|
8
|
+
import type { AliasValidNodeType } from '../sbvr-api/translations';
|
8
9
|
export type SetupFunction = (app: Express.Application, sbvrUtilsInstance: typeof sbvrUtils, db: Database) => Resolvable<void>;
|
9
10
|
export interface Model {
|
10
11
|
apiRoot?: string;
|
@@ -33,6 +34,7 @@ export interface User {
|
|
33
34
|
export interface Config {
|
34
35
|
models: Model[];
|
35
36
|
users?: User[];
|
37
|
+
webResourceHandler?: WebResourceHandler;
|
36
38
|
}
|
37
39
|
export declare const setup: (app: Express.Application) => {
|
38
40
|
loadConfig: (data: Config) => Promise<void>;
|
@@ -1,12 +1,39 @@
|
|
1
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 (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
+
};
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
29
|
exports.setup = void 0;
|
4
30
|
const utils_1 = require("../migrator/utils");
|
5
|
-
const fs = require("fs");
|
6
|
-
const
|
7
|
-
const path = require("path");
|
8
|
-
const sbvrUtils = require("../sbvr-api/sbvr-utils");
|
9
|
-
const permissions = require("../sbvr-api/permissions");
|
31
|
+
const fs = __importStar(require("fs"));
|
32
|
+
const lodash_1 = __importDefault(require("lodash"));
|
33
|
+
const path = __importStar(require("path"));
|
34
|
+
const sbvrUtils = __importStar(require("../sbvr-api/sbvr-utils"));
|
35
|
+
const permissions = __importStar(require("../sbvr-api/permissions"));
|
36
|
+
const webresource_handler_1 = require("../webresource-handler");
|
10
37
|
const getOrCreate = async (authApiTx, resource, uniqueFields, extraFields) => {
|
11
38
|
const result = (await authApiTx.get({
|
12
39
|
resource,
|
@@ -77,7 +104,7 @@ const setup = (app) => {
|
|
77
104
|
}
|
78
105
|
}));
|
79
106
|
}
|
80
|
-
const modelPromises =
|
107
|
+
const modelPromises = (0, lodash_1.default)(data.models)
|
81
108
|
.filter((model) => (model.abstractSql != null || model.modelText != null) &&
|
82
109
|
model.apiRoot != null)
|
83
110
|
.keyBy((model) => model.apiRoot)
|
@@ -96,20 +123,32 @@ const setup = (app) => {
|
|
96
123
|
}
|
97
124
|
await sbvrUtils.executeModel(tx, model);
|
98
125
|
const apiRoute = `/${model.apiRoot}/*`;
|
126
|
+
const webResourceHandler = data.webResourceHandler ?? (0, webresource_handler_1.getDefaultHandler)();
|
127
|
+
(0, webresource_handler_1.setupWebresourceHandler)(webResourceHandler);
|
128
|
+
const fileUploadMiddleware = (0, webresource_handler_1.getUploaderMiddlware)(webResourceHandler);
|
99
129
|
app
|
100
130
|
.route(apiRoute)
|
101
131
|
.options((_req, res) => res.status(200).end())
|
102
132
|
.get(sbvrUtils.handleODataRequest)
|
103
133
|
.put(sbvrUtils.handleODataRequest)
|
104
|
-
.post(sbvrUtils.handleODataRequest)
|
105
|
-
.patch(sbvrUtils.handleODataRequest)
|
134
|
+
.post(fileUploadMiddleware, sbvrUtils.handleODataRequest)
|
135
|
+
.patch(fileUploadMiddleware, sbvrUtils.handleODataRequest)
|
106
136
|
.merge(sbvrUtils.handleODataRequest)
|
107
137
|
.delete(sbvrUtils.handleODataRequest);
|
138
|
+
const loadedModel = sbvrUtils.getModel(model.apiRoot);
|
139
|
+
if (translateTo == null) {
|
140
|
+
const resourceNames = Object.values(loadedModel.abstractSql.tables)
|
141
|
+
.filter((table) => table.fields.some((f) => f.dataType === 'WebResource'))
|
142
|
+
.map((table) => table.name);
|
143
|
+
for (const resource of new Set(resourceNames)) {
|
144
|
+
(0, webresource_handler_1.setupUploadHooks)(webResourceHandler, model.apiRoot, resource);
|
145
|
+
}
|
146
|
+
}
|
108
147
|
console.info('Successfully executed ' + model.modelName + ' model.');
|
109
148
|
}
|
110
149
|
catch (err) {
|
111
150
|
const message = `Failed to execute '${model.modelName}' model from '${model.modelFile}'`;
|
112
|
-
if (
|
151
|
+
if (lodash_1.default.isError(err)) {
|
113
152
|
err.message = `${message} due to: ${err.message}`;
|
114
153
|
throw err;
|
115
154
|
}
|
@@ -146,7 +185,8 @@ const setup = (app) => {
|
|
146
185
|
};
|
147
186
|
const loadConfigFile = async (configPath) => {
|
148
187
|
console.info('Loading config:', configPath);
|
149
|
-
|
188
|
+
const { default: configObj } = await import(configPath);
|
189
|
+
return configObj;
|
150
190
|
};
|
151
191
|
const loadApplicationConfig = async (config) => {
|
152
192
|
try {
|
@@ -217,15 +257,16 @@ const setup = (app) => {
|
|
217
257
|
switch (fileExtension) {
|
218
258
|
case '.coffee':
|
219
259
|
case '.ts':
|
220
|
-
case '.js':
|
221
|
-
const
|
222
|
-
const migration =
|
260
|
+
case '.js': {
|
261
|
+
const { default: loadedMigration } = await import(filePath);
|
262
|
+
const migration = loadedMigration.default ?? loadedMigration;
|
223
263
|
if (!(0, utils_1.isAsyncMigration)(migration) &&
|
224
264
|
!(0, utils_1.isSyncMigration)(migration)) {
|
225
265
|
throw new Error(`loaded migraton file at ${filePath} is neither a synchron nor a asyncron migration definition`);
|
226
266
|
}
|
227
267
|
assignMigrationWithCategory(migrationKey, migration);
|
228
268
|
break;
|
269
|
+
}
|
229
270
|
case '.sql':
|
230
271
|
if (migrationCategory === utils_1.MigrationCategories.async) {
|
231
272
|
console.error(`Plain async migration sql statement not supported, needs to be an object, skipping: ${path.extname(filename)}`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference path="../../typings/memoizee.d.ts" />
|
1
2
|
export declare const DEBUG: boolean;
|
2
3
|
type CacheFnOpts<T extends (...args: any[]) => any> = {
|
3
4
|
primitive?: true;
|
@@ -24,7 +25,7 @@ export declare const cache: {
|
|
24
25
|
apiKeyPermissions: CacheOpts;
|
25
26
|
apiKeyActorId: CacheOpts;
|
26
27
|
};
|
27
|
-
import
|
28
|
+
import memoize from 'memoizee';
|
28
29
|
import memoizeWeak = require('memoizee/weak');
|
29
30
|
export declare const createCache: <T extends (...args: any[]) => any>(cacheName: keyof typeof cache, fn: T, opts: CacheFnOpts<T>) => T;
|
30
31
|
export declare const db: {
|
package/out/config-loader/env.js
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
exports.migrator = exports.booleanToEnabledString = exports.PINEJS_ADVISORY_LOCK = exports.db = exports.createCache = exports.cache = exports.DEBUG = void 0;
|
4
7
|
const { PINEJS_DEBUG } = process.env;
|
@@ -27,7 +30,7 @@ exports.cache = {
|
|
27
30
|
apiKeyActorId: false,
|
28
31
|
};
|
29
32
|
const env_parsing_1 = require("@balena/env-parsing");
|
30
|
-
const
|
33
|
+
const memoizee_1 = __importDefault(require("memoizee"));
|
31
34
|
const memoizeWeak = require("memoizee/weak");
|
32
35
|
const createCache = (cacheName, fn, opts) => {
|
33
36
|
const cacheOpts = exports.cache[cacheName];
|
@@ -43,7 +46,7 @@ const createCache = (cacheName, fn, opts) => {
|
|
43
46
|
...opts,
|
44
47
|
});
|
45
48
|
}
|
46
|
-
return
|
49
|
+
return (0, memoizee_1.default)(fn, {
|
47
50
|
...cacheOpts,
|
48
51
|
...opts,
|
49
52
|
});
|