mandarina-server 1.6.4 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Action/CustomAction.d.ts +4 -2
- package/build/Action/CustomAction.js +14 -2
- package/build/Action/CustomAction.js.map +1 -1
- package/build/Table/Table.d.ts +19 -18
- package/build/Table/Table.js +26 -28
- package/build/Table/Table.js.map +1 -1
- package/package.json +1 -1
- package/src/Action/CustomAction.ts +13 -5
- package/src/Table/Table.ts +34 -25
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ErrorFromServerMapper, Schema } from "mandarina/build/Schema/Schema";
|
|
2
|
-
import {
|
|
1
|
+
import { ErrorFromServerMapper, Permission, Schema } from "mandarina/build/Schema/Schema";
|
|
2
|
+
import { Hook } from "../Table/Table";
|
|
3
3
|
export declare class CustomAction {
|
|
4
4
|
static instances: {
|
|
5
5
|
[actionName: string]: CustomAction;
|
|
@@ -8,6 +8,8 @@ export declare class CustomAction {
|
|
|
8
8
|
name: string;
|
|
9
9
|
options: ActionOptions;
|
|
10
10
|
actions: ActionInterface;
|
|
11
|
+
protected static hook: Hook;
|
|
12
|
+
static setGlobalHook: (hook: Hook) => void;
|
|
11
13
|
/**
|
|
12
14
|
*
|
|
13
15
|
*
|
|
@@ -98,14 +98,26 @@ var CustomAction = /** @class */ (function () {
|
|
|
98
98
|
console.log('*****************************************************************************');
|
|
99
99
|
//throw new Error(`Action "${action}" not allowed for this user`)
|
|
100
100
|
}
|
|
101
|
-
return [
|
|
102
|
-
|
|
101
|
+
if (!CustomAction.hook) return [3 /*break*/, 3];
|
|
102
|
+
context.schemaName = this.name;
|
|
103
|
+
context.name = action;
|
|
104
|
+
return [4 /*yield*/, CustomAction.hook(_, args, context, info)];
|
|
105
|
+
case 2:
|
|
106
|
+
_a.sent();
|
|
107
|
+
delete context.schemaName;
|
|
108
|
+
delete context.name;
|
|
109
|
+
_a.label = 3;
|
|
110
|
+
case 3: return [4 /*yield*/, actions[action].action(_, args, context, info)];
|
|
111
|
+
case 4: return [2 /*return*/, _a.sent()];
|
|
103
112
|
}
|
|
104
113
|
});
|
|
105
114
|
}); };
|
|
106
115
|
});
|
|
107
116
|
return result;
|
|
108
117
|
};
|
|
118
|
+
CustomAction.setGlobalHook = function (hook) {
|
|
119
|
+
CustomAction.hook = hook;
|
|
120
|
+
};
|
|
109
121
|
return CustomAction;
|
|
110
122
|
}());
|
|
111
123
|
exports.CustomAction = CustomAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomAction.js","sourceRoot":"","sources":["../../src/Action/CustomAction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"CustomAction.js","sourceRoot":"","sources":["../../src/Action/CustomAction.ts"],"names":[],"mappings":"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"}
|
package/build/Table/Table.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export declare class Table {
|
|
|
19
19
|
schema: Schema;
|
|
20
20
|
name: string;
|
|
21
21
|
options: TableSchemaOptions & TableShapeOptions;
|
|
22
|
+
protected static hooks: Hooks;
|
|
23
|
+
static setGlobalHooks: (hooks: Hooks) => void;
|
|
22
24
|
constructor(schema: Schema, tableOptions?: TableShapeOptions);
|
|
23
25
|
static getInstance(name: string): Table;
|
|
24
26
|
getFields(): string[];
|
|
@@ -26,7 +28,7 @@ export declare class Table {
|
|
|
26
28
|
getDefaultActions(type: operationType): {
|
|
27
29
|
[resolverName: string]: (_: any, args: any, context: Context, info: any) => void;
|
|
28
30
|
};
|
|
29
|
-
insertWhereIntoInfo: (info: GraphQLResolveInfo, user: UserType | null | undefined, isSingleMutation: boolean | undefined, action:
|
|
31
|
+
insertWhereIntoInfo: (info: GraphQLResolveInfo, user: UserType | null | undefined, isSingleMutation: boolean | undefined, action: ActionType, operationName: string) => {
|
|
30
32
|
fields: string[];
|
|
31
33
|
query: any;
|
|
32
34
|
queryString: string;
|
|
@@ -54,22 +56,23 @@ export interface Hook {
|
|
|
54
56
|
(_: any, args: any, context: any, info: any): Promise<any> | void | any;
|
|
55
57
|
}
|
|
56
58
|
export declare type operationType = "mutation" | "query";
|
|
59
|
+
export declare type Hooks = {
|
|
60
|
+
beforeValidate?: Hook;
|
|
61
|
+
afterValidate?: Hook;
|
|
62
|
+
validationFailed?: Hook;
|
|
63
|
+
beforeCreate?: Hook;
|
|
64
|
+
beforeDelete?: Hook;
|
|
65
|
+
beforeUpdate?: Hook;
|
|
66
|
+
beforeSave?: Hook;
|
|
67
|
+
afterCreate?: Hook;
|
|
68
|
+
afterDelete?: Hook;
|
|
69
|
+
afterUpdate?: Hook;
|
|
70
|
+
beforeQuery?: Hook;
|
|
71
|
+
afterQuery?: Hook;
|
|
72
|
+
};
|
|
57
73
|
export interface TableSchemaOptions {
|
|
58
74
|
virtual?: boolean;
|
|
59
|
-
hooks?:
|
|
60
|
-
beforeValidate?: Hook;
|
|
61
|
-
afterValidate?: Hook;
|
|
62
|
-
validationFailed?: Hook;
|
|
63
|
-
beforeCreate?: Hook;
|
|
64
|
-
beforeDelete?: Hook;
|
|
65
|
-
beforeUpdate?: Hook;
|
|
66
|
-
beforeSave?: Hook;
|
|
67
|
-
afterCreate?: Hook;
|
|
68
|
-
afterDelete?: Hook;
|
|
69
|
-
afterUpdate?: Hook;
|
|
70
|
-
beforeQuery?: Hook;
|
|
71
|
-
afterQuery?: Hook;
|
|
72
|
-
};
|
|
75
|
+
hooks?: Hooks;
|
|
73
76
|
filters?: Filter[];
|
|
74
77
|
}
|
|
75
78
|
export declare type Filter = {
|
|
@@ -83,6 +86,4 @@ export interface TableShapeOptions extends TableSchemaOptions {
|
|
|
83
86
|
errorFromServerMapper?: ErrorFromServerMapper;
|
|
84
87
|
where?: (user: UserType | null | undefined, action: ActionType, operationName: string) => any;
|
|
85
88
|
}
|
|
86
|
-
declare type HookName = 'beforeValidate' | 'afterValidate' | 'validationFailed' | 'beforeCreate' | 'beforeDelete' | 'beforeUpdate' | 'afterCreate' | 'afterDelete' | 'afterUpdate' | 'beforeQuery' | 'afterQuery';
|
|
87
|
-
export declare function bm(description?: string, ...args: any): void;
|
|
88
|
-
export {};
|
|
89
|
+
export declare type HookName = 'beforeValidate' | 'afterValidate' | 'validationFailed' | 'beforeCreate' | 'beforeDelete' | 'beforeUpdate' | 'afterCreate' | 'afterDelete' | 'afterUpdate' | 'beforeQuery' | 'afterQuery';
|
package/build/Table/Table.js
CHANGED
|
@@ -46,13 +46,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
50
|
-
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
51
|
-
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
52
|
-
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
53
|
-
r[k] = a[j];
|
|
54
|
-
return r;
|
|
55
|
-
};
|
|
56
49
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
57
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
58
51
|
};
|
|
@@ -214,7 +207,6 @@ var Table = /** @class */ (function () {
|
|
|
214
207
|
switch (_b.label) {
|
|
215
208
|
case 0:
|
|
216
209
|
context.originalArgs = args;
|
|
217
|
-
bm();
|
|
218
210
|
return [4 /*yield*/, Mandarina_1.default.config.getUser(context)];
|
|
219
211
|
case 1:
|
|
220
212
|
user = _b.sent();
|
|
@@ -291,9 +283,7 @@ var Table = /** @class */ (function () {
|
|
|
291
283
|
case 11:
|
|
292
284
|
_b.sent();
|
|
293
285
|
_b.label = 12;
|
|
294
|
-
case 12:
|
|
295
|
-
bm(operationName + " " + type + " over " + this.name);
|
|
296
|
-
return [2 /*return*/, result];
|
|
286
|
+
case 12: return [2 /*return*/, result];
|
|
297
287
|
}
|
|
298
288
|
});
|
|
299
289
|
});
|
|
@@ -316,16 +306,17 @@ var Table = /** @class */ (function () {
|
|
|
316
306
|
*/
|
|
317
307
|
Table.prototype.callHook = function (schemaName, name, _, args, context, info) {
|
|
318
308
|
return __awaiter(this, void 0, void 0, function () {
|
|
319
|
-
var prefix, hookHandler, fields, schema, _i, fields_1, field, def, inline, operations, table, _a, operations_1, operation, hookName, args2, _b, args2_1, arg2, e_1;
|
|
309
|
+
var prefix, globalHookHandler, hookHandler, fields, schema, _i, fields_1, field, def, inline, operations, table, _a, operations_1, operation, hookName, args2, _b, args2_1, arg2, e_1;
|
|
320
310
|
return __generator(this, function (_c) {
|
|
321
311
|
switch (_c.label) {
|
|
322
312
|
case 0:
|
|
323
|
-
_c.trys.push([0,
|
|
313
|
+
_c.trys.push([0, 20, , 21]);
|
|
324
314
|
prefix = '';
|
|
325
315
|
if (name.indexOf('before') === 0)
|
|
326
316
|
prefix = 'before';
|
|
327
317
|
if (name.indexOf('after') === 0)
|
|
328
318
|
prefix = 'after';
|
|
319
|
+
globalHookHandler = Table.hooks[name];
|
|
329
320
|
hookHandler = this.options.hooks && this.options.hooks[name];
|
|
330
321
|
if (!(args.data && prefix)) return [3 /*break*/, 15];
|
|
331
322
|
fields = Object.keys(args.data);
|
|
@@ -387,34 +378,41 @@ var Table = /** @class */ (function () {
|
|
|
387
378
|
_i++;
|
|
388
379
|
return [3 /*break*/, 1];
|
|
389
380
|
case 15:
|
|
390
|
-
if (!
|
|
391
|
-
|
|
381
|
+
if (!globalHookHandler) return [3 /*break*/, 17];
|
|
382
|
+
context.schemaName = schemaName;
|
|
383
|
+
context.name = name;
|
|
384
|
+
return [4 /*yield*/, globalHookHandler(_, args, context, info)];
|
|
392
385
|
case 16:
|
|
393
386
|
_c.sent();
|
|
394
387
|
_c.label = 17;
|
|
395
|
-
case 17:
|
|
388
|
+
case 17:
|
|
389
|
+
if (!hookHandler) return [3 /*break*/, 19];
|
|
390
|
+
return [4 /*yield*/, hookHandler(_, args, context, info)];
|
|
396
391
|
case 18:
|
|
392
|
+
_c.sent();
|
|
393
|
+
_c.label = 19;
|
|
394
|
+
case 19: return [3 /*break*/, 21];
|
|
395
|
+
case 20:
|
|
397
396
|
e_1 = _c.sent();
|
|
398
397
|
console.error("Error executing hook: \"" + name + "\" in Table: " + schemaName + "\"");
|
|
399
398
|
console.error(e_1);
|
|
400
399
|
throw e_1;
|
|
401
|
-
case
|
|
400
|
+
case 21: return [2 /*return*/];
|
|
402
401
|
}
|
|
403
402
|
});
|
|
404
403
|
});
|
|
405
404
|
};
|
|
405
|
+
Table.hooks = {};
|
|
406
|
+
Table.setGlobalHooks = function (hooks) {
|
|
407
|
+
Table.hooks = hooks;
|
|
408
|
+
};
|
|
406
409
|
return Table;
|
|
407
410
|
}());
|
|
408
411
|
exports.Table = Table;
|
|
409
|
-
|
|
410
|
-
function bm(description) {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
description && console.info.apply(console, __spreadArrays([description], args, [new Date().getTime() - time]));
|
|
417
|
-
time = new Date().getTime();
|
|
418
|
-
}
|
|
419
|
-
exports.bm = bm;
|
|
412
|
+
// let time = new Date().getTime()
|
|
413
|
+
// export function bm(description = '',...args:any) {
|
|
414
|
+
// description && console.info(description,...args, new Date().getTime() - time)
|
|
415
|
+
// time = new Date().getTime()
|
|
416
|
+
//
|
|
417
|
+
// }
|
|
420
418
|
//# sourceMappingURL=Table.js.map
|
package/build/Table/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table/Table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table/Table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {ErrorFromServerMapper, Schema} from "mandarina/build/Schema/Schema";
|
|
1
|
+
import {ErrorFromServerMapper, Permission, Schema} from "mandarina/build/Schema/Schema";
|
|
2
2
|
import {TableInstanceNotFound} from "../Errors/TableInstanceNotFound";
|
|
3
3
|
import {UniqueActionError} from "../Errors/UniqueActionError";
|
|
4
|
-
|
|
5
|
-
import {Permission} from "mandarina/build/Schema/Schema";
|
|
6
4
|
import Mandarina from "../Mandarina";
|
|
7
|
-
|
|
5
|
+
import {Hook} from "../Table/Table";
|
|
8
6
|
|
|
9
7
|
|
|
10
8
|
export class CustomAction {
|
|
@@ -15,7 +13,10 @@ export class CustomAction {
|
|
|
15
13
|
public name: string;
|
|
16
14
|
public options: ActionOptions
|
|
17
15
|
public actions: ActionInterface
|
|
18
|
-
|
|
16
|
+
protected static hook: Hook
|
|
17
|
+
static setGlobalHook = (hook: Hook) => {
|
|
18
|
+
CustomAction.hook = hook
|
|
19
|
+
}
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
*
|
|
@@ -73,6 +74,13 @@ export class CustomAction {
|
|
|
73
74
|
console.log('*****************************************************************************')
|
|
74
75
|
//throw new Error(`Action "${action}" not allowed for this user`)
|
|
75
76
|
}
|
|
77
|
+
if (CustomAction.hook) {
|
|
78
|
+
context.schemaName= this.name
|
|
79
|
+
context.name= action
|
|
80
|
+
await CustomAction.hook(_, args, context, info)
|
|
81
|
+
delete context.schemaName
|
|
82
|
+
delete context.name
|
|
83
|
+
}
|
|
76
84
|
return await actions[action].action(_, args, context, info)
|
|
77
85
|
|
|
78
86
|
};
|
package/src/Table/Table.ts
CHANGED
|
@@ -30,7 +30,11 @@ export class Table {
|
|
|
30
30
|
public schema: Schema;
|
|
31
31
|
public name: string;
|
|
32
32
|
public options: TableSchemaOptions & TableShapeOptions;
|
|
33
|
+
protected static hooks: Hooks= {}
|
|
33
34
|
|
|
35
|
+
static setGlobalHooks = (hooks: Hooks) => {
|
|
36
|
+
Table.hooks = hooks
|
|
37
|
+
}
|
|
34
38
|
|
|
35
39
|
constructor(schema: Schema, tableOptions?: TableShapeOptions) {
|
|
36
40
|
Table.instances = Table.instances || {};
|
|
@@ -95,7 +99,6 @@ export class Table {
|
|
|
95
99
|
if (!this.shouldHasManyUpdate()) return
|
|
96
100
|
resultResolvers[operationName] = async (_: any, args: any = {}, context: Context, info: GraphQLResolveInfo) => {
|
|
97
101
|
context.originalArgs=args
|
|
98
|
-
bm()
|
|
99
102
|
const user = await Mandarina.config.getUser(context)
|
|
100
103
|
const subOperationName: ActionType | string = operationName.substr(0, 6)
|
|
101
104
|
const action: ActionType = <ActionType>(['create', 'update', 'delete'].includes(subOperationName) ? subOperationName : 'read')
|
|
@@ -182,7 +185,6 @@ export class Table {
|
|
|
182
185
|
context.result = result
|
|
183
186
|
await this.callHook(this.name, 'afterQuery', _, args, context, info);
|
|
184
187
|
}
|
|
185
|
-
bm(`${operationName} ${type} over ${this.name}`)
|
|
186
188
|
return result;
|
|
187
189
|
}
|
|
188
190
|
});
|
|
@@ -281,6 +283,7 @@ export class Table {
|
|
|
281
283
|
let prefix = ''
|
|
282
284
|
if (name.indexOf('before') === 0) prefix = 'before'
|
|
283
285
|
if (name.indexOf('after') === 0) prefix = 'after'
|
|
286
|
+
const globalHookHandler = Table.hooks[name];
|
|
284
287
|
const hookHandler = this.options.hooks && this.options.hooks[name];
|
|
285
288
|
if ( args.data && prefix) {
|
|
286
289
|
const fields = Object.keys( args.data)
|
|
@@ -320,6 +323,11 @@ export class Table {
|
|
|
320
323
|
}
|
|
321
324
|
}
|
|
322
325
|
}
|
|
326
|
+
if (globalHookHandler) {
|
|
327
|
+
context.schemaName=schemaName
|
|
328
|
+
context.name=name
|
|
329
|
+
await globalHookHandler(_, args, context, info);
|
|
330
|
+
}
|
|
323
331
|
if (hookHandler) {
|
|
324
332
|
await hookHandler(_, args, context, info);
|
|
325
333
|
}
|
|
@@ -374,25 +382,26 @@ export interface Hook {
|
|
|
374
382
|
|
|
375
383
|
export type operationType = "mutation" | "query"
|
|
376
384
|
|
|
385
|
+
export type Hooks={
|
|
386
|
+
beforeValidate?: Hook
|
|
387
|
+
afterValidate?: Hook
|
|
388
|
+
validationFailed?: Hook
|
|
389
|
+
beforeCreate?: Hook
|
|
390
|
+
beforeDelete?: Hook
|
|
391
|
+
beforeUpdate?: Hook
|
|
392
|
+
beforeSave?: Hook
|
|
393
|
+
afterCreate?: Hook
|
|
394
|
+
afterDelete?: Hook
|
|
395
|
+
afterUpdate?: Hook
|
|
396
|
+
|
|
397
|
+
// Query operation hooks
|
|
398
|
+
beforeQuery?: Hook
|
|
399
|
+
afterQuery?: Hook
|
|
400
|
+
}
|
|
377
401
|
|
|
378
402
|
export interface TableSchemaOptions {
|
|
379
403
|
virtual?: boolean
|
|
380
|
-
hooks?:
|
|
381
|
-
beforeValidate?: Hook
|
|
382
|
-
afterValidate?: Hook
|
|
383
|
-
validationFailed?: Hook
|
|
384
|
-
beforeCreate?: Hook
|
|
385
|
-
beforeDelete?: Hook
|
|
386
|
-
beforeUpdate?: Hook
|
|
387
|
-
beforeSave?: Hook
|
|
388
|
-
afterCreate?: Hook
|
|
389
|
-
afterDelete?: Hook
|
|
390
|
-
afterUpdate?: Hook
|
|
391
|
-
|
|
392
|
-
// Query operation hooks
|
|
393
|
-
beforeQuery?: Hook
|
|
394
|
-
afterQuery?: Hook
|
|
395
|
-
}
|
|
404
|
+
hooks?: Hooks
|
|
396
405
|
filters?: Filter[]
|
|
397
406
|
}
|
|
398
407
|
|
|
@@ -406,7 +415,7 @@ export interface TableShapeOptions extends TableSchemaOptions {
|
|
|
406
415
|
}
|
|
407
416
|
|
|
408
417
|
|
|
409
|
-
type HookName =
|
|
418
|
+
export type HookName =
|
|
410
419
|
'beforeValidate'
|
|
411
420
|
| 'afterValidate'
|
|
412
421
|
| 'validationFailed'
|
|
@@ -419,10 +428,10 @@ type HookName =
|
|
|
419
428
|
| 'beforeQuery'
|
|
420
429
|
| 'afterQuery'
|
|
421
430
|
|
|
422
|
-
let time = new Date().getTime()
|
|
423
|
-
|
|
424
|
-
export function bm(description = '',...args:any) {
|
|
425
|
-
description && console.info(description,...args, new Date().getTime() - time)
|
|
426
|
-
time = new Date().getTime()
|
|
431
|
+
// let time = new Date().getTime()
|
|
427
432
|
|
|
428
|
-
|
|
433
|
+
// export function bm(description = '',...args:any) {
|
|
434
|
+
// description && console.info(description,...args, new Date().getTime() - time)
|
|
435
|
+
// time = new Date().getTime()
|
|
436
|
+
//
|
|
437
|
+
// }
|