@balena/pinejs 15.0.0-delete-state-default-user-permissions-981931563dc47b2a8b873bc787d7dacfcc6c52e3 → 15.0.0-deprecate-node12-8a99d72ae66d7708293afc56c5d7eb19b39081cd

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. package/.resinci.yml +0 -1
  2. package/.versionbot/CHANGELOG.yml +226 -8
  3. package/CHANGELOG.md +85 -1
  4. package/out/bin/utils.js +1 -1
  5. package/out/bin/utils.js.map +1 -1
  6. package/out/config-loader/config-loader.d.ts +3 -5
  7. package/out/config-loader/config-loader.js +35 -31
  8. package/out/config-loader/config-loader.js.map +1 -1
  9. package/out/data-server/sbvr-server.js +8 -8
  10. package/out/data-server/sbvr-server.js.map +1 -1
  11. package/out/database-layer/db.d.ts +1 -1
  12. package/out/database-layer/db.js +3 -3
  13. package/out/database-layer/db.js.map +1 -1
  14. package/out/express-emulator/express.js +1 -1
  15. package/out/express-emulator/express.js.map +1 -1
  16. package/out/http-transactions/transactions.js +4 -4
  17. package/out/http-transactions/transactions.js.map +1 -1
  18. package/out/migrator/sync.d.ts +9 -0
  19. package/out/migrator/sync.js +121 -0
  20. package/out/migrator/sync.js.map +1 -0
  21. package/out/migrator/utils.d.ts +28 -0
  22. package/out/migrator/utils.js +104 -0
  23. package/out/migrator/utils.js.map +1 -0
  24. package/out/odata-metadata/odata-metadata-generator.js +6 -9
  25. package/out/odata-metadata/odata-metadata-generator.js.map +1 -1
  26. package/out/passport-pinejs/passport-pinejs.js +4 -3
  27. package/out/passport-pinejs/passport-pinejs.js.map +1 -1
  28. package/out/pinejs-session-store/pinejs-session-store.js +1 -1
  29. package/out/pinejs-session-store/pinejs-session-store.js.map +1 -1
  30. package/out/sbvr-api/abstract-sql.d.ts +1 -1
  31. package/out/sbvr-api/abstract-sql.js.map +1 -1
  32. package/out/sbvr-api/control-flow.js.map +1 -1
  33. package/out/sbvr-api/hooks.d.ts +6 -3
  34. package/out/sbvr-api/hooks.js +3 -3
  35. package/out/sbvr-api/hooks.js.map +1 -1
  36. package/out/sbvr-api/odata-response.js +5 -5
  37. package/out/sbvr-api/odata-response.js.map +1 -1
  38. package/out/sbvr-api/permissions.js +25 -20
  39. package/out/sbvr-api/permissions.js.map +1 -1
  40. package/out/sbvr-api/sbvr-utils.d.ts +4 -3
  41. package/out/sbvr-api/sbvr-utils.js +71 -48
  42. package/out/sbvr-api/sbvr-utils.js.map +1 -1
  43. package/out/sbvr-api/uri-parser.d.ts +13 -11
  44. package/out/sbvr-api/uri-parser.js +4 -4
  45. package/out/sbvr-api/uri-parser.js.map +1 -1
  46. package/out/server-glue/module.d.ts +2 -2
  47. package/out/server-glue/module.js +2 -1
  48. package/out/server-glue/module.js.map +1 -1
  49. package/package.json +19 -19
  50. package/src/bin/utils.ts +1 -1
  51. package/src/config-loader/config-loader.ts +69 -44
  52. package/src/data-server/sbvr-server.js +8 -8
  53. package/src/database-layer/db.ts +11 -11
  54. package/src/express-emulator/express.js +1 -1
  55. package/src/http-transactions/transactions.js +4 -4
  56. package/src/migrator/sync.ts +169 -0
  57. package/src/migrator/utils.ts +154 -0
  58. package/src/odata-metadata/odata-metadata-generator.ts +8 -11
  59. package/src/passport-pinejs/passport-pinejs.ts +3 -2
  60. package/src/sbvr-api/abstract-sql.ts +6 -3
  61. package/src/sbvr-api/control-flow.ts +2 -2
  62. package/src/sbvr-api/hooks.ts +18 -8
  63. package/src/sbvr-api/odata-response.ts +4 -4
  64. package/src/sbvr-api/permissions.ts +42 -36
  65. package/src/sbvr-api/sbvr-utils.ts +121 -58
  66. package/src/sbvr-api/uri-parser.ts +29 -21
  67. package/src/server-glue/module.ts +4 -3
  68. package/tsconfig.json +1 -3
  69. package/typings/lf-to-abstract-sql.d.ts +6 -9
  70. package/out/migrator/migrator.d.ts +0 -17
  71. package/out/migrator/migrator.js +0 -185
  72. package/out/migrator/migrator.js.map +0 -1
  73. package/src/migrator/migrator.ts +0 -278
