@balena/pinejs 14.44.0-linear-runtime-migrator-9d426d29f2b01ef0425c72333c2c691976fdc219 → 15.0.0-delete-state-default-user-permissions-57ce3dc6141cd1e8159f4c34da29d1fb113242c6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/.versionbot/CHANGELOG.yml +126 -31
  2. package/CHANGELOG.md +63 -5
  3. package/VERSION +1 -1
  4. package/docs/Migrations.md +1 -101
  5. package/out/bin/utils.d.ts +2 -2
  6. package/out/config-loader/config-loader.d.ts +2 -2
  7. package/out/config-loader/config-loader.js +20 -29
  8. package/out/config-loader/config-loader.js.map +1 -1
  9. package/out/config-loader/env.d.ts +0 -3
  10. package/out/config-loader/env.js +0 -3
  11. package/out/config-loader/env.js.map +1 -1
  12. package/out/data-server/sbvr-server.d.ts +1 -3
  13. package/out/data-server/sbvr-server.js +1 -4
  14. package/out/data-server/sbvr-server.js.map +1 -1
  15. package/out/migrator/migrations.sbvr +0 -66
  16. package/out/migrator/migrator.d.ts +17 -0
  17. package/out/migrator/migrator.js +185 -0
  18. package/out/migrator/migrator.js.map +1 -0
  19. package/out/pinejs-session-store/pinejs-session-store.js +1 -4
  20. package/out/pinejs-session-store/pinejs-session-store.js.map +1 -1
  21. package/out/sbvr-api/abstract-sql.d.ts +1 -1
  22. package/out/sbvr-api/permissions.d.ts +5 -5
  23. package/out/sbvr-api/permissions.js +3 -6
  24. package/out/sbvr-api/permissions.js.map +1 -1
  25. package/out/sbvr-api/sbvr-utils.d.ts +4 -6
  26. package/out/sbvr-api/sbvr-utils.js +5 -17
  27. package/out/sbvr-api/sbvr-utils.js.map +1 -1
  28. package/out/server-glue/module.d.ts +3 -3
  29. package/out/server-glue/module.js +1 -2
  30. package/out/server-glue/module.js.map +1 -1
  31. package/package.json +7 -7
  32. package/src/config-loader/config-loader.ts +27 -62
  33. package/src/config-loader/env.ts +0 -3
  34. package/src/data-server/sbvr-server.js +1 -4
  35. package/src/migrator/migrations.sbvr +0 -66
  36. package/src/migrator/migrator.ts +278 -0
  37. package/src/pinejs-session-store/pinejs-session-store.ts +1 -4
  38. package/src/sbvr-api/permissions.ts +3 -6
  39. package/src/sbvr-api/sbvr-utils.ts +4 -22
  40. package/src/server-glue/module.ts +2 -3
  41. package/out/migrator/async.d.ts +0 -6
  42. package/out/migrator/async.js +0 -154
  43. package/out/migrator/async.js.map +0 -1
  44. package/out/migrator/sync.d.ts +0 -9
  45. package/out/migrator/sync.js +0 -117
  46. package/out/migrator/sync.js.map +0 -1
  47. package/out/migrator/utils.d.ts +0 -51
  48. package/out/migrator/utils.js +0 -187
  49. package/out/migrator/utils.js.map +0 -1
  50. package/src/migrator/async.ts +0 -273
  51. package/src/migrator/sync.ts +0 -167
  52. package/src/migrator/utils.ts +0 -293
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setup = exports.executeStandardModels = exports.handleHttpErrors = exports.onHandleHttpError = exports.handleODataRequest = exports.getAffectedIds = exports.getAbstractSqlModel = exports.runURI = exports.api = exports.PinejsClient = exports.runRule = exports.getID = exports.deleteModel = exports.executeModels = exports.executeModel = exports.executeAsyncModelMigrations = exports.executeAsyncModelMigration = exports.generateModels = exports.generateSqlModel = exports.generateAbstractSqlModel = exports.generateLfModel = exports.validateModel = exports.resolveNavigationResource = exports.resolveSynonym = exports.resolveOdataBind = exports.sbvrTypes = exports.db = exports.addSideEffectHook = exports.addPureHook = void 0;
3
+ exports.setup = exports.executeStandardModels = exports.handleHttpErrors = exports.onHandleHttpError = exports.handleODataRequest = exports.getAffectedIds = exports.getAbstractSqlModel = exports.runURI = exports.api = exports.PinejsClient = exports.runRule = exports.getID = exports.deleteModel = exports.executeModels = exports.executeModel = exports.generateModels = exports.generateSqlModel = exports.generateAbstractSqlModel = exports.generateLfModel = exports.validateModel = exports.resolveNavigationResource = exports.resolveSynonym = exports.resolveOdataBind = exports.sbvrTypes = exports.db = exports.addSideEffectHook = exports.addPureHook = void 0;
4
4
  const _ = require("lodash");
