@balena/pinejs 17.1.0-build-joshbwlng-tasks-e8a81b1d884e0039e67661a25a5cb81d46966640-1 → 17.1.0-build-model-based-typings-86a981c89f828217571c93fa010174529a5345f9-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 +220 -7
  3. package/CHANGELOG.md +65 -2
  4. package/out/config-loader/env.d.ts +0 -4
  5. package/out/config-loader/env.js +1 -5
  6. package/out/config-loader/env.js.map +1 -1
  7. package/out/data-server/sbvr-server.js +3 -2
  8. package/out/data-server/sbvr-server.js.map +1 -1
  9. package/out/database-layer/db.d.ts +0 -3
  10. package/out/database-layer/db.js +0 -17
  11. package/out/database-layer/db.js.map +1 -1
  12. package/out/migrator/migrations.d.ts +113 -0
  13. package/out/migrator/migrations.js +3 -0
  14. package/out/migrator/migrations.js.map +1 -0
  15. package/out/migrator/sync.d.ts +17 -0
  16. package/out/migrator/sync.js +39 -40
  17. package/out/migrator/sync.js.map +1 -1
  18. package/out/sbvr-api/dev.d.ts +41 -0
  19. package/out/sbvr-api/dev.js +3 -0
  20. package/out/sbvr-api/dev.js.map +1 -0
  21. package/out/sbvr-api/hooks.d.ts +26 -26
  22. package/out/sbvr-api/hooks.js.map +1 -1
  23. package/out/sbvr-api/permissions.d.ts +26 -2
  24. package/out/sbvr-api/permissions.js +39 -40
  25. package/out/sbvr-api/permissions.js.map +1 -1
  26. package/out/sbvr-api/sbvr-utils.d.ts +46 -6
  27. package/out/sbvr-api/sbvr-utils.js +44 -44
  28. package/out/sbvr-api/sbvr-utils.js.map +1 -1
  29. package/out/sbvr-api/user.d.ts +467 -0
  30. package/out/sbvr-api/user.js +3 -0
  31. package/out/sbvr-api/user.js.map +1 -0
  32. package/out/server-glue/module.d.ts +0 -1
  33. package/out/server-glue/module.js +1 -4
  34. package/out/server-glue/module.js.map +1 -1
  35. package/package.json +18 -19
  36. package/src/config-loader/env.ts +1 -6
  37. package/src/data-server/sbvr-server.js +3 -2
  38. package/src/database-layer/db.ts +0 -25
  39. package/src/migrator/migrations.ts +120 -0
  40. package/src/migrator/sync.ts +46 -41
  41. package/src/sbvr-api/dev.ts +44 -0
  42. package/src/sbvr-api/hooks.ts +21 -18
  43. package/src/sbvr-api/permissions.ts +50 -44
  44. package/src/sbvr-api/sbvr-utils.ts +90 -53
  45. package/src/sbvr-api/user.ts +421 -0
  46. package/src/server-glue/module.ts +0 -3
  47. package/out/tasks/common.d.ts +0 -4
  48. package/out/tasks/common.js +0 -13
  49. package/out/tasks/common.js.map +0 -1
  50. package/out/tasks/index.d.ts +0 -8
  51. package/out/tasks/index.js +0 -142
  52. package/out/tasks/index.js.map +0 -1
  53. package/out/tasks/tasks.sbvr +0 -60
  54. package/out/tasks/types.d.ts +0 -38
  55. package/out/tasks/types.js +0 -10
  56. package/out/tasks/types.js.map +0 -1
  57. package/out/tasks/worker.d.ts +0 -16
  58. package/out/tasks/worker.js +0 -228
  59. package/out/tasks/worker.js.map +0 -1
  60. package/src/tasks/common.ts +0 -14
  61. package/src/tasks/index.ts +0 -158
  62. package/src/tasks/tasks.sbvr +0 -60
  63. package/src/tasks/types.ts +0 -58
  64. package/src/tasks/worker.ts +0 -281