package/.resinci.yml CHANGED
@@ -12,7 +12,6 @@ npm:
12
12
  os: alpine
13
13
  architecture: x86_64
14
14
  node_versions:
15
- - "12"
16
15
  - "14"
17
16
  - "16"
18
17
  - "18"
@@ -1,19 +1,237 @@
1
1
  - commits:
2
- - subject: Delete default user permissions that are no longer in the config
3
- hash: 981931563dc47b2a8b873bc787d7dacfcc6c52e3
4
- body: ""
2
+ - subject: Deprecate node 12
3
+ hash: 8a99d72ae66d7708293afc56c5d7eb19b39081cd
4
+ body: |
5
+ node 12 is EOL version
5
6
  footer:
6
7
  Change-type: major
7
8
  change-type: major
8
- See: https://www.flowdock.com/app/rulemotion/resin-devops/threads/-dlSgJYAMPMNZQ6mpxMlubGKYF6
9
- see: https://www.flowdock.com/app/rulemotion/resin-devops/threads/-dlSgJYAMPMNZQ6mpxMlubGKYF6
9
+ Signed-off-by: Harald Fischer <harald@balena.io>
10
+ signed-off-by: Harald Fischer <harald@balena.io>
11
+ author: Harald Fischer
12
+ nested: []
13
+ - subject: Differentiate typings between parsed and processed odata requests
14
+ hash: af632f0cc0968b25d9acebca0d83bf22f84f617f
15
+ body: |
16
+ This allows us to make properties on the process odata request required
17
+ whereas previously they had to be optional in order to be compatible,
18
+ as of now this only affects the `engine` property but in future further
19
+ properties of the processed request could be made required. And even at
20
+ this point it will block passing a parsed only request object to a
21
+ function expecting a processed request object
22
+ footer:
23
+ Change-type: patch
24
+ change-type: patch
25
+ author: Pagan Gazzard
26
+ nested: []
27
+ version: 15.0.0
28
+ title: "'Deprecate node 12'"
29
+ date: 2022-08-02T12:27:59.494Z
30
+ - commits:
31
+ - subject: Refactur checkModelExists to isModelNew
32
+ hash: 28725993f36edb2f372145addb3841b9a899d880
33
+ body: >
34
+ Modules may need to know if a model existed before initialisation of the
35
+ instance.
36
+
37
+ Eg. migrations need to know if a model is freshly generated / executed
38
+
39
+ of if this model already existed and can be target for migrations.
40
+ footer:
41
+ Change-type: minor
42
+ change-type: minor
43
+ Signed-off-by: Harald Fischer <harald@balena.io>
44
+ signed-off-by: Harald Fischer <harald@balena.io>
45
+ author: Harald Fischer
46
+ nested: []
47
+ version: 14.48.0
48
+ title: "'Refactor checkModelExists to isModelNew'"
49
+ date: 2022-07-26T17:59:52.601Z
50
+ - commits:
51
+ - subject: Fix synonyms iteration
52
+ hash: a13857c71696aff92e01d5beab88f19470f57f08
53
+ body: ""
54
+ footer:
55
+ Change-type: patch
56
+ change-type: patch
57
+ author: Pagan Gazzard
58
+ nested: []
59
+ version: 14.47.6
60
+ title: "'Fix synonyms iteration'"
61
+ date: 2022-07-26T15:21:52.695Z
62
+ - commits:
63
+ - subject: Prefer for..of over forEach
64
+ hash: 71449d9e0eccc52209e8639f3146d0a672408000
65
+ body: ""
66
+ footer:
67
+ Change-type: patch
68
+ change-type: patch
69
+ author: Pagan Gazzard
70
+ nested: []
71
+ version: 14.47.5
72
+ title: "'Prefer for..of over forEach'"
73
+ date: 2022-07-26T14:28:43.972Z
74
+ - commits:
75
+ - subject: Convert lodash flatMap/flatten to native versions
76
+ hash: 84d66b7adad29cafdfe80fcdc62d396c7ff5640e
77
+ body: ""
78
+ footer:
79
+ Change-type: patch
80
+ change-type: patch
81
+ author: Pagan Gazzard
82
+ nested: []
83
+ version: 14.47.4
84
+ title: "'Convert lodash flatMap/flatten to native versions'"
85
+ date: 2022-07-25T14:28:40.196Z
86
+ - commits:
87
+ - subject: Convert lodash `isObject` usage to native versions
88
+ hash: 878e484788dc9f74d7c8d88b136694943e6ae592
89
+ body: ""
90
+ footer:
91
+ Change-type: patch
92
+ change-type: patch
93
+ author: Pagan Gazzard
94
+ nested: []
95
+ version: 14.47.3
96
+ title: "'Convert lodash usage to native versions'"
97
+ date: 2022-07-25T12:55:28.636Z
98
+ - commits:
99
+ - subject: Narrow the scope of the permissions bypass for root permissions
100
+ hash: 5b25906b444af997d0cae532d60866479b077c0d
101
+ body: |
102
+ This changes the bypass to only occur before guest permissions are
103
+ initialized, only when specifically using `root` or `rootRead`
104
+ permissions, and also now constrains the model to the specific
105
+ permissions passed in rather than bypassing permissions altogether
106
+ for the root cases
107
+ footer:
108
+ Change-type: patch
109
+ change-type: patch
110
+ author: Pagan Gazzard
111
+ nested: []
112
+ version: 14.47.2
113
+ title: "'Narrow the scope of the permissions bypass for root permissions'"
114
+ date: 2022-07-21T14:18:44.358Z
115
+ - commits:
116
+ - subject: Increase strictness of typings
117
+ hash: b375427a135f9194cc1fbe93afe9e1b627173a52
118
+ body: ""
119
+ footer:
120
+ Change-type: patch
121
+ change-type: patch
122
+ author: Pagan Gazzard
123
+ nested: []
124
+ version: 14.47.1
125
+ title: "'Increase strictness of typings'"
126
+ date: 2022-07-21T13:24:04.688Z
127
+ - commits:
128
+ - subject: Allow PRERESPOND hooks to modify the response
129
+ hash: 5281c05f32f80133dc2016eb8f7903b76bbba272
130
+ body: ""
131
+ footer:
132
+ Change-type: minor
133
+ change-type: minor
134
+ author: Pagan Gazzard
135
+ nested: []
136
+ version: 14.47.0
137
+ title: "'Allow PRERESPOND hooks to modify the response'"
138
+ date: 2022-07-14T16:01:21.648Z
139
+ - commits:
140
+ - subject: Update @balena/odata-to-abstract-sql to 5.4.12
141
+ hash: 2e7f668d79b8d0120d9b63c49521bdf3afd83a2f
142
+ body: |
143
+ Update @balena/odata-to-abstract-sql from 5.4.11 to 5.4.12
144
+ footer:
145
+ Change-type: patch
146
+ change-type: patch
10
147
  Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
