@balena/pinejs 17.1.0-build-model-based-typings-85488426453e79d26b93e0ac91f30b73beb2c181-1 → 17.1.0-build-joshbwlng-tasks-0c116dc98102e3ddd4aa6e8a4f350a1e18891e1a-1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. package/.pinejs-cache.json +1 -1
  2. package/.versionbot/CHANGELOG.yml +4 -225
  3. package/CHANGELOG.md +2 -66
  4. package/out/config-loader/env.d.ts +4 -0
  5. package/out/config-loader/env.js +5 -1
  6. package/out/config-loader/env.js.map +1 -1
  7. package/out/data-server/sbvr-server.js +2 -3
  8. package/out/data-server/sbvr-server.js.map +1 -1
  9. package/out/database-layer/db.d.ts +3 -0
  10. package/out/database-layer/db.js +17 -0
  11. package/out/database-layer/db.js.map +1 -1
  12. package/out/migrator/sync.d.ts +0 -17
  13. package/out/migrator/sync.js +40 -39
  14. package/out/migrator/sync.js.map +1 -1
  15. package/out/sbvr-api/hooks.d.ts +26 -26
  16. package/out/sbvr-api/hooks.js.map +1 -1
  17. package/out/sbvr-api/permissions.d.ts +2 -26
  18. package/out/sbvr-api/permissions.js +40 -39
  19. package/out/sbvr-api/permissions.js.map +1 -1
  20. package/out/sbvr-api/sbvr-utils.d.ts +6 -46
  21. package/out/sbvr-api/sbvr-utils.js +44 -44
  22. package/out/sbvr-api/sbvr-utils.js.map +1 -1
  23. package/out/server-glue/module.d.ts +1 -0
  24. package/out/server-glue/module.js +4 -1
  25. package/out/server-glue/module.js.map +1 -1
  26. package/out/tasks/common.d.ts +4 -0
  27. package/out/tasks/common.js +13 -0
  28. package/out/tasks/common.js.map +1 -0
  29. package/out/tasks/index.d.ts +8 -0
  30. package/out/tasks/index.js +142 -0
  31. package/out/tasks/index.js.map +1 -0
  32. package/out/tasks/tasks.sbvr +60 -0
  33. package/out/tasks/types.d.ts +38 -0
  34. package/out/tasks/types.js +10 -0
  35. package/out/tasks/types.js.map +1 -0
  36. package/out/tasks/worker.d.ts +16 -0
  37. package/out/tasks/worker.js +228 -0
  38. package/out/tasks/worker.js.map +1 -0
  39. package/package.json +19 -18
  40. package/src/config-loader/env.ts +6 -1
  41. package/src/data-server/sbvr-server.js +2 -3
  42. package/src/database-layer/db.ts +25 -0
  43. package/src/migrator/sync.ts +41 -46
  44. package/src/sbvr-api/hooks.ts +18 -21
  45. package/src/sbvr-api/permissions.ts +48 -54
  46. package/src/sbvr-api/sbvr-utils.ts +53 -90
  47. package/src/server-glue/module.ts +3 -0
  48. package/src/tasks/common.ts +14 -0
  49. package/src/tasks/index.ts +158 -0
  50. package/src/tasks/tasks.sbvr +60 -0
  51. package/src/tasks/types.ts +58 -0
  52. package/src/tasks/worker.ts +278 -0
  53. package/out/migrator/migrations.d.ts +0 -58
  54. package/out/migrator/migrations.js +0 -3
  55. package/out/migrator/migrations.js.map +0 -1
  56. package/out/sbvr-api/dev.d.ts +0 -22
  57. package/out/sbvr-api/dev.js +0 -3
  58. package/out/sbvr-api/dev.js.map +0 -1
  59. package/out/sbvr-api/user.d.ts +0 -236
  60. package/out/sbvr-api/user.js +0 -3
  61. package/out/sbvr-api/user.js.map +0 -1
  62. package/src/migrator/migrations.ts +0 -62
  63. package/src/sbvr-api/dev.ts +0 -24
  64. package/src/sbvr-api/user.ts +0 -214
@@ -30,7 +30,7 @@ exports.config = exports.run = exports.postRun = void 0;
30
30
  const utils_1 = require("./utils");
31
31
  const lodash_1 = __importDefault(require("lodash"));
32
32
  const sbvrUtils = __importStar(require("../sbvr-api/sbvr-utils"));