@@ -0,0 +1,113 @@
1
+ import type { Types } from '@balena/abstract-sql-to-typescript';
2
+ export interface Migration {
3
+ Read: {
4
+ created_at: Types['Date Time']['Read'];
5
+ modified_at: Types['Date Time']['Read'];
6
+ model_name: Types['Short Text']['Read'];
7
+ executed_migrations: Types['JSON']['Read'];
8
+ };
9
+ Write: {
10
+ created_at: Types['Date Time']['Write'];
11
+ modified_at: Types['Date Time']['Write'];
12
+ model_name: Types['Short Text']['Write'];
13
+ executed_migrations: Types['JSON']['Write'];
14
+ };
15
+ }
16
+ export interface MigrationLock {
17
+ Read: {
18
+ created_at: Types['Date Time']['Read'];
19
+ modified_at: Types['Date Time']['Read'];
20
+ model_name: Types['Short Text']['Read'];
21
+ };
22
+ Write: {
23
+ created_at: Types['Date Time']['Write'];
24
+ modified_at: Types['Date Time']['Write'];
25
+ model_name: Types['Short Text']['Write'];
26
+ };
27
+ }
28
+ export interface MigrationStatus {
29
+ Read: {
30
+ created_at: Types['Date Time']['Read'];
31
+ modified_at: Types['Date Time']['Read'];
32
+ migration_key: Types['Short Text']['Read'];
33
+ start_time: Types['Date Time']['Read'] | null;
34
+ last_run_time: Types['Date Time']['Read'] | null;
35
+ run_count: Types['Integer']['Read'];
36
+ migrated_row_count: Types['Integer']['Read'] | null;
37
+ error_count: Types['Integer']['Read'] | null;
38
+ is_backing_off: Types['Boolean']['Read'];
39
+ converged_time: Types['Date Time']['Read'] | null;
40
+ };
41
+ Write: {
42
+ created_at: Types['Date Time']['Write'];
43
+ modified_at: Types['Date Time']['Write'];
44
+ migration_key: Types['Short Text']['Write'];
45
+ start_time: Types['Date Time']['Write'] | null;
46
+ last_run_time: Types['Date Time']['Write'] | null;
47
+ run_count: Types['Integer']['Write'];
48
+ migrated_row_count: Types['Integer']['Write'] | null;
49
+ error_count: Types['Integer']['Write'] | null;
50
+ is_backing_off: Types['Boolean']['Write'];
51
+ converged_time: Types['Date Time']['Write'] | null;
52
+ };
53
+ }
54
+ export interface Migration {
55
+ Read: {
56
+ created_at: Types['Date Time']['Read'];
57
+ modified_at: Types['Date Time']['Read'];
58
+ model_name: Types['Short Text']['Read'];
59
+ executed_migrations: Types['JSON']['Read'];
60
+ };
61
+ Write: {
62
+ created_at: Types['Date Time']['Write'];
63
+ modified_at: Types['Date Time']['Write'];
64
+ model_name: Types['Short Text']['Write'];
65
+ executed_migrations: Types['JSON']['Write'];
66
+ };
67
+ }
68
+ export interface MigrationLock {
69
+ Read: {
70
+ created_at: Types['Date Time']['Read'];
71
+ modified_at: Types['Date Time']['Read'];
72
+ model_name: Types['Short Text']['Read'];
73
+ };
74
+ Write: {
75
+ created_at: Types['Date Time']['Write'];
76
+ modified_at: Types['Date Time']['Write'];
77
+ model_name: Types['Short Text']['Write'];
78
+ };
79
+ }
80
+ export interface MigrationStatus {
81
+ Read: {
82
+ created_at: Types['Date Time']['Read'];
83
+ modified_at: Types['Date Time']['Read'];
84
+ migration_key: Types['Short Text']['Read'];
85
+ start_time: Types['Date Time']['Read'] | null;
86
+ last_run_time: Types['Date Time']['Read'] | null;
87
+ run_count: Types['Integer']['Read'];
88
+ migrated_row_count: Types['Integer']['Read'] | null;
89
+ error_count: Types['Integer']['Read'] | null;
90
+ is_backing_off: Types['Boolean']['Read'];
91
+ converged_time: Types['Date Time']['Read'] | null;
92
+ };
93
+ Write: {
94
+ created_at: Types['Date Time']['Write'];
95
+ modified_at: Types['Date Time']['Write'];
96
+ migration_key: Types['Short Text']['Write'];
97
+ start_time: Types['Date Time']['Write'] | null;
98
+ last_run_time: Types['Date Time']['Write'] | null;
99
+ run_count: Types['Integer']['Write'];
100
+ migrated_row_count: Types['Integer']['Write'] | null;
101
+ error_count: Types['Integer']['Write'] | null;
102
+ is_backing_off: Types['Boolean']['Write'];
103
+ converged_time: Types['Date Time']['Write'] | null;
104
+ };
105
+ }
106
+ export default interface $Model {
107
+ migration: Migration;
108
+ migration_lock: MigrationLock;
109
+ migration_status: MigrationStatus;
110
+ migration$sbvr__compiler: Migration;
111
+ migration_lock$sbvr__compiler: MigrationLock;
112
+ migration_status$sbvr__compiler: MigrationStatus;
113
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/migrator/migrations.ts"],"names":[],"mappings":""}
@@ -1,10 +1,27 @@
1
+ import type MigrationsModel from './migrations';
1
2
  import { type MigrationExecutionResult } from './utils';
2
3
  import type { Tx } from '../database-layer/db';
3
4
  import type { Config, Model } from '../config-loader/config-loader';
5
+ import * as sbvrUtils from '../sbvr-api/sbvr-utils';
4
6
  type ApiRootModel = Model & {
5
7
  apiRoot: string;
6
8
  };
7
9
  export declare const postRun: (tx: Tx, model: ApiRootModel) => Promise<void>;
8
10
  export declare const run: (tx: Tx, model: ApiRootModel) => Promise<MigrationExecutionResult>;
11
+ declare module '../sbvr-api/sbvr-utils' {
12
+ interface API {
13
+ [migrationModelConfig.apiRoot]: PinejsClient<MigrationsModel>;
14
+ }
15
+ }
16
+ declare const migrationModelConfig: {
17
+ readonly modelName: "migrations";
18
+ readonly apiRoot: "migrations";
19
+ readonly modelText: any;
20
+ readonly migrations: {
21
+ readonly '11.0.0-modified-at': "\n\t\t\tALTER TABLE \"migration\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t";
22
+ readonly '11.0.1-modified-at': "\n\t\t\tALTER TABLE \"migration lock\"\n\t\t\tADD COLUMN IF NOT EXISTS \"modified at\" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;\n\t\t";
23
+ readonly '15.0.0-data-types': (tx: Tx, { db }: typeof sbvrUtils) => Promise<void>;
24
+ };
25
+ };
9
26
  export declare const config: Config;
10
27
  export {};
@@ -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 modelText = require('./migrations.sbvr');
33
+ const migrationsModel = require('./migrations.sbvr');
34
34
  const postRun = async (tx, model) => {
35
35
  const { initSql } = model;
36
36
  if (initSql == null) {
@@ -111,45 +111,44 @@ const executeMigration = async (tx, [key, migration]) => {
111
111
  throw new utils_1.MigrationError(`Invalid migration type: ${typeof migration}`);
112
112
  }
113
113
  };
114
- exports.config = {
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
- },
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
+ }
152
148
  },
