@balena/pinejs 19.7.1 → 19.7.2-build-esm-ce2a147ed7533c40f456b27f17ac4e559a0f9da8-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 +21 -1
- package/CHANGELOG.md +5 -0
- package/{Gruntfile.ts → Gruntfile.cts} +9 -22
- package/VERSION +1 -1
- package/bin/abstract-sql-compiler.js +1 -1
- package/bin/odata-compiler.js +1 -1
- package/bin/sbvr-compiler.js +1 -1
- package/build/{browser.ts → browser.cts} +1 -1
- package/build/{config.ts → config.cts} +5 -1
- package/build/{module.ts → module.cts} +1 -1
- package/build/{server.ts → server.cts} +1 -1
- package/out/bin/abstract-sql-compiler.js +17 -19
- package/out/bin/abstract-sql-compiler.js.map +1 -1
- package/out/bin/odata-compiler.js +19 -21
- package/out/bin/odata-compiler.js.map +1 -1
- package/out/bin/sbvr-compiler.js +19 -54
- package/out/bin/sbvr-compiler.js.map +1 -1
- package/out/bin/utils.d.ts +3 -3
- package/out/bin/utils.js +16 -53
- package/out/bin/utils.js.map +1 -1
- package/out/config-loader/config-loader.d.ts +6 -6
- package/out/config-loader/config-loader.js +23 -63
- package/out/config-loader/config-loader.js.map +1 -1
- package/out/config-loader/env.d.ts +1 -1
- package/out/config-loader/env.js +24 -66
- package/out/config-loader/env.js.map +1 -1
- package/out/data-server/sbvr-server.d.ts +3 -3
- package/out/data-server/sbvr-server.js +5 -42
- package/out/data-server/sbvr-server.js.map +1 -1
- package/out/database-layer/db.d.ts +3 -3
- package/out/database-layer/db.js +37 -83
- package/out/database-layer/db.js.map +1 -1
- package/out/express-emulator/express.js.map +1 -1
- package/out/extended-sbvr-parser/extended-sbvr-parser.js +8 -11
- package/out/extended-sbvr-parser/extended-sbvr-parser.js.map +1 -1
- package/out/http-transactions/transactions.d.ts +2 -2
- package/out/http-transactions/transactions.js +4 -4
- package/out/http-transactions/transactions.js.map +1 -1
- package/out/migrator/async.d.ts +2 -2
- package/out/migrator/async.js +20 -60
- package/out/migrator/async.js.map +1 -1
- package/out/migrator/migrations.js +1 -2
- package/out/migrator/sync.d.ts +6 -6
- package/out/migrator/sync.js +20 -61
- package/out/migrator/sync.js.map +1 -1
- package/out/migrator/utils.d.ts +4 -4
- package/out/migrator/utils.js +42 -97
- package/out/migrator/utils.js.map +1 -1
- package/out/odata-metadata/odata-metadata-generator.js +7 -14
- package/out/odata-metadata/odata-metadata-generator.js.map +1 -1
- package/out/passport-pinejs/mount-login-router.d.ts +1 -1
- package/out/passport-pinejs/mount-login-router.js +4 -41
- package/out/passport-pinejs/mount-login-router.js.map +1 -1
- package/out/passport-pinejs/passport-pinejs.d.ts +1 -1
- package/out/passport-pinejs/passport-pinejs.js +11 -46
- package/out/passport-pinejs/passport-pinejs.js.map +1 -1
- package/out/pinejs-session-store/pinejs-session-store.d.ts +1 -1
- package/out/pinejs-session-store/pinejs-session-store.js +11 -48
- 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 +22 -65
- package/out/sbvr-api/abstract-sql.js.map +1 -1
- package/out/sbvr-api/cached-compile.js +8 -15
- package/out/sbvr-api/cached-compile.js.map +1 -1
- package/out/sbvr-api/common-types.js +1 -2
- package/out/sbvr-api/control-flow.d.ts +1 -1
- package/out/sbvr-api/control-flow.js +12 -25
- package/out/sbvr-api/control-flow.js.map +1 -1
- package/out/sbvr-api/dev.js +1 -2
- package/out/sbvr-api/errors.d.ts +1 -1
- package/out/sbvr-api/errors.js +47 -95
- package/out/sbvr-api/errors.js.map +1 -1
- package/out/sbvr-api/express-extension.d.ts +2 -2
- package/out/sbvr-api/express-extension.js +1 -2
- package/out/sbvr-api/hooks.d.ts +4 -4
- package/out/sbvr-api/hooks.js +23 -35
- package/out/sbvr-api/hooks.js.map +1 -1
- package/out/sbvr-api/odata-response.d.ts +2 -2
- package/out/sbvr-api/odata-response.js +19 -29
- package/out/sbvr-api/odata-response.js.map +1 -1
- package/out/sbvr-api/permissions.d.ts +8 -8
- package/out/sbvr-api/permissions.js +106 -159
- package/out/sbvr-api/permissions.js.map +1 -1
- package/out/sbvr-api/sbvr-utils.d.ts +38 -16
- package/out/sbvr-api/sbvr-utils.js +222 -285
- package/out/sbvr-api/sbvr-utils.js.map +1 -1
- package/out/sbvr-api/translations.d.ts +1 -1
- package/out/sbvr-api/translations.js +10 -17
- package/out/sbvr-api/translations.js.map +1 -1
- package/out/sbvr-api/uri-parser.d.ts +6 -6
- package/out/sbvr-api/uri-parser.js +39 -84
- package/out/sbvr-api/uri-parser.js.map +1 -1
- package/out/sbvr-api/user.js +1 -2
- package/out/server-glue/global-ext.d.ts +0 -3
- package/out/server-glue/module.d.ts +15 -15
- package/out/server-glue/module.js +20 -59
- package/out/server-glue/module.js.map +1 -1
- package/out/server-glue/sbvr-loader.d.ts +2 -1
- package/out/server-glue/sbvr-loader.js +4 -11
- package/out/server-glue/sbvr-loader.js.map +1 -1
- package/out/server-glue/server.d.ts +2 -2
- package/out/server-glue/server.js +17 -59
- package/out/server-glue/server.js.map +1 -1
- package/out/tasks/common.d.ts +1 -1
- package/out/tasks/common.js +3 -9
- package/out/tasks/common.js.map +1 -1
- package/out/tasks/index.d.ts +8 -8
- package/out/tasks/index.js +25 -63
- package/out/tasks/index.js.map +1 -1
- package/out/tasks/tasks.js +1 -2
- package/out/tasks/worker.d.ts +3 -3
- package/out/tasks/worker.js +14 -51
- package/out/tasks/worker.js.map +1 -1
- package/out/webresource-handler/handlers/NoopHandler.d.ts +1 -1
- package/out/webresource-handler/handlers/NoopHandler.js +1 -5
- package/out/webresource-handler/handlers/NoopHandler.js.map +1 -1
- package/out/webresource-handler/handlers/S3Handler.d.ts +1 -1
- package/out/webresource-handler/handlers/S3Handler.js +17 -24
- package/out/webresource-handler/handlers/S3Handler.js.map +1 -1
- package/out/webresource-handler/handlers/index.d.ts +2 -2
- package/out/webresource-handler/handlers/index.js +2 -18
- package/out/webresource-handler/handlers/index.js.map +1 -1
- package/out/webresource-handler/index.d.ts +1 -1
- package/out/webresource-handler/index.js +35 -85
- package/out/webresource-handler/index.js.map +1 -1
- package/package.json +10 -10
- package/src/bin/abstract-sql-compiler.ts +3 -3
- package/src/bin/odata-compiler.ts +3 -3
- package/src/bin/sbvr-compiler.ts +2 -2
- package/src/bin/utils.ts +20 -15
- package/src/config-loader/config-loader.ts +11 -11
- package/src/config-loader/env.ts +3 -3
- package/src/data-server/sbvr-server.ts +4 -4
- package/src/database-layer/db.ts +18 -11
- package/src/extended-sbvr-parser/extended-sbvr-parser.ts +5 -5
- package/src/http-transactions/transactions.js +4 -4
- package/src/migrator/async.ts +5 -5
- package/src/migrator/sync.ts +8 -8
- package/src/migrator/utils.ts +7 -7
- package/src/odata-metadata/odata-metadata-generator.ts +3 -2
- package/src/passport-pinejs/mount-login-router.ts +3 -3
- package/src/passport-pinejs/passport-pinejs.ts +3 -3
- package/src/pinejs-session-store/pinejs-session-store.ts +4 -4
- package/src/sbvr-api/abstract-sql.ts +5 -5
- package/src/sbvr-api/cached-compile.ts +1 -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 +2 -2
- package/src/sbvr-api/hooks.ts +5 -5
- package/src/sbvr-api/odata-response.ts +8 -4
- package/src/sbvr-api/permissions.ts +17 -17
- package/src/sbvr-api/sbvr-utils.ts +37 -31
- package/src/sbvr-api/translations.ts +1 -1
- package/src/sbvr-api/uri-parser.ts +9 -9
- package/src/server-glue/global-ext.d.ts +0 -3
- package/src/server-glue/module.ts +19 -19
- package/src/server-glue/sbvr-loader.ts +15 -27
- package/src/server-glue/server.ts +13 -24
- package/src/tasks/common.ts +1 -1
- package/src/tasks/index.ts +14 -14
- package/src/tasks/worker.ts +8 -8
- package/src/webresource-handler/handlers/NoopHandler.ts +5 -1
- package/src/webresource-handler/handlers/S3Handler.ts +1 -1
- package/src/webresource-handler/handlers/index.ts +2 -2
- package/src/webresource-handler/index.ts +8 -8
- package/tsconfig.dev.json +4 -2
- package/tsconfig.json +1 -1
- package/typings/lf-to-abstract-sql.d.ts +2 -2
- package/typings/memoizee.d.ts +1 -1
package/out/migrator/utils.js
CHANGED
@@ -1,71 +1,28 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
37
|
-
};
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
39
|
-
exports.readMigrationStatus = exports.updateMigrationStatus = exports.initMigrationStatus = exports.migrationTablesExist = exports.getExecutedMigrations = exports.setExecutedMigrations = exports.lockMigrations = exports.binds = exports.filterAndSortPendingMigrations = exports.getRunnableSyncMigrations = exports.getRunnableAsyncMigrations = exports.MigrationError = exports.defaultMigrationCategory = exports.MigrationCategories = exports.migratorEnv = void 0;
|
40
|
-
exports.isAsyncMigration = isAsyncMigration;
|
41
|
-
exports.isSyncMigration = isSyncMigration;
|
42
|
-
exports.areCategorizedMigrations = areCategorizedMigrations;
|
43
|
-
const crypto_1 = require("crypto");
|
44
|
-
const lodash_1 = __importDefault(require("lodash"));
|
45
|
-
const typed_error_1 = require("typed-error");
|
46
|
-
const env_1 = require("../config-loader/env");
|
47
|
-
var env_2 = require("../config-loader/env");
|
48
|
-
Object.defineProperty(exports, "migratorEnv", { enumerable: true, get: function () { return env_2.migrator; } });
|
49
|
-
const env_3 = require("../config-loader/env");
|
50
|
-
const control_flow_1 = require("../sbvr-api/control-flow");
|
51
|
-
const sbvrUtils = __importStar(require("../sbvr-api/sbvr-utils"));
|
52
|
-
var MigrationCategories;
|
1
|
+
import { createHash } from 'crypto';
|
2
|
+
import _ from 'lodash';
|
3
|
+
import { TypedError } from 'typed-error';
|
4
|
+
import { migrator as migratorEnv } from '../config-loader/env.js';
|
5
|
+
export { migrator as migratorEnv } from '../config-loader/env.js';
|
6
|
+
import { PINEJS_ADVISORY_LOCK } from '../config-loader/env.js';
|
7
|
+
import { delay } from '../sbvr-api/control-flow.js';
|
8
|
+
import * as sbvrUtils from '../sbvr-api/sbvr-utils.js';
|
9
|
+
export var MigrationCategories;
|
53
10
|
(function (MigrationCategories) {
|
54
11
|
MigrationCategories["sync"] = "sync";
|
55
12
|
MigrationCategories["async"] = "async";
|
56
|
-
})(MigrationCategories || (
|
57
|
-
|
58
|
-
function isAsyncMigration(migration) {
|
13
|
+
})(MigrationCategories || (MigrationCategories = {}));
|
14
|
+
export const defaultMigrationCategory = MigrationCategories.sync;
|
15
|
+
export function isAsyncMigration(migration) {
|
59
16
|
return (((typeof migration.asyncFn === 'function' ||
|
60
17
|
typeof migration.asyncSql === 'string') &&
|
61
18
|
(typeof migration.syncFn === 'function' ||
|
62
19
|
typeof migration.syncSql === 'string')) ||
|
63
20
|
migration.type === MigrationCategories.async);
|
64
21
|
}
|
65
|
-
function isSyncMigration(migration) {
|
22
|
+
export function isSyncMigration(migration) {
|
66
23
|
return typeof migration === 'function' || typeof migration === 'string';
|
67
24
|
}
|
68
|
-
function areCategorizedMigrations($migrations) {
|
25
|
+
export function areCategorizedMigrations($migrations) {
|
69
26
|
const containsCategories = Object.keys(MigrationCategories).some((key) => key in $migrations);
|
70
27
|
if (containsCategories &&
|
71
28
|
Object.keys($migrations).some((key) => !(key in MigrationCategories))) {
|
@@ -73,10 +30,9 @@ function areCategorizedMigrations($migrations) {
|
|
73
30
|
}
|
74
31
|
return containsCategories;
|
75
32
|
}
|
76
|
-
class MigrationError extends
|
33
|
+
export class MigrationError extends TypedError {
|
77
34
|
}
|
78
|
-
|
79
|
-
const getRunnableAsyncMigrations = ($migrations) => {
|
35
|
+
export const getRunnableAsyncMigrations = ($migrations) => {
|
80
36
|
if ($migrations[MigrationCategories.async]) {
|
81
37
|
if (Object.values($migrations[MigrationCategories.async]).some((migration) => !isAsyncMigration(migration)) ||
|
82
38
|
typeof $migrations[MigrationCategories.async] !== 'object') {
|
@@ -85,8 +41,7 @@ const getRunnableAsyncMigrations = ($migrations) => {
|
|
85
41
|
return $migrations[MigrationCategories.async];
|
86
42
|
}
|
87
43
|
};
|
88
|
-
|
89
|
-
const getRunnableSyncMigrations = ($migrations) => {
|
44
|
+
export const getRunnableSyncMigrations = ($migrations) => {
|
90
45
|
if (areCategorizedMigrations($migrations)) {
|
91
46
|
const runnableMigrations = {};
|
92
47
|
for (const [category, categoryMigrations] of Object.entries($migrations)) {
|
@@ -107,14 +62,12 @@ const getRunnableSyncMigrations = ($migrations) => {
|
|
107
62
|
}
|
108
63
|
return $migrations;
|
109
64
|
};
|
110
|
-
|
111
|
-
const filterAndSortPendingMigrations = ($migrations, executedMigrations) => (0, lodash_1.default)($migrations)
|
65
|
+
export const filterAndSortPendingMigrations = ($migrations, executedMigrations) => _($migrations)
|
112
66
|
.omit(executedMigrations)
|
113
67
|
.toPairs()
|
114
68
|
.sortBy(([migrationKey]) => migrationKey)
|
115
69
|
.value();
|
116
|
-
|
117
|
-
const binds = (strings, ...bindNums) => strings
|
70
|
+
export const binds = (strings, ...bindNums) => strings
|
118
71
|
.map((str, i) => {
|
119
72
|
if (i === bindNums.length) {
|
120
73
|
return str;
|
@@ -128,19 +81,18 @@ const binds = (strings, ...bindNums) => strings
|
|
128
81
|
return str + `?`;
|
129
82
|
})
|
130
83
|
.join('');
|
131
|
-
exports.binds = binds;
|
132
84
|
const $lockMigrations = async (tx, modelName, fn) => {
|
133
85
|
try {
|
134
|
-
await tx.executeSql(
|
86
|
+
await tx.executeSql(binds `
|
135
87
|
DELETE FROM "migration lock"
|
136
88
|
WHERE "model name" = ${1}
|
137
|
-
AND "created at" < ${2}`, [modelName, new Date(Date.now() -
|
138
|
-
await tx.executeSql(
|
89
|
+
AND "created at" < ${2}`, [modelName, new Date(Date.now() - migratorEnv.lockTimeout)]);
|
90
|
+
await tx.executeSql(binds `
|
139
91
|
INSERT INTO "migration lock" ("model name")
|
140
92
|
VALUES (${1})`, [modelName]);
|
141
93
|
}
|
142
94
|
catch (err) {
|
143
|
-
await
|
95
|
+
await delay(migratorEnv.lockFailDelay);
|
144
96
|
throw err;
|
145
97
|
}
|
146
98
|
try {
|
@@ -148,7 +100,7 @@ VALUES (${1})`, [modelName]);
|
|
148
100
|
}
|
149
101
|
finally {
|
150
102
|
try {
|
151
|
-
await tx.executeSql(
|
103
|
+
await tx.executeSql(binds `
|
152
104
|
DELETE FROM "migration lock"
|
153
105
|
WHERE "model name" = ${1}`, [modelName]);
|
154
106
|
}
|
@@ -156,8 +108,8 @@ WHERE "model name" = ${1}`, [modelName]);
|
|
156
108
|
}
|
157
109
|
}
|
158
110
|
};
|
159
|
-
const lockMigrations = async (options, fn) => {
|
160
|
-
if (!(await
|
111
|
+
export const lockMigrations = async (options, fn) => {
|
112
|
+
if (!(await migrationTablesExist(options.tx))) {
|
161
113
|
return;
|
162
114
|
}
|
163
115
|
if (sbvrUtils.db.engine === "websql") {
|
@@ -167,11 +119,11 @@ const lockMigrations = async (options, fn) => {
|
|
167
119
|
return $lockMigrations(options.tx, options.modelName, fn);
|
168
120
|
}
|
169
121
|
else if (sbvrUtils.db.engine === "postgres") {
|
170
|
-
const modelKey =
|
122
|
+
const modelKey = createHash('shake128', { outputLength: 4 })
|
171
123
|
.update('resin')
|
172
124
|
.digest()
|
173
125
|
.readInt32BE();
|
174
|
-
const lockStatus = await options.tx.getTxLevelLock(
|
126
|
+
const lockStatus = await options.tx.getTxLevelLock(PINEJS_ADVISORY_LOCK.namespaceKey, modelKey, options.blocking);
|
175
127
|
if (lockStatus) {
|
176
128
|
return await fn();
|
177
129
|
}
|
@@ -180,29 +132,27 @@ const lockMigrations = async (options, fn) => {
|
|
180
132
|
throw new Error(`unknown database engine for getting migration locks`);
|
181
133
|
}
|
182
134
|
};
|
183
|
-
|
184
|
-
|
185
|
-
if (!(await (0, exports.migrationTablesExist)(tx))) {
|
135
|
+
export const setExecutedMigrations = async (tx, modelName, executedMigrations) => {
|
136
|
+
if (!(await migrationTablesExist(tx))) {
|
186
137
|
return { pendingUnsetMigrations: executedMigrations };
|
187
138
|
}
|
188
139
|
const stringifiedMigrations = await sbvrUtils.sbvrTypes.JSON.validate(executedMigrations, true);
|
189
|
-
const { rowsAffected } = await tx.executeSql(
|
140
|
+
const { rowsAffected } = await tx.executeSql(binds `
|
190
141
|
UPDATE "migration"
|
191
142
|
SET "model name" = ${1},
|
192
143
|
"executed migrations" = ${2}
|
193
144
|
WHERE "migration"."model name" = ${3}`, [modelName, stringifiedMigrations, modelName]);
|
194
145
|
if (rowsAffected === 0) {
|
195
|
-
await tx.executeSql(
|
146
|
+
await tx.executeSql(binds `
|
196
147
|
INSERT INTO "migration" ("model name", "executed migrations")
|
197
148
|
VALUES (${1}, ${2})`, [modelName, stringifiedMigrations]);
|
198
149
|
}
|
199
150
|
};
|
200
|
-
|
201
|
-
|
202
|
-
if (!(await (0, exports.migrationTablesExist)(tx))) {
|
151
|
+
export const getExecutedMigrations = async (tx, modelName) => {
|
152
|
+
if (!(await migrationTablesExist(tx))) {
|
203
153
|
return [];
|
204
154
|
}
|
205
|
-
const { rows } = await tx.executeSql(
|
155
|
+
const { rows } = await tx.executeSql(binds `
|
206
156
|
SELECT "migration"."executed migrations" AS "executed_migrations"
|
207
157
|
FROM "migration"
|
208
158
|
WHERE "migration"."model name" = ${1}`, [modelName]);
|
@@ -220,17 +170,15 @@ WHERE "migration"."model name" = ${1}`, [modelName]);
|
|
220
170
|
}
|
221
171
|
return executedMigrations;
|
222
172
|
};
|
223
|
-
|
224
|
-
const migrationTablesExist = async (tx) => {
|
173
|
+
export const migrationTablesExist = async (tx) => {
|
225
174
|
const tables = ['migration', 'migration lock', 'migration status'];
|
226
175
|
const where = tables.map((tableName) => `name = '${tableName}'`).join(' OR ');
|
227
176
|
const result = await tx.tableList(where);
|
228
177
|
return result.rows.length === tables.length;
|
229
178
|
};
|
230
|
-
|
231
|
-
const initMigrationStatus = async (tx, migrationStatus) => {
|
179
|
+
export const initMigrationStatus = async (tx, migrationStatus) => {
|
232
180
|
try {
|
233
|
-
return await tx.executeSql(
|
181
|
+
return await tx.executeSql(binds `
|
234
182
|
INSERT INTO "migration status" ("migration key", "start time", "is backing off", "run count")
|
235
183
|
SELECT ${1}, ${2}, ${3}, ${4}
|
236
184
|
WHERE NOT EXISTS (SELECT 1 FROM "migration status" WHERE "migration key" = ${5})
|
@@ -246,10 +194,9 @@ WHERE NOT EXISTS (SELECT 1 FROM "migration status" WHERE "migration key" = ${5})
|
|
246
194
|
throw new Error(`unknown error in init migration status: ${err}`);
|
247
195
|
}
|
248
196
|
};
|
249
|
-
|
250
|
-
const updateMigrationStatus = async (tx, migrationStatus) => {
|
197
|
+
export const updateMigrationStatus = async (tx, migrationStatus) => {
|
251
198
|
try {
|
252
|
-
return await tx.executeSql(
|
199
|
+
return await tx.executeSql(binds `
|
253
200
|
UPDATE "migration status"
|
254
201
|
SET
|
255
202
|
"run count" = ${1},
|
@@ -272,10 +219,9 @@ WHERE "migration status"."migration key" = ${7};`, [
|
|
272
219
|
throw new Error(`unknown error in update migration status: ${err}`);
|
273
220
|
}
|
274
221
|
};
|
275
|
-
|
276
|
-
const readMigrationStatus = async (tx, migrationKey) => {
|
222
|
+
export const readMigrationStatus = async (tx, migrationKey) => {
|
277
223
|
try {
|
278
|
-
const { rows } = await tx.executeSql(
|
224
|
+
const { rows } = await tx.executeSql(binds `
|
279
225
|
SELECT *
|
280
226
|
FROM "migration status"
|
281
227
|
WHERE "migration status"."migration key" = ${1}
|
@@ -299,5 +245,4 @@ LIMIT 1;`, [migrationKey]);
|
|
299
245
|
throw new Error(`unknown error in read migration status: ${err}`);
|
300
246
|
}
|
301
247
|
};
|
302
|
-
exports.readMigrationStatus = readMigrationStatus;
|
303
248
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/migrator/utils.ts"],"names":[],"mappings":"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"}
|
@@ -1,11 +1,5 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.generateODataMetadata = void 0;
|
7
|
-
const sbvr_types_1 = __importDefault(require("@balena/sbvr-types"));
|
8
|
-
const env_1 = require("../config-loader/env");
|
1
|
+
import { sbvrTypes } from '../sbvr-api/sbvr-utils.js';
|
2
|
+
import { version } from '../config-loader/env.js';
|
9
3
|
const getResourceName = (resourceName) => resourceName
|
10
4
|
.split('-')
|
11
5
|
.map((namePart) => namePart.split(' ').join('_'))
|
@@ -23,18 +17,18 @@ const forEachUniqueTable = (model, callback) => {
|
|
23
17
|
}
|
24
18
|
return result;
|
25
19
|
};
|
26
|
-
const generateODataMetadata = (vocabulary, abstractSqlModel) => {
|
20
|
+
export const generateODataMetadata = (vocabulary, abstractSqlModel) => {
|
27
21
|
const complexTypes = {};
|
28
22
|
const resolveDataType = (fieldType) => {
|
29
|
-
if (
|
23
|
+
if (sbvrTypes[fieldType] == null) {
|
30
24
|
console.error('Could not resolve type', fieldType);
|
31
25
|
throw new Error('Could not resolve type' + fieldType);
|
32
26
|
}
|
33
|
-
const { complexType } =
|
27
|
+
const { complexType } = sbvrTypes[fieldType].types.odata;
|
34
28
|
if (complexType != null) {
|
35
29
|
complexTypes[fieldType] = complexType;
|
36
30
|
}
|
37
|
-
return
|
31
|
+
return sbvrTypes[fieldType].types.odata.name;
|
38
32
|
};
|
39
33
|
const model = abstractSqlModel.tables;
|
40
34
|
const associations = [];
|
@@ -134,6 +128,5 @@ const generateODataMetadata = (vocabulary, abstractSqlModel) => {
|
|
134
128
|
</edmx:DataServices>
|
135
129
|
</edmx:Edmx>`);
|
136
130
|
};
|
137
|
-
|
138
|
-
exports.generateODataMetadata.version = env_1.version;
|
131
|
+
generateODataMetadata.version = version;
|
139
132
|
//# sourceMappingURL=odata-metadata-generator.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"odata-metadata-generator.js","sourceRoot":"","sources":["../../src/odata-metadata/odata-metadata-generator.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"odata-metadata-generator.js","sourceRoot":"","sources":["../../src/odata-metadata/odata-metadata-generator.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import type { Express } from 'express';
|
2
|
-
import type { setup } from '../config-loader/config-loader';
|
2
|
+
import type { setup } from '../config-loader/config-loader.js';
|
3
3
|
export declare const mountLoginRouter: (configLoader: ReturnType<typeof setup>, expressApp: Express) => Promise<void>;
|
@@ -1,45 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
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.mountLoginRouter = void 0;
|
37
|
-
const passportPinejs = __importStar(require("./passport-pinejs"));
|
38
|
-
const pinejs_session_store_1 = require("../pinejs-session-store/pinejs-session-store");
|
39
|
-
const mountLoginRouter = async (configLoader, expressApp) => {
|
1
|
+
import * as passportPinejs from './passport-pinejs.js';
|
2
|
+
import { PinejsSessionStore } from '../pinejs-session-store/pinejs-session-store.js';
|
3
|
+
export const mountLoginRouter = async (configLoader, expressApp) => {
|
40
4
|
await Promise.all([
|
41
5
|
configLoader.loadConfig(passportPinejs.config),
|
42
|
-
configLoader.loadConfig(
|
6
|
+
configLoader.loadConfig(PinejsSessionStore.config),
|
43
7
|
]);
|
44
8
|
if (typeof process === 'undefined' || !process?.env.DISABLE_DEFAULT_AUTH) {
|
45
9
|
expressApp.post('/login', passportPinejs.login((err, user, req, res) => {
|
@@ -69,5 +33,4 @@ const mountLoginRouter = async (configLoader, expressApp) => {
|
|
69
33
|
});
|
70
34
|
}
|
71
35
|
};
|
72
|
-
exports.mountLoginRouter = mountLoginRouter;
|
73
36
|
//# sourceMappingURL=mount-login-router.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mount-login-router.js","sourceRoot":"","sources":["../../src/passport-pinejs/mount-login-router.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"mount-login-router.js","sourceRoot":"","sources":["../../src/passport-pinejs/mount-login-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAGrF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACpC,YAAsC,EACtC,UAAmB,EAClB,EAAE;IACH,MAAM,OAAO,CAAC,GAAG,CAAC;QACjB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;KAClD,CAAC,CAAC;IAEH,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC1E,UAAU,CAAC,IAAI,CACd,QAAQ,EACR,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,IAAI,GAAG,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CACF,CAAC;QAEF,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9D,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type * as Express from 'express';
|
2
2
|
import type * as PassportLocal from 'passport-local';
|
3
|
-
import type * as ConfigLoader from '../config-loader/config-loader';
|
3
|
+
import type * as ConfigLoader from '../config-loader/config-loader.js';
|
4
4
|
export declare let login: (fn: (err: any, user: object | null | false | undefined, req: Express.Request, res: Express.Response, next: Express.NextFunction) => void) => Express.RequestHandler;
|
5
5
|
export declare let logout: Express.RequestHandler;
|
6
6
|
export declare const checkPassword: PassportLocal.VerifyFunction;
|
@@ -1,41 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
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.config = exports.checkPassword = exports.logout = exports.login = void 0;
|
37
|
-
const permissions = __importStar(require("../sbvr-api/permissions"));
|
38
|
-
const checkPassword = async (username, password, done) => {
|
1
|
+
import * as permissions from '../sbvr-api/permissions.js';
|
2
|
+
export let login;
|
3
|
+
export let logout;
|
4
|
+
export const checkPassword = async (username, password, done) => {
|
39
5
|
try {
|
40
6
|
const result = await permissions.checkPassword(username, password);
|
41
7
|
done(undefined, result);
|
@@ -44,7 +10,6 @@ const checkPassword = async (username, password, done) => {
|
|
44
10
|
done(undefined, false);
|
45
11
|
}
|
46
12
|
};
|
47
|
-
exports.checkPassword = checkPassword;
|
48
13
|
const setup = async (app) => {
|
49
14
|
if (!process.browser) {
|
50
15
|
const { default: passport } = await import('passport');
|
@@ -57,8 +22,8 @@ const setup = async (app) => {
|
|
57
22
|
passport.deserializeUser((user, done) => {
|
58
23
|
done(null, user);
|
59
24
|
});
|
60
|
-
passport.use(new LocalStrategy(
|
61
|
-
|
25
|
+
passport.use(new LocalStrategy(checkPassword));
|
26
|
+
login = (fn) => (req, res, next) => passport.authenticate('local', ((err, user) => {
|
62
27
|
if (err || user == null || user === false) {
|
63
28
|
fn(err, user, req, res, next);
|
64
29
|
return;
|
@@ -67,7 +32,7 @@ const setup = async (app) => {
|
|
67
32
|
fn(error, user, req, res, next);
|
68
33
|
});
|
69
34
|
}))(req, res, next);
|
70
|
-
|
35
|
+
logout = (req, _res, next) => {
|
71
36
|
req.logout((error) => {
|
72
37
|
if (error) {
|
73
38
|
next(error);
|
@@ -86,8 +51,8 @@ const setup = async (app) => {
|
|
86
51
|
}
|
87
52
|
next();
|
88
53
|
});
|
89
|
-
|
90
|
-
|
54
|
+
login = (fn) => (req, res, next) => {
|
55
|
+
checkPassword(req.body.username, req.body.password, (err, user) => {
|
91
56
|
if (user) {
|
92
57
|
loggedIn = true;
|
93
58
|
loggedInUser = user;
|
@@ -95,7 +60,7 @@ const setup = async (app) => {
|
|
95
60
|
fn(err, user, req, res, next);
|
96
61
|
});
|
97
62
|
};
|
98
|
-
|
63
|
+
logout = (req, _res, next) => {
|
99
64
|
delete req.user;
|
100
65
|
loggedIn = false;
|
101
66
|
loggedInUser = null;
|
@@ -103,7 +68,7 @@ const setup = async (app) => {
|
|
103
68
|
};
|
104
69
|
}
|
105
70
|
};
|
106
|
-
|
71
|
+
export const config = {
|
107
72
|
models: [
|
108
73
|
{
|
109
74
|
customServerCode: { setup },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"passport-pinejs.js","sourceRoot":"","sources":["../../src/passport-pinejs/passport-pinejs.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"passport-pinejs.js","sourceRoot":"","sources":["../../src/passport-pinejs/passport-pinejs.ts"],"names":[],"mappings":"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"}
|