5
5
  const cached_compile_1 = require("./cached-compile");
6
6
  const AbstractSQLCompiler = require("@balena/abstract-sql-compiler");
@@ -12,9 +12,7 @@ exports.sbvrTypes = sbvrTypes;
12
12
  const deepFreeze = require("deep-freeze");
13
13
  const pinejs_client_core_1 = require("pinejs-client-core");
14
14
  const extended_sbvr_parser_1 = require("../extended-sbvr-parser/extended-sbvr-parser");
15
- const utils_1 = require("../migrator/utils");
16
- const asyncMigrator = require("../migrator/async");
17
- const syncMigrator = require("../migrator/sync");
15
+ const migrator = require("../migrator/migrator");
18
16
  const odata_metadata_generator_1 = require("../odata-metadata/odata-metadata-generator");
19
17
  const devModel = require('./dev.sbvr');
20
18
  const permissions = require("./permissions");
@@ -213,14 +211,6 @@ const generateModels = (model, targetDatabaseEngine) => {
213
211
  return { vocab, se, lf, abstractSql, sql, odataMetadata };
214
212
  };
215
213
  exports.generateModels = generateModels;
216
- const executeAsyncModelMigration = (model) => (0, exports.executeAsyncModelMigrations)([model]);
217
- exports.executeAsyncModelMigration = executeAsyncModelMigration;
218
- const executeAsyncModelMigrations = async (execModels) => {
219
- await Promise.all(execModels.map(async (model) => {
220
- await asyncMigrator.run(model);
221
- }));
222
- };
223
- exports.executeAsyncModelMigrations = executeAsyncModelMigrations;
224
214
  const executeModel = (tx, model) => (0, exports.executeModels)(tx, [model]);
225
215
  exports.executeModel = executeModel;