11
148
  signed-off-by: Thodoris Greasidis <thodoris@balena.io>
12
149
  author: Thodoris Greasidis
150
+ nested:
151
+ - commits:
152
+ - subject: Use nullish coalescing when sensible
153
+ hash: c69dff4d46792c4c858f869646adca9272210364
154
+ body: ""
155
+ footer:
156
+ Change-type: patch
157
+ change-type: patch
158
+ author: Pagan Gazzard
159
+ nested: []
160
+ version: odata-to-abstract-sql-5.4.12
161
+ title: "'Use nullish coalescing when sensible'"
162
+ date: 2022-06-03T15:45:18.251Z
163
+ version: 14.46.1
164
+ title: "'Update @balena/odata-to-abstract-sql to 5.4.12'"
165
+ date: 2022-07-08T15:16:38.671Z
166
+ - commits:
167
+ - subject: Fix for passport.js update 0.6.0
168
+ hash: c26d33dd13e4139b970e5bd594982786a1c56cea
169
+ body: |
170
+ passport.js 0.6.0 introduces a mandatory callback done function.
171
+ Updated logout argument which should remain backwards compatible
172
+ footer:
173
+ Change-type: minor
174
+ change-type: minor
175
+ Signed-off-by: Harald Fischer <harald@balena.io>
176
+ signed-off-by: Harald Fischer <harald@balena.io>
177
+ author: Harald Fischer
13
178
  nested: []