33
- const migrationsModel = require('./migrations.sbvr');
33
+ const modelText = require('./migrations.sbvr');
34
34
  const postRun = async (tx, model) => {
35
35
  const { initSql } = model;
36
36
  if (initSql == null) {
@@ -111,44 +111,45 @@ const executeMigration = async (tx, [key, migration]) => {
111
111
  throw new utils_1.MigrationError(`Invalid migration type: ${typeof migration}`);
112
112
  }
113
113
  };
114
- const migrationModelConfig = {
115
- modelName: 'migrations',
116
- apiRoot: 'migrations',
117
- modelText: migrationsModel,
118
- migrations: {
119
- '11.0.0-modified-at': `
120
- ALTER TABLE "migration"
121
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
122
- `,
123
- '11.0.1-modified-at': `
124
- ALTER TABLE "migration lock"
125
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
126
- `,
127
- '15.0.0-data-types': async (tx, { db }) => {
128
- switch (db.engine) {
129
- case 'mysql':
130
- await tx.executeSql(`\
131
- ALTER TABLE "migration"
132
- MODIFY "executed migrations" JSON NOT NULL;`);
133
- await tx.executeSql(`\
134
- ALTER TABLE "migration status"
135
- MODIFY "is backing off" BOOLEAN NOT NULL;`);
136
- break;
137
- case 'postgres':
138
- await tx.executeSql(`\
139
- ALTER TABLE "migration"
140
- ALTER COLUMN "executed migrations" SET DATA TYPE JSONB USING "executed migrations"::JSONB;`);
141
- await tx.executeSql(`\
142
- ALTER TABLE "migration status"
143
- ALTER COLUMN "is backing off" DROP DEFAULT,
144
- ALTER COLUMN "is backing off" SET DATA TYPE BOOLEAN USING "is backing off"::BOOLEAN,
145
- ALTER COLUMN "is backing off" SET DEFAULT FALSE;`);
146
- break;
147
- }
148
- },
149
- },
150
- };
151
114
  exports.config = {
152
- models: [migrationModelConfig],
115
+ models: [
116
+ {
117
+ modelName: 'migrations',
118
+ apiRoot: 'migrations',
119
+ modelText,
120
+ migrations: {
121
+ '11.0.0-modified-at': `
122
+ ALTER TABLE "migration"
123
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
124
+ `,
125
+ '11.0.1-modified-at': `
126
+ ALTER TABLE "migration lock"
127
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
128
+ `,
129
+ '15.0.0-data-types': async (tx, { db }) => {
130
+ switch (db.engine) {
131
+ case 'mysql':
132
+ await tx.executeSql(`\
133
+ ALTER TABLE "migration"
134
+ MODIFY "executed migrations" JSON NOT NULL;`);
135
+ await tx.executeSql(`\
136
+ ALTER TABLE "migration status"
137
+ MODIFY "is backing off" BOOLEAN NOT NULL;`);
138
+ break;
139
+ case 'postgres':
140
+ await tx.executeSql(`\
141
+ ALTER TABLE "migration"
142
+ ALTER COLUMN "executed migrations" SET DATA TYPE JSONB USING "executed migrations"::JSONB;`);
143
+ await tx.executeSql(`\
144
+ ALTER TABLE "migration status"
145
+ ALTER COLUMN "is backing off" DROP DEFAULT,
146
+ ALTER COLUMN "is backing off" SET DATA TYPE BOOLEAN USING "is backing off"::BOOLEAN,
147
+ ALTER COLUMN "is backing off" SET DEFAULT FALSE;`);
148
+ break;
149
+ }
150
+ },
151
+ },
152
+ },
153
+ ],
153
154
  };
154
155
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/migrator/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/migrator/sync.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { Tx } from '../database-layer/db';
3
3
  import type { ODataRequest, ParsedODataRequest } from './uri-parser';
4
4
  import type { AnyObject } from 'pinejs-client-core';
5
5
  import type { TypedError } from 'typed-error';
6
- import { type User, type ApiKey, api, type Response } from './sbvr-utils';
6
+ import { type PinejsClient, type User, type ApiKey, type Response } from './sbvr-utils';
7
7
  export interface HookReq {
8
8
  user?: User;
9
9
  apiKey?: ApiKey;
@@ -17,29 +17,29 @@ export interface HookReq {
17
17
  hooks?: InstantiatedHooks;
18
18
  is?: (type: string | string[]) => string | false | null;
19
19
  }
20
- export interface HookArgs<Vocab extends string = string> {
20
+ export interface HookArgs {
21
21
  req: HookReq;
22
22
  request: ODataRequest;
23
- api: (typeof api)[Vocab];
23
+ api: PinejsClient;
24
24
  tx?: Tx | undefined;
25
25
  }
26
26
  export type HookResponse = PromiseLike<any> | null | void;
27
- export interface Hooks<Vocab extends string = string> {
28
- PREPARSE?: (options: Omit<HookArgs<Vocab>, 'request' | 'api'>) => HookResponse;
29
- POSTPARSE?: (options: HookArgs<Vocab>) => HookResponse;
30
- PRERUN?: (options: HookArgs<Vocab> & {
27
+ export interface Hooks {
28
+ PREPARSE?: (options: Omit<HookArgs, 'request' | 'api'>) => HookResponse;
29
+ POSTPARSE?: (options: HookArgs) => HookResponse;
30
+ PRERUN?: (options: HookArgs & {
31
31
  tx: Tx;
32
32
  }) => HookResponse;
33
- POSTRUN?: (options: HookArgs<Vocab> & {
33
+ POSTRUN?: (options: HookArgs & {
34
34
  tx: Tx;
35
35
  result: any;
36
36
  }) => HookResponse;
37
- PRERESPOND?: (options: HookArgs<Vocab> & {
37
+ PRERESPOND?: (options: HookArgs & {
38
38
  tx: Tx;
39
39
  result: any;
40
40
  response: Response;
41
41
  }) => HookResponse;
42
- 'POSTRUN-ERROR'?: (options: HookArgs<Vocab> & {
42
+ 'POSTRUN-ERROR'?: (options: HookArgs & {
43
43
  tx: Tx;
44
44
  error: TypedError | any;
45
45
  }) => HookResponse;
@@ -85,41 +85,41 @@ declare const apiHooks: {
85
85
  DELETE: MethodHooks;
86
86
  OPTIONS: MethodHooks;
87
87
  };
88
- export declare const addHook: <Vocab extends string>(method: keyof typeof apiHooks, vocabulary: Vocab, resourceName: string, hooks: {
89
- PREPARSE?: HookBlueprint<(options: Omit<HookArgs<string>, "request" | "api">) => HookResponse> | undefined;
90
- POSTPARSE?: HookBlueprint<(options: HookArgs<string>) => HookResponse> | undefined;
91
- PRERUN?: HookBlueprint<(options: HookArgs<string> & {
88
+ export declare const addHook: (method: keyof typeof apiHooks, vocabulary: string, resourceName: string, hooks: {
89
+ PREPARSE?: HookBlueprint<(options: Omit<HookArgs, 'request' | 'api'>) => HookResponse> | undefined;
90
+ POSTPARSE?: HookBlueprint<(options: HookArgs) => HookResponse> | undefined;
91
+ PRERUN?: HookBlueprint<(options: HookArgs & {
92
92
  tx: Tx;
93
93
  }) => HookResponse> | undefined;
94
- POSTRUN?: HookBlueprint<(options: HookArgs<string> & {
94
+ POSTRUN?: HookBlueprint<(options: HookArgs & {
95
95
  tx: Tx;
96
96
  result: any;
97
97
  }) => HookResponse> | undefined;
98
- PRERESPOND?: HookBlueprint<(options: HookArgs<string> & {
98
+ PRERESPOND?: HookBlueprint<(options: HookArgs & {
99
99
  tx: Tx;
100
100
  result: any;
101
101
  response: Response;
102
102
  }) => HookResponse> | undefined;
103
- 'POSTRUN-ERROR'?: HookBlueprint<(options: HookArgs<string> & {
103
+ 'POSTRUN-ERROR'?: HookBlueprint<(options: HookArgs & {
104
104
  tx: Tx;
105
105
  error: TypedError | any;
106
106
  }) => HookResponse> | undefined;
107
107
  } | ({
108
- PREPARSE?: ((options: Omit<HookArgs<string>, "request" | "api">) => HookResponse) | undefined;
109
- POSTPARSE?: ((options: HookArgs<string>) => HookResponse) | undefined;
110
- PRERUN?: ((options: HookArgs<string> & {
108
+ PREPARSE?: ((options: Omit<HookArgs, 'request' | 'api'>) => HookResponse) | undefined;
109
+ POSTPARSE?: ((options: HookArgs) => HookResponse) | undefined;
110
+ PRERUN?: ((options: HookArgs & {
111
111
  tx: Tx;
112
112
  }) => HookResponse) | undefined;
113
- POSTRUN?: ((options: HookArgs<string> & {
113
+ POSTRUN?: ((options: HookArgs & {
114
114
  tx: Tx;
115
115
  result: any;
116
116
  }) => HookResponse) | undefined;
117
- PRERESPOND?: ((options: HookArgs<string> & {
117
+ PRERESPOND?: ((options: HookArgs & {
118
118
  tx: Tx;
119
119
  result: any;
120
120
  response: Response;
121
121
  }) => HookResponse) | undefined;
122
- 'POSTRUN-ERROR'?: ((options: HookArgs<string> & {
122
+ 'POSTRUN-ERROR'?: ((options: HookArgs & {
123
123
  tx: Tx;
124
124
  error: TypedError | any;
125
125
  }) => HookResponse) | undefined;
@@ -127,8 +127,8 @@ export declare const addHook: <Vocab extends string>(method: keyof typeof apiHoo
127
127
  sideEffects: HookBlueprint<HookFn>['sideEffects'];
128
128
  readOnlyTx: HookBlueprint<HookFn>['readOnlyTx'];
129
129
  })) => void;
130
- export declare const addSideEffectHook: <Vocab extends string>(method: HookMethod, apiRoot: Vocab, resourceName: string, hooks: Hooks<NoInfer<Vocab>>) => void;
131
- export declare const addPureHook: <Vocab extends string>(method: HookMethod, apiRoot: Vocab, resourceName: string, hooks: Hooks<NoInfer<Vocab>>) => void;
130
+ export declare const addSideEffectHook: (method: HookMethod, apiRoot: string, resourceName: string, hooks: Hooks) => void;
131
+ export declare const addPureHook: (method: HookMethod, apiRoot: string, resourceName: string, hooks: Hooks) => void;
132
132
  type RunHookArgs<T extends keyof Hooks> = Omit<Parameters<NonNullable<Hooks[T]>>[0], 'api'>;
133
- export declare const runHooks: <T extends keyof Hooks<string>>(hookName: T, hooksList: Array<[modelName: string, hooks: InstantiatedHooks]> | undefined, args: RunHookArgs<T>) => Promise<void>;
133
+ export declare const runHooks: <T extends keyof Hooks>(hookName: T, hooksList: Array<[modelName: string, hooks: InstantiatedHooks]> | undefined, args: RunHookArgs<T>) => Promise<void>;
134
134
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/sbvr-api/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/sbvr-api/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type AuthModel from './user';
2
1
  import './express-extension';
3
2
  import type * as Express from 'express';
4
3
  import type { Tx } from '../database-layer/db';
5
4
  import type { ApiKey, User } from '../sbvr-api/sbvr-utils';
5
+ import * as sbvrUtils from '../sbvr-api/sbvr-utils';
6
6
  import { type HookReq } from './hooks';
7
7
  import { PermissionError, PermissionParsingError } from './errors';
8
8
  import { type ODataRequest } from './uri-parser';
@@ -46,31 +46,7 @@ export declare const checkPermissionsMiddleware: (action: PermissionCheck) => Ex
46
46
  export declare const addPermissions: (req: PermissionReq, request: ODataRequest & {
47
47
  permissionType?: PermissionCheck;
48
48
  }) => Promise<void>;
49
- declare module './sbvr-utils' {
50
- interface API {
51
- [authModelConfig.apiRoot]: PinejsClient<AuthModel>;
52
- }
53
- }
54
- declare const authModelConfig: {
55
- readonly apiRoot: "Auth";
56
- readonly modelText: string;
57
- readonly customServerCode: any;
58
- readonly migrations: {
59
- readonly '11.0.0-modified-at': "\n\t\t\tALTER TABLE \"actor\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"api key\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"api key-has-permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"api key-has-role\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"role\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"user\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"user-has-role\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"user-has-permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t";
60
- readonly '11.0.1-modified-at': "\n\t\t\tALTER TABLE \"role-has-permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t";
61
- readonly '14.42.0-api-key-expiry-date': "\n\t\t\tALTER TABLE \"api key\"\n\t\t\tADD COLUMN IF NOT EXISTS \"expiry date\" TIMESTAMP NULL;\n\t\t";
62
- };
63
- };
64
49
  export declare const config: {
65
- models: {
66
- readonly apiRoot: "Auth";
67
- readonly modelText: string;
68
- readonly customServerCode: any;
69
- readonly migrations: {
70
- readonly '11.0.0-modified-at': "\n\t\t\tALTER TABLE \"actor\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"api key\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"api key-has-permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"api key-has-role\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"role\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\n\t\t\tALTER TABLE \"user\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"user-has-role\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t\tALTER TABLE \"user-has-permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t";
71
- readonly '11.0.1-modified-at': "\n\t\t\tALTER TABLE \"role-has-permission\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t";
72
- readonly '14.42.0-api-key-expiry-date': "\n\t\t\tALTER TABLE \"api key\"\n\t\t\tADD COLUMN IF NOT EXISTS \"expiry date\" TIMESTAMP NULL;\n\t\t";
73
- };
74
- }[];
50
+ models: sbvrUtils.ExecutableModel[];
75
51
  };
76
52
  export declare const setup: () => void;
@@ -1032,7 +1032,7 @@ const checkPermissionsMiddleware = (action) => async (req, res, next) => {
1032
1032
  exports.checkPermissionsMiddleware = checkPermissionsMiddleware;
1033
1033
  let guestPermissionsInitialized = false;
1034
1034
  const getGuestPermissions = (0, memoizee_1.default)(async () => {
1035
- const result = await sbvrUtils.api.Auth.get({
1035
+ const result = (await sbvrUtils.api.Auth.get({
1036
1036
  resource: 'user',
1037
1037
  passthrough: {
1038
1038
  req: exports.rootRead,
@@ -1043,7 +1043,7 @@ const getGuestPermissions = (0, memoizee_1.default)(async () => {
1043
1043
  options: {
1044
1044
  $select: 'id',
1045
1045
  },
1046
- });
1046
+ }));
1047
1047
  if (result == null) {
1048
1048
  throw new Error('No guest user');
1049
1049
  }
@@ -1105,47 +1105,48 @@ const addPermissions = async (req, request) => {
1105
1105
  }
1106
1106
  };
1107
1107
  exports.addPermissions = addPermissions;
1108
- const authModelConfig = {
1109
- apiRoot: 'Auth',
1110
- modelText: userModel,
1111
- customServerCode: exports,
1112
- migrations: {
1113
- '11.0.0-modified-at': `
1114
- ALTER TABLE "actor"
1115
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1108
+ exports.config = {
1109
+ models: [
1110
+ {
1111
+ apiRoot: 'Auth',
1112
+ modelText: userModel,
1113
+ customServerCode: exports,
1114
+ migrations: {
1115
+ '11.0.0-modified-at': `
1116
+ ALTER TABLE "actor"
1117
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1116
1118
 
1117
- ALTER TABLE "api key"
1118
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1119
- ALTER TABLE "api key-has-permission"
1120
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1121
- ALTER TABLE "api key-has-role"
1122
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1119
+ ALTER TABLE "api key"
1120
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1121
+ ALTER TABLE "api key-has-permission"
1122
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1123
+ ALTER TABLE "api key-has-role"
1124
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1123
1125
 
1124
- ALTER TABLE "permission"
1125
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1126
+ ALTER TABLE "permission"
1127
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1126
1128
 
1127
- ALTER TABLE "role"
1128
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1129
+ ALTER TABLE "role"
1130
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1129
1131
 
1130
- ALTER TABLE "user"
1131
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1132
- ALTER TABLE "user-has-role"
1133
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1134
- ALTER TABLE "user-has-permission"
1135
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1136
- `,
1137
- '11.0.1-modified-at': `
1138
- ALTER TABLE "role-has-permission"
1139
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1140
- `,
1141
- '14.42.0-api-key-expiry-date': `
1142
- ALTER TABLE "api key"
1143
- ADD COLUMN IF NOT EXISTS "expiry date" TIMESTAMP NULL;
1144
- `,
1145
- },
1146
- };
1147
- exports.config = {
1148
- models: [authModelConfig],
1132
+ ALTER TABLE "user"
1133
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1134
+ ALTER TABLE "user-has-role"
1135
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1136
+ ALTER TABLE "user-has-permission"
1137
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1138
+ `,
1139
+ '11.0.1-modified-at': `
1140
+ ALTER TABLE "role-has-permission"
1141
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1142
+ `,
1143
+ '14.42.0-api-key-expiry-date': `
1144
+ ALTER TABLE "api key"
1145
+ ADD COLUMN IF NOT EXISTS "expiry date" TIMESTAMP NULL;
1146
+ `,
1147
+ },
1148
+ },
1149
+ ],
1149
1150
  };
1150
1151
  const setup = () => {
1151
1152
  (0, hooks_1.addHook)('all', 'all', 'all', {
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/sbvr-api/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/sbvr-api/permissions.ts"],"names":[],"mappings":"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"}