226
216
  const executeModels = async (tx, execModels) => {
@@ -228,7 +218,7 @@ const executeModels = async (tx, execModels) => {
228
218
  const compiledModels = await Promise.all(execModels.map(async (model) => {
229
219
  var _a, _b, _c, _d;
230
220
  const { apiRoot } = model;
231
- await syncMigrator.run(tx, model);
221
+ await migrator.run(tx, model);
232
222
  const compiledModel = (0, exports.generateModels)(model, exports.db.engine);
233
223
  for (const createStatement of compiledModel.sql.createSchema) {
234
224
  const promise = tx.executeSql(createStatement);
@@ -239,7 +229,7 @@ const executeModels = async (tx, execModels) => {
239
229
  }
240
230
  await promise;
241
231
  }
242
- await syncMigrator.postRun(tx, model);
232
+ await migrator.postRun(tx, model);
243
233
  odataResponse.prepareModel(compiledModel.abstractSql);
244
234
  deepFreeze(compiledModel.abstractSql);
245
235
  models[apiRoot] = compiledModel;
@@ -1086,12 +1076,10 @@ const executeStandardModels = async (tx) => {
1086
1076
  log: false,
1087
1077
  },
1088
1078
  migrations: {
1089
- [utils_1.defaultMigrationCategory]: {
1090
- '11.0.0-modified-at': `
1079
+ '11.0.0-modified-at': `
1091
1080
  ALTER TABLE "model"
1092
1081
  ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1093
1082
  `,
1094
- },
1095
1083
  },
1096
1084
  });
1097
1085
  await (0, exports.executeModels)(tx, permissions.config.models);
@@ -1 +1 @@
1
- {"version":3,"file":"sbvr-utils.js","sourceRoot":"","sources":["../../src/sbvr-api/sbvr-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sbvr-utils.js","sourceRoot":"","sources":["../../src/sbvr-api/sbvr-utils.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type * as Express from 'express';
3
3
  import './sbvr-loader';
4
4
  import * as dbModule from '../database-layer/db';
5
5
  import * as configLoader from '../config-loader/config-loader';
6
- import * as migratorUtils from '../migrator/utils';
6
+ import * as migrator from '../migrator/migrator';
7
7
  export * as dbModule from '../database-layer/db';
8
8
  export { PinejsSessionStore } from '../pinejs-session-store/pinejs-session-store';
9
9
  export * as sbvrUtils from '../sbvr-api/sbvr-utils';
@@ -13,6 +13,6 @@ export * as env from '../config-loader/env';
13
13
  export * as types from '../sbvr-api/common-types';
14
14
  export * as hooks from '../sbvr-api/hooks';
15
15
  export type { configLoader as ConfigLoader };
16
- export type { migratorUtils as Migrator };
16
+ export type { migrator as Migrator };
17
17
  declare let envDatabaseOptions: dbModule.DatabaseOptions<string>;
18
- export declare const init: <T extends string>(app: Express.Application, config?: string | configLoader.Config | undefined, databaseOptions?: dbModule.DatabaseOptions<string> | dbModule.DatabaseOptions<T>) => Promise<ReturnType<typeof configLoader.setup>>;
18
+ export declare const init: <T extends string>(app: Express.Application, config?: string | configLoader.Config, databaseOptions?: dbModule.DatabaseOptions<string> | dbModule.DatabaseOptions<T>) => Promise<ReturnType<typeof configLoader.setup>>;
@@ -4,8 +4,7 @@ exports.init = exports.hooks = exports.types = exports.env = exports.errors = ex
4
4
  require("./sbvr-loader");
5
5
  const dbModule = require("../database-layer/db");
6
6
  const configLoader = require("../config-loader/config-loader");
7
- const migrator = require("../migrator/sync");
8
- const migratorUtils = require("../migrator/utils");
7
+ const migrator = require("../migrator/migrator");
9
8
  const sbvrUtils = require("../sbvr-api/sbvr-utils");
10
9
  exports.dbModule = require("../database-layer/db");
11
10
  var pinejs_session_store_1 = require("../pinejs-session-store/pinejs-session-store");
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/server-glue/module.ts"],"names":[],"mappings":";;;AAEA,yBAAuB;AAEvB,iDAAiD;AACjD,+DAA+D;AAC/D,6CAA6C;AAC7C,mDAAmD;AAEnD,oDAAoD;AAEpD,mDAAiD;AACjD,qFAAkF;AAAzE,0HAAA,kBAAkB,OAAA;AAC3B,sDAAoD;AACpD,yDAAuD;AACvD,+CAA6C;AAC7C,8CAA4C;AAC5C,oDAAkD;AAClD,6CAA2C;AAI3C,IAAI,kBAAoD,CAAC;AACzD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;IACpC,kBAAkB,GAAG;QACpB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,YAAY;KACpB,CAAC;CACF;KAAM;IACN,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC7B,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC7C,WAAW,GAAG,+CAA+C,CAAC;KAC9D;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;QAC1C,WAAW,GAAG,gCAAgC,CAAC;KAC/C;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC3D;IACD,kBAAkB,GAAG;QACpB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,WAAW;KACnB,CAAC;CACF;AAEM,MAAM,IAAI,GAAG,KAAK,EACxB,GAAwB,EACxB,MAAqC,EACrC,kBAE+B,kBAAkB,EACA,EAAE;IACnD,IAAI;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACpC,MAAM,UAAU,GAAG,2CAAa,4BAA4B,EAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CACZ,SAAS;iBACP,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;iBAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;SACF;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;AACF,CAAC,CAAC;AAlCW,QAAA,IAAI,QAkCf"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/server-glue/module.ts"],"names":[],"mappings":";;;AAEA,yBAAuB;AAEvB,iDAAiD;AACjD,+DAA+D;AAC/D,iDAAiD;AAEjD,oDAAoD;AAEpD,mDAAiD;AACjD,qFAAkF;AAAzE,0HAAA,kBAAkB,OAAA;AAC3B,sDAAoD;AACpD,yDAAuD;AACvD,+CAA6C;AAC7C,8CAA4C;AAC5C,oDAAkD;AAClD,6CAA2C;AAI3C,IAAI,kBAAoD,CAAC;AACzD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;IACpC,kBAAkB,GAAG;QACpB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,YAAY;KACpB,CAAC;CACF;KAAM;IACN,IAAI,WAAmB,CAAC;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC7B,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;KACvC;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC7C,WAAW,GAAG,+CAA+C,CAAC;KAC9D;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;QAC1C,WAAW,GAAG,gCAAgC,CAAC;KAC/C;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC3D;IACD,kBAAkB,GAAG;QACpB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,EAAE,WAAW;KACnB,CAAC;CACF;AAEM,MAAM,IAAI,GAAG,KAAK,EACxB,GAAwB,EACxB,MAAqC,EACrC,kBAE+B,kBAAkB,EACA,EAAE;IACnD,IAAI;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACpC,MAAM,UAAU,GAAG,2CAAa,4BAA4B,EAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CACZ,SAAS;iBACP,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;iBAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;SACF;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChB;AACF,CAAC,CAAC;AAlCW,QAAA,IAAI,QAkCf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "14.44.0-linear-runtime-migrator-9d426d29f2b01ef0425c72333c2c691976fdc219",
3
+ "version": "15.0.0-delete-state-default-user-permissions-57ce3dc6141cd1e8159f4c34da29d1fb113242c6",
4
4
  "main": "out/server-glue/module",
5
5
  "repository": "git@github.com:balena-io/pinejs.git",
6
6
  "license": "Apache-2.0",
@@ -30,11 +30,11 @@
30
30
  "prettify": "balena-lint -e js -e ts --fix src build typings Gruntfile.ts"
31
31
  },
32
32
  "dependencies": {
33
- "@balena/abstract-sql-compiler": "^7.19.1",
33
+ "@balena/abstract-sql-compiler": "^7.20.0",
34
34
  "@balena/abstract-sql-to-typescript": "^1.2.0",
35
35
  "@balena/lf-to-abstract-sql": "^4.5.1",
36
36
  "@balena/odata-parser": "^2.2.9",
37
- "@balena/odata-to-abstract-sql": "^5.4.9",
37
+ "@balena/odata-to-abstract-sql": "^5.4.11",
38
38
  "@balena/sbvr-parser": "^1.4.1",
39
39
  "@balena/sbvr-types": "^3.4.7",
40
40
  "@types/body-parser": "^1.19.2",
@@ -48,7 +48,7 @@
48
48
  "@types/method-override": "^0.0.32",
49
49
  "@types/multer": "^1.4.7",
50
50
  "@types/mysql": "^2.15.21",
51
- "@types/node": "^12.20.51",
51
+ "@types/node": "^12.20.52",
52
52
  "@types/passport": "^1.0.7",
53
53
  "@types/passport-local": "^1.0.34",
54
54
  "@types/passport-strategy": "^0.2.35",
@@ -96,7 +96,7 @@
96
96
  "terser-webpack-plugin": "^5.3.1",
97
97
  "ts-loader": "^9.3.0",
98
98
  "ts-node": "^10.7.0",
99
- "typescript": "^4.6.4",
99
+ "typescript": "^4.7.2",
100
100
  "webpack": "^5.72.1",
101
101
  "webpack-dev-server": "^4.9.0"
102
102
  },
@@ -109,7 +109,7 @@
109
109
  "method-override": "^3.0.0",
110
110
  "multer": "^1.4.4",
111
111
  "mysql": "^2.18.1",
112
- "passport": "^0.5.2",
112
+ "passport": "^0.5.3",
113
113
  "passport-local": "^1.0.0",
114
114
  "pg": "^8.7.3",
115
115
  "pg-connection-string": "^2.5.0",
@@ -144,6 +144,6 @@
144
144
  "recursive": true
145
145
  },
146
146
  "versionist": {
147
- "publishedAt": "2022-05-19T16:49:23.089Z"
147
+ "publishedAt": "2022-06-02T15:17:34.165Z"
148
148
  }
149
149
  }
@@ -1,15 +1,9 @@
1
1
  import type * as Express from 'express';
2
2
  import type { AbstractSqlModel } from '@balena/abstract-sql-compiler';
3
3
  import type { Database } from '../database-layer/db';
4
+ import type { Migration } from '../migrator/migrator';
4
5
  import type { AnyObject, Resolvable } from '../sbvr-api/common-types';
5
6
 
6
- import {
7
- Migration,
8
- Migrations,
9
- defaultMigrationCategory,
10
- migrationCategories,
11
- } from '../migrator/utils';
12
-
13
7
  import * as fs from 'fs';
14
8
  import * as _ from 'lodash';
15
9
  import * as path from 'path';
@@ -31,7 +25,9 @@ export interface Model {
31
25
  modelText?: string;
32
26
  abstractSql?: AbstractSqlModel;
33
27
  migrationsPath?: string;
34
- migrations?: { [key: string]: Migrations };
28
+ migrations?: {
29
+ [index: string]: Migration;
30
+ };
35
31
  initSqlPath?: string;
36
32
  initSql?: string;
37
33
  customServerCode?:
@@ -132,15 +128,32 @@ export const setup = (app: Express.Application) => {
132
128
  },
133
129
  );
134
130
  if (user.permissions != null) {
135
- await Promise.all(
131
+ const permissionIds = await Promise.all(
136
132
  user.permissions.map(async (permissionName) => {
137
133
  const permissionID = await permissionsCache[permissionName];
138
134
  await getOrCreate(authApiTx, 'user__has__permission', {
139
135
  user: userID,
140
136
  permission: permissionID,
141
137
  });
138
+ return permissionID;
142
139
  }),
143
140
  );
141
+
142
+ await authApiTx.delete({
143
+ resource: 'user__has__permission',
144
+ options: {
145
+ $filter: {
146
+ user: userID,
147
+ ...(permissionIds.length > 0 && {
148
+ $not: {
149
+ permission: {
150
+ $in: permissionIds,
151
+ },
152
+ },
153
+ }),
154
+ },
155
+ },
156
+ });
144
157
  }
145
158
  } catch (e) {
146
159
  e.message = `Could not create or find user "${user.username}": ${e.message}`;
@@ -255,52 +268,18 @@ export const setup = (app: Express.Application) => {
255
268
  await Promise.all(
256
269
  fileNames.map(async (filename) => {
257
270
  const filePath = path.join(migrationsPath, filename);
258
- const fileNameParts = filename.split('.', 3);
259
- const fileExtension = path.extname(filename);
260
271
  const [migrationKey] = filename.split('-', 1);
261
- let migrationCategory = defaultMigrationCategory;
262
272
 
263
- if (fileNameParts.length === 3) {
264
- if (migrationCategories.hasOwnProperty(fileNameParts[1])) {
265
- migrationCategory = fileNameParts[1];
266
- } else {
267
- console.error(
268
- `Unrecognised migration file category, skipping: ${path.extname(
269
- filename,
270
- )}`,
271
- );
272
- return;
273
- }
274
- }
275
- /**
276
- * helper to assign migrations with category level to model
277
- * example migration file names:
278
- *
279
- * key0-name.ts ==> defaults startup migration
280
- * key1-name1.sql ==> defaults startup migration
281
- * key2-name2.sync.sql ==> explicit synchrony migration
282
- * key3-name3.async.ts ==> async migration (async datafiller)
283
- * key4-name4.async.sql ==> async migration (async datafiller)
284
- *
285
- */
286
- const assignMigrationWithCategory = (
287
- newMigration: Migration,
288
- ) => {
289
- migrations[migrationCategory] = Object.assign(
290
- { [migrationKey]: newMigration },
291
- migrations[migrationCategory],
292
- );
293
- };
294
-
295
- switch (fileExtension) {
273
+ switch (path.extname(filename)) {
296
274
  case '.coffee':
297
275
  case '.ts':
298
276
  case '.js':
299
- assignMigrationWithCategory(nodeRequire(filePath));
277
+ migrations[migrationKey] = nodeRequire(filePath);
300
278
  break;
301
279
  case '.sql':
302
- assignMigrationWithCategory(
303
- await fs.promises.readFile(filePath, 'utf8'),
280
+ migrations[migrationKey] = await fs.promises.readFile(
281
+ filePath,
282
+ 'utf8',
304
283
  );
305
284
  break;
306
285
  default:
@@ -320,26 +299,12 @@ export const setup = (app: Express.Application) => {
320
299
  }),
321
300
  );
322
301
  await loadConfig(configObj);
323
- runAsyncMigrations(configObj); // async migrations will run in background - nothing to wait for
324
302
  } catch (err) {
325
303
  console.error('Error loading application config', err, err.stack);
326
304
  process.exit(1);
327
305
  }
328
306
  };
329
307
 
330
- const runAsyncMigrations = (data: Config): void => {
331
- for (const model of data.models) {
332
- if (
333
- model.migrations != null &&
334
- Object.keys(model.migrations).includes(migrationCategories.async)
335
- ) {
336
- sbvrUtils.executeAsyncModelMigration(
337
- model as sbvrUtils.ExecutableModel,
338
- );
339
- }
340
- }
341
- };
342
-
343
308
  return {
344
309
  loadConfig,
345
310
  loadApplicationConfig,
@@ -108,7 +108,4 @@ export const migrator = {
108
108
  lockTimeout: 5 * 60 * 1000,
109
109
  // Used to delay the failure on lock taking, to avoid spam taking
110
110
  lockFailDelay: 20 * 1000,
111
- asyncMigrationDefaultDelayMS: 1000,
112
- asyncMigrationDefaultBackoffDelayMS: 60000,
113
- asyncMigrationDefaultErrorThreshold: 10,
114
111
  };
@@ -1,4 +1,3 @@
1
- import { defaultMigrationCategory } from '../migrator/utils';
2
1
  import * as permissions from '../sbvr-api/permissions';
3
2
 
4
3
  const uiModel = `\
@@ -56,12 +55,10 @@ export let config = {
56
55
  apiRoot: 'ui',
57
56
  customServerCode: { setup },
58
57
  migrations: {
59
- [defaultMigrationCategory]: {
60
- '11.0.0-modified-at': `\
58
+ '11.0.0-modified-at': `\
61
59
  ALTER TABLE "textarea"
62
60
  ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\
63
61
  `,
64
- },
65
62
  },
66
63
  },
67
64
  ],
@@ -7,7 +7,6 @@ Term: executed migrations
7
7
  Term: lock time
8
8
  Concept Type: Date Time (Type)
9
9
 
10
-
11
10
  Term: migration
12
11
  Reference Scheme: model name
13
12
  Database ID Field: model name
@@ -22,68 +21,3 @@ Term: migration lock
22
21
 
23
22
  Fact Type: migration lock has model name
24
23
  Necessity: each migration lock has exactly one model name
25
-
26
-
27
- Term: migration key
28
- Concept Type: Short Text (Type)
29
- Term: start time
30
- Concept Type: Date Time (Type)
31
- Term: last run time
32
- Concept Type: Date Time (Type)
33
- Term: run counter
34
- Concept Type: Integer (Type)
35
- Term: migrated rows
36
- Concept Type: Integer (Type)
37
- Term: error counter
38
- Concept Type: Integer (Type)
39
- Term: error threshold
40
- Concept Type: Integer (Type)
41
- Term: delayMS
42
- Concept Type: Integer (Type)
43
- Term: backoffDelayMS
44
- Concept Type: Integer (Type)
45
- Term: converged time
46
- Concept Type: Date Time (Type)
47
- Term: last error message
48
- Concept Type: Text (Type)
49
-
50
- Term: migration status
51
- Reference Scheme: migration key
52
- Database ID Field: migration key
53
-
54
- Fact Type: migration status has migration key
55
- Necessity: each migration status has exactly one migration key
56
-
57
- Fact Type: migration status has start time
58
- Necessity: each migration status has at most one start time
59
-
60
- Fact Type: migration status has last run time
61
- Necessity: each migration status has at most one last run time
62
-
63
- Fact Type: migration status has run counter
64
- Necessity: each migration status has at most one run counter
65
-
66
- Fact Type: migration status has migrated rows
67
- Necessity: each migration status has at most one migrated rows
68
-
69
- Fact Type: migration status has error counter
70
- Necessity: each migration status has at most one error counter
71
-
72
- Fact Type: migration status has error threshold
73
- Necessity: each migration status has at most one error threshold
74
-
75
- Fact Type: migration status has delayMS
76
- Necessity: each migration status has at most one delayMS
77
-
78
- Fact Type: migration status has backoffDelayMS
79
- Necessity: each migration status has at most one backoffDelayMS
80
-
81
- Fact Type: migration status is backoff
82
-
83
- Fact Type: migration status has converged time
84
- Necessity: each migration status has at most one converged time
85
-
86
- Fact Type: migration status has last error message
87
- Necessity: each migration status has at most one last error message
88
-
89
- Fact Type: migration status should stop