153
- ],
149
+ },
150
+ };
151
+ exports.config = {
152
+ models: [migrationModelConfig],
154
153
  };
155
154
  //# 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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"}
@@ -0,0 +1,41 @@
1
+ import type { Types } from '@balena/abstract-sql-to-typescript';
2
+ export interface Model {
3
+ Read: {
4
+ created_at: Types['Date Time']['Read'];
5
+ modified_at: Types['Date Time']['Read'];
6
+ id: Types['Serial']['Read'];
7
+ is_of__vocabulary: Types['Short Text']['Read'];
8
+ model_type: Types['Short Text']['Read'];
9
+ model_value: Types['JSON']['Read'];
10
+ };
11
+ Write: {
12
+ created_at: Types['Date Time']['Write'];
13
+ modified_at: Types['Date Time']['Write'];
14
+ id: Types['Serial']['Write'];
15
+ is_of__vocabulary: Types['Short Text']['Write'];
16
+ model_type: Types['Short Text']['Write'];
17
+ model_value: Types['JSON']['Write'];
18
+ };
19
+ }
20
+ export interface Model {
21
+ Read: {
22
+ created_at: Types['Date Time']['Read'];
23
+ modified_at: Types['Date Time']['Read'];
24
+ id: Types['Serial']['Read'];
25
+ is_of__vocabulary: Types['Short Text']['Read'];
26
+ model_type: Types['Short Text']['Read'];
27
+ model_value: Types['JSON']['Read'];
28
+ };
29
+ Write: {
30
+ created_at: Types['Date Time']['Write'];
31
+ modified_at: Types['Date Time']['Write'];
32
+ id: Types['Serial']['Write'];
33
+ is_of__vocabulary: Types['Short Text']['Write'];
34
+ model_type: Types['Short Text']['Write'];
35
+ model_value: Types['JSON']['Write'];
36
+ };
37
+ }
38
+ export default interface $Model {
39
+ model: Model;
40
+ model$sbvr__compiler: Model;
41
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/sbvr-api/dev.ts"],"names":[],"mappings":""}
@@ -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 PinejsClient, type User, type ApiKey, type Response } from './sbvr-utils';
6
+ import { type User, type ApiKey, api, 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 {
20
+ export interface HookArgs<Vocab extends string = string> {
21
21
  req: HookReq;
22
22
  request: ODataRequest;
23
- api: PinejsClient;
23
+ api: (typeof api)[Vocab];
24
24
  tx?: Tx | undefined;
25
25
  }
26
26
  export type HookResponse = PromiseLike<any> | null | void;
27
- export interface Hooks {
28
- PREPARSE?: (options: Omit<HookArgs, 'request' | 'api'>) => HookResponse;
29
- POSTPARSE?: (options: HookArgs) => HookResponse;
30
- PRERUN?: (options: HookArgs & {
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> & {
31
31
  tx: Tx;
32
32
  }) => HookResponse;
33
- POSTRUN?: (options: HookArgs & {
33
+ POSTRUN?: (options: HookArgs<Vocab> & {
34
34
  tx: Tx;
35
35
  result: any;
36
36
  }) => HookResponse;
37
- PRERESPOND?: (options: HookArgs & {
37
+ PRERESPOND?: (options: HookArgs<Vocab> & {
38
38
  tx: Tx;
39
39
  result: any;
40
40
  response: Response;
41
41
  }) => HookResponse;
42
- 'POSTRUN-ERROR'?: (options: HookArgs & {
42
+ 'POSTRUN-ERROR'?: (options: HookArgs<Vocab> & {
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: (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 & {
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> & {
92
92
  tx: Tx;
93
93
  }) => HookResponse> | undefined;
94
- POSTRUN?: HookBlueprint<(options: HookArgs & {
94
+ POSTRUN?: HookBlueprint<(options: HookArgs<string> & {
95
95
  tx: Tx;
96
96
  result: any;
97
97
  }) => HookResponse> | undefined;
98
- PRERESPOND?: HookBlueprint<(options: HookArgs & {
98
+ PRERESPOND?: HookBlueprint<(options: HookArgs<string> & {
99
99
  tx: Tx;
100
100
  result: any;
101
101
  response: Response;
102
102
  }) => HookResponse> | undefined;
103
- 'POSTRUN-ERROR'?: HookBlueprint<(options: HookArgs & {
103
+ 'POSTRUN-ERROR'?: HookBlueprint<(options: HookArgs<string> & {
104
104
  tx: Tx;
105
105
  error: TypedError | any;
106
106
  }) => HookResponse> | undefined;
107
107
  } | ({
108
- PREPARSE?: ((options: Omit<HookArgs, 'request' | 'api'>) => HookResponse) | undefined;
109
- POSTPARSE?: ((options: HookArgs) => HookResponse) | undefined;
110
- PRERUN?: ((options: HookArgs & {
108
+ PREPARSE?: ((options: Omit<HookArgs<string>, "request" | "api">) => HookResponse) | undefined;
109
+ POSTPARSE?: ((options: HookArgs<string>) => HookResponse) | undefined;
110
+ PRERUN?: ((options: HookArgs<string> & {
111
111
  tx: Tx;
112
112
  }) => HookResponse) | undefined;
113
- POSTRUN?: ((options: HookArgs & {
113
+ POSTRUN?: ((options: HookArgs<string> & {
114
114
  tx: Tx;
115
115
  result: any;
116
116
  }) => HookResponse) | undefined;
117
- PRERESPOND?: ((options: HookArgs & {
117
+ PRERESPOND?: ((options: HookArgs<string> & {
118
118
  tx: Tx;
119
119
  result: any;
120
120
  response: Response;
121
121
  }) => HookResponse) | undefined;
122
- 'POSTRUN-ERROR'?: ((options: HookArgs & {
122
+ 'POSTRUN-ERROR'?: ((options: HookArgs<string> & {
123
123
  tx: Tx;
124
124
  error: TypedError | any;
125
125
  }) => HookResponse) | undefined;
@@ -127,8 +127,8 @@ export declare const addHook: (method: keyof typeof apiHooks, vocabulary: string
127
127
  sideEffects: HookBlueprint<HookFn>['sideEffects'];
128
128
  readOnlyTx: HookBlueprint<HookFn>['readOnlyTx'];
129
129
  })) => 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;
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;
132
132
  type RunHookArgs<T extends keyof Hooks> = Omit<Parameters<NonNullable<Hooks[T]>>[0], 'api'>;
133
- export declare const runHooks: <T extends keyof Hooks>(hookName: T, hooksList: Array<[modelName: string, hooks: InstantiatedHooks]> | undefined, args: RunHookArgs<T>) => Promise<void>;
133
+ export declare const runHooks: <T extends keyof Hooks<string>>(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';
1
2
  import './express-extension';
2
3
  import type * as Express from 'express';
3
4
  import type { Tx } from '../database-layer/db';
4
5
  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,7 +46,31 @@ 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
+ };
49
64
  export declare const config: {
50
- models: sbvrUtils.ExecutableModel[];
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
+ }[];
51
75
  };
52
76
  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,48 +1105,47 @@ const addPermissions = async (req, request) => {
1105
1105
  }
1106
1106
  };
1107
1107
  exports.addPermissions = addPermissions;
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;
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;
1118
1116
 
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;
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;
1125
1123
 
1126
- ALTER TABLE "permission"
1127
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1124
+ ALTER TABLE "permission"
1125
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1128
1126
 
1129
- ALTER TABLE "role"
1130
- ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1127
+ ALTER TABLE "role"
1128
+ ADD COLUMN IF NOT EXISTS "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
1131
1129
 
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
- ],
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],
1150
1149
  };
1151
1150
  const setup = () => {
1152
1151
  (0, hooks_1.addHook)('all', 'all', 'all', {