14
- version: 15.0.0
15
- title: "'Delete default user permissions that are no longer in the config'"
16
- date: 2022-06-03T17:04:32.794Z
179
+ version: 14.46.0
180
+ title: "'Fix for passport.js update 0.6.0'"
181
+ date: 2022-06-21T23:27:28.468Z
182
+ - commits:
183
+ - subject: Update dependencies
184
+ hash: fb47772d628789b77288e7e0e90f3740f6cd27d8
185
+ body: |
186
+ Update @balena/odata-parser from 2.2.9 to 2.3.0
187
+ Update @balena/odata-to-abstract-sql from 5.4.11 to 5.4.12
188
+ footer:
189
+ Change-type: patch
190
+ change-type: patch
191
+ author: Pagan Gazzard
192
+ nested:
193
+ - commits:
194
+ - subject: Add source map
195
+ hash: a6bb5e67fac1cdcc69491800ad042f003fa13556
196
+ body: ""
197
+ footer:
198
+ Change-type: minor
199
+ change-type: minor
200
+ author: Pagan Gazzard
201
+ version: odata-parser-2.3.0
202
+ title: "'Add source map'"
203
+ date: 2022-06-06T15:59:20.389Z
204
+ - commits:
205
+ - subject: Use nullish coalescing when sensible
206
+ hash: c69dff4d46792c4c858f869646adca9272210364
207
+ body: ""
208
+ footer:
209
+ Change-type: patch
210
+ change-type: patch
211
+ author: Pagan Gazzard
212
+ nested: []
213
+ version: odata-to-abstract-sql-5.4.12
214
+ title: "'Use nullish coalescing when sensible'"
215
+ date: 2022-06-03T15:45:18.251Z
216
+ version: 14.45.1
217
+ title: "'Update dependencies'"
218
+ date: 2022-06-08T08:16:26.230Z
219
+ - commits:
220
+ - subject: Generalisation and decouple migrator functions. Prepare for migration
221
+ categories.
222
+ hash: 0184e6119088170f6990996a3afcfbd78a2497fc
223
+ body: |
224
+ Add basic test for sync migrator
225
+ footer:
226
+ Change-type: minor
227
+ change-type: minor
228
+ Signed-off-by: Harald Fischer <harald@balena.io>
229
+ signed-off-by: Harald Fischer <harald@balena.io>
230
+ author: Harald Fischer
231
+ nested: []
232
+ version: 14.45.0
233
+ title: "'Generalisation of migrator'"
234
+ date: 2022-06-03T17:08:40.433Z
17
235
  - commits:
18
236
  - subject: "permissions: Add optional transaction param to user & api key methods"
19
237
  hash: 42253a2928a8cb7c4356bec3960bb4555321f859
package/CHANGELOG.md CHANGED
@@ -5,9 +5,93 @@ automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  # v15.0.0
8
+ ## (2022-08-02)
9
+
10
+ * Deprecate node 12 [Harald Fischer]
11
+ * Differentiate typings between parsed and processed odata requests [Pagan Gazzard]
12
+
13
+ # v14.48.0
14
+ ## (2022-07-26)
15
+
16
+ * Refactur checkModelExists to isModelNew [Harald Fischer]
17
+
18
+ # v14.47.6
19
+ ## (2022-07-26)
20
+
21
+ * Fix synonyms iteration [Pagan Gazzard]
22
+
23
+ # v14.47.5
24
+ ## (2022-07-26)
25
+
26
+ * Prefer for..of over forEach [Pagan Gazzard]
27
+
28
+ # v14.47.4
29
+ ## (2022-07-25)
30
+
31
+ * Convert lodash flatMap/flatten to native versions [Pagan Gazzard]
32
+
33
+ # v14.47.3
34
+ ## (2022-07-25)
35
+
36
+ * Convert lodash `isObject` usage to native versions [Pagan Gazzard]
37
+
38
+ # v14.47.2
39
+ ## (2022-07-21)
40
+
41
+ * Narrow the scope of the permissions bypass for root permissions [Pagan Gazzard]
42
+
43
+ # v14.47.1
44
+ ## (2022-07-21)
45
+
46
+ * Increase strictness of typings [Pagan Gazzard]
47
+
48
+ # v14.47.0
49
+ ## (2022-07-14)
50
+
51
+ * Allow PRERESPOND hooks to modify the response [Pagan Gazzard]
52
+
53
+ # v14.46.1
54
+ ## (2022-07-08)
55
+
56
+
57
+ <details>
58
+ <summary> Update @balena/odata-to-abstract-sql to 5.4.12 [Thodoris Greasidis] </summary>
59
+
60
+ > ## odata-to-abstract-sql-5.4.12
61
+ > ### (2022-06-03)
62
+ >
63
+ > * Use nullish coalescing when sensible [Pagan Gazzard]
64
+ >
65
+ </details>
66
+
67
+ # v14.46.0
68
+ ## (2022-06-21)
69
+
70
+ * Fix for passport.js update 0.6.0 [Harald Fischer]
71
+
72
+ # v14.45.1
73
+ ## (2022-06-08)
74
+
75
+
76
+ <details>
77
+ <summary> Update dependencies [Pagan Gazzard] </summary>
78
+
79
+ > ## odata-parser-2.3.0
80
+ > ### (2022-06-06)
81
+ >
82
+ > * Add source map [Pagan Gazzard]
83
+ >
84
+ > ## odata-to-abstract-sql-5.4.12
85
+ > ### (2022-06-03)
86
+ >
87
+ > * Use nullish coalescing when sensible [Pagan Gazzard]
88
+ >
89
+ </details>
90
+
91
+ # v14.45.0
8
92
  ## (2022-06-03)
9
93
 
10
- * Delete default user permissions that are no longer in the config [Thodoris Greasidis]
94
+ * Generalisation and decouple migrator functions. Prepare for migration categories. [Harald Fischer]
11
95
 
12
96
  # v14.44.0
13
97
  ## (2022-05-30)
