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.
@@ -1,5 +1,5 @@
1
- import { ErrorFromServerMapper, Schema } from "mandarina/build/Schema/Schema";
2
- import { Permission } from "mandarina/build/Schema/Schema";
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 [4 /*yield*/, actions[action].action(_, args, context, info)];
102
- case 2: return [2 /*return*/, _a.sent()];
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":"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"}
1
+ {"version":3,"file":"CustomAction.js","sourceRoot":"","sources":["../../src/Action/CustomAction.ts"],"names":[],"mappings":"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"}
@@ -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: "update" | "read" | "create" | "delete", operationName: string) => {
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';
@@ -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, 18, , 19]);
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 (!hookHandler) return [3 /*break*/, 17];
391
- return [4 /*yield*/, hookHandler(_, args, context, info)];
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: return [3 /*break*/, 19];
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 19: return [2 /*return*/];
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
- var time = new Date().getTime();
410
- function bm(description) {
411
- if (description === void 0) { description = ''; }
412
- var args = [];
413
- for (var _i = 1; _i < arguments.length; _i++) {
414
- args[_i - 1] = arguments[_i];
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
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "mandarina-server",
3
- "version": "1.6.4",
3
+ "version": "1.7.0",
4
4
  "description": "Mandarina for server side",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -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
  };
@@ -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
+ // }