package/out/bin/utils.js CHANGED
@@ -42,7 +42,7 @@ const getAbstractSqlModelFromFile = (modelFile) => {
42
42
  try {
43
43
  fileContents = require(path.resolve(modelFile));
44
44
  }
45
- catch (_a) {
45
+ catch {
46
46
  fileContents = fs.readFileSync(require.resolve(modelFile), 'utf8');
47
47
  }
48
48
  let seModel;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
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';
5
4
  import type { Resolvable } from '../sbvr-api/common-types';
5
+ import { Migrations } from '../migrator/utils';
6
6
  import * as sbvrUtils from '../sbvr-api/sbvr-utils';
7
7
  export declare type SetupFunction = (app: Express.Application, sbvrUtilsInstance: typeof sbvrUtils, db: Database) => Resolvable<void>;
8
8
  export interface Model {
@@ -12,9 +12,7 @@ export interface Model {
12
12
  modelText?: string;
13
13
  abstractSql?: AbstractSqlModel;
14
14
  migrationsPath?: string;
15
- migrations?: {
16
- [index: string]: Migration;
17
- };
15
+ migrations?: Migrations;
18
16
  initSqlPath?: string;
19
17
  initSql?: string;
20
18
  customServerCode?: string | {
@@ -27,7 +25,7 @@ export interface Model {
27
25
  export interface User {
28
26
  username: string;
29
27
  password: string;
30
- permissions: string[];
28
+ permissions?: string[];
31
29
  }
32
30
  export interface Config {
33
31
  models: Model[];
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setup = void 0;
4
+ const utils_1 = require("../migrator/utils");
4
5
  const fs = require("fs");
5
6
  const _ = require("lodash");
6
7
  const path = require("path");
@@ -35,6 +36,7 @@ const getOrCreatePermission = async (authApiTx, permissionName) => {
35
36
  };
36
37
  const setup = (app) => {
37
38
  const loadConfig = (data) => sbvrUtils.db.transaction(async (tx) => {
39
+ var _a;
38
40
  const authApiTx = sbvrUtils.api.Auth.clone({
39
41
  passthrough: {
40
42
  tx,
@@ -44,17 +46,14 @@ const setup = (app) => {
44
46
  const { users } = data;
45
47
  if (users != null) {
46
48
  const permissionsCache = {};
47
- users.forEach((user) => {
49
+ for (const user of users) {
48
50
  if (user.permissions == null) {
49
- return;
51
+ continue;
50
52
  }
51
- user.permissions.forEach((permissionName) => {
52
- if (permissionsCache[permissionName] != null) {
53
- return;
54
- }
55
- permissionsCache[permissionName] = getOrCreatePermission(authApiTx, permissionName);
56
- });
57
- });
53
+ for (const permissionName of user.permissions) {
54
+ (_a = permissionsCache[permissionName]) !== null && _a !== void 0 ? _a : (permissionsCache[permissionName] = getOrCreatePermission(authApiTx, permissionName));
55
+ }
56
+ }
58
57
  await Promise.all(users.map(async (user) => {
59
58
  try {
60
59
  const userID = await getOrCreate(authApiTx, 'user', {
@@ -63,29 +62,13 @@ const setup = (app) => {
63
62
  password: user.password,
64
63
  });
65
64
  if (user.permissions != null) {
66
- const permissionIds = await Promise.all(user.permissions.map(async (permissionName) => {
65
+ await Promise.all(user.permissions.map(async (permissionName) => {
67
66
  const permissionID = await permissionsCache[permissionName];
68
67
  await getOrCreate(authApiTx, 'user__has__permission', {
69
68
  user: userID,
70
69
  permission: permissionID,
71
70
  });
72
- return permissionID;
73
71
  }));
74
- await authApiTx.delete({
75
- resource: 'user__has__permission',
76
- options: {
77
- $filter: {
78
- user: userID,
79
- ...(permissionIds.length > 0 && {
80
- $not: {
81
- permission: {
82
- $in: permissionIds,
83
- },
84
- },
85
- }),
86
- },
87
- },
88
- });
89
72
  }
90
73
  }
91
74
  catch (e) {
@@ -124,7 +107,7 @@ const setup = (app) => {
124
107
  throw e;
125
108
  }
126
109
  }
127
- else if (_.isObject(model.customServerCode)) {
110
+ else if (typeof model.customServerCode === 'object') {
128
111
  customCode = model.customServerCode.setup;
129
112
  }
130
113
  else {
@@ -154,7 +137,7 @@ const setup = (app) => {
154
137
  root = path.dirname(config);
155
138
  configObj = await loadConfigFile(config);
156
139
  }
157
- else if (_.isObject(config)) {
140
+ else if (typeof config === 'object') {
158
141
  root = process.cwd();
159
142
  configObj = config;
160
143
  }
@@ -182,15 +165,36 @@ const setup = (app) => {
182
165
  const fileNames = await fs.promises.readdir(migrationsPath);
183
166
  await Promise.all(fileNames.map(async (filename) => {
184
167
  const filePath = path.join(migrationsPath, filename);
168
+ const fileNameParts = filename.split('.', 3);
169
+ const fileExtension = path.extname(filename);
185
170
  const [migrationKey] = filename.split('-', 1);
186
- switch (path.extname(filename)) {
171
+ let migrationCategory = utils_1.defaultMigrationCategory;
172
+ if (fileNameParts.length === 3) {
173
+ if (fileNameParts[1] in utils_1.MigrationCategories) {
174
+ migrationCategory = fileNameParts[1];
175
+ }
176
+ else {
177
+ console.error(`Unrecognised migration file category ${fileNameParts[1]}, skipping: ${path.extname(filename)}`);
178
+ return;
179
+ }
180
+ }
181
+ const assignMigrationWithCategory = (newMigrationKey, newMigration) => {
182
+ const catMigrations = migrations[migrationCategory] || {};
183
+ if (typeof catMigrations === 'object') {
184
+ migrations[migrationCategory] = {
185
+ [newMigrationKey]: newMigration,
186
+ ...catMigrations,
187
+ };
188
+ }
189
+ };
190
+ switch (fileExtension) {
187
191
  case '.coffee':
188
192
  case '.ts':
189
193
  case '.js':
190
- migrations[migrationKey] = nodeRequire(filePath);
194
+ assignMigrationWithCategory(migrationKey, nodeRequire(filePath));
191
195
  break;
192
196
  case '.sql':
193
- migrations[migrationKey] = await fs.promises.readFile(filePath, 'utf8');
197
+ assignMigrationWithCategory(migrationKey, await fs.promises.readFile(filePath, 'utf8'));
194
198
  break;
195
199
  default:
196
200
  console.error(`Unrecognised migration file extension, skipping: ${path.extname(filename)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config-loader/config-loader.ts"],"names":[],"mappings":"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"}
@@ -228,7 +228,7 @@ export async function setup(app, sbvrUtils, db) {
228
228
  await setupModels(tx);
229
229
  });
230
230
  res.status(200).end();
231
- } catch (err) {
231
+ } catch (/** @type any */ err) {
232
232
  console.error('Error clearing db', err, err.stack);
233
233
  res.status(503).end();
234
234
  }
@@ -255,7 +255,7 @@ export async function setup(app, sbvrUtils, db) {
255
255
  }
256
256
  });
257
257
  res.status(200).end();
258
- } catch (err) {
258
+ } catch (/** @type any */ err) {
259
259
  console.error('Error importing db', err, err.stack);
260
260
  res.status(404).end();
261
261
  }
@@ -278,11 +278,11 @@ export async function setup(app, sbvrUtils, db) {
278
278
  'SELECT * FROM "' + tableName + '";',
279
279
  );
280
280
  let insQuery = '';
281
- result.rows.forEach((currRow) => {
281
+ for (const currRow of result.rows) {
282
282
  let notFirst = false;
283
283
  insQuery += 'INSERT INTO "' + tableName + '" (';
284
284
  let valQuery = '';
285
- for (let propName of Object.keys(currRow)) {
285
+ for (const propName of Object.keys(currRow)) {
286
286
  if (notFirst) {
287
287
  insQuery += ',';
288
288
  valQuery += ',';
@@ -293,13 +293,13 @@ export async function setup(app, sbvrUtils, db) {
293
293
  valQuery += "'" + currRow[propName] + "'";
294
294
  }
295
295
  insQuery += ') values (' + valQuery + ');\n';
296
- });
296
+ }
297
297
  exported += insQuery;
298
298
  }),
299
299
  );
300
300
  });
301
301
  res.json(exported);
302
- } catch (err) {
302
+ } catch (/** @type any */ err) {
303
303
  console.error('Error exporting db', err, err.stack);
304
304
  res.status(503).end();
305
305
  }
@@ -329,7 +329,7 @@ export async function setup(app, sbvrUtils, db) {
329
329
  );
330
330
  });
331
331
  res.status(200).end();
332
- } catch (err) {
332
+ } catch (/** @type any */ err) {
333
333
  console.error('Error backing up db', err, err.stack);
334
334
  res.status(404).end();
335
335
  }
@@ -358,7 +358,7 @@ export async function setup(app, sbvrUtils, db) {
358
358
  );
359
359
  });
360
360
  res.status(200).end();
361
- } catch (err) {
361
+ } catch (/** @type any */ err) {
362
362
  console.error('Error restoring db', err, err.stack);
363
363
  res.status(404).end();
364
364
  }