@smartive/graphql-magic 19.2.0-next.2 → 19.2.0-next.4

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/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
- # [19.2.0-next.2](https://github.com/smartive/graphql-magic/compare/v19.2.0-next.1...v19.2.0-next.2) (2025-06-18)
1
+ # [19.2.0-next.4](https://github.com/smartive/graphql-magic/compare/v19.2.0-next.3...v19.2.0-next.4) (2025-06-18)
2
2
 
3
3
 
4
- ### Features
4
+ ### Bug Fixes
5
5
 
6
- * Trigger ([764fa98](https://github.com/smartive/graphql-magic/commit/764fa98e3e801a9d13e37b71f5bd43994456f6e9))
6
+ * No more data ([7eeab15](https://github.com/smartive/graphql-magic/commit/7eeab154865b4f3df7cd0ad7d1fdd67c69540504))
@@ -2670,31 +2670,31 @@ var mutationResolver = async (_parent, args2, partialCtx, info) => {
2670
2670
  return await partialCtx.knex.transaction(async (knex) => {
2671
2671
  const [, mutation, modelName] = it(info.fieldName.match(/^(create|update|delete|restore)(.+)$/));
2672
2672
  const ctx = { ...partialCtx, knex, info, aliases: new AliasGenerator() };
2673
- const model = ctx.models.getModel(modelName, "entity");
2674
2673
  switch (mutation) {
2675
2674
  case "create": {
2676
- const id = await createEntity(model, args2.data, ctx, "mutation");
2675
+ const id = await createEntity(modelName, args2.data, ctx, "mutation");
2677
2676
  return await resolve(ctx, id);
2678
2677
  }
2679
2678
  case "update": {
2680
2679
  const id = args2.where.id;
2681
- await updateEntity(model, id, args2.data, ctx);
2680
+ await updateEntity(modelName, id, args2.data, ctx);
2682
2681
  return await resolve(ctx, id);
2683
2682
  }
2684
2683
  case "delete": {
2685
2684
  const id = args2.where.id;
2686
- await deleteEntity(model, id, args2.dryRun, model.rootModel.name, id, ctx, "mutation");
2685
+ await deleteEntity(modelName, id, args2.dryRun, void 0, void 0, ctx, "mutation");
2687
2686
  return id;
2688
2687
  }
2689
2688
  case "restore": {
2690
2689
  const id = args2.where.id;
2691
- await restoreEntity(model, id, ctx, "mutation");
2690
+ await restoreEntity(modelName, id, ctx, "mutation");
2692
2691
  return id;
2693
2692
  }
2694
2693
  }
2695
2694
  });
2696
2695
  };
2697
- var createEntity = async (model, input2, ctx, trigger = "direct-call") => {
2696
+ var createEntity = async (modelName, input2, ctx, trigger = "direct-call") => {
2697
+ const model = ctx.models.getModel(modelName, "entity");
2698
2698
  const normalizedInput = { ...input2 };
2699
2699
  if (!normalizedInput.id) {
2700
2700
  normalizedInput.id = (0, import_uuid.v4)();
@@ -2712,8 +2712,14 @@ var createEntity = async (model, input2, ctx, trigger = "direct-call") => {
2712
2712
  sanitize(ctx, model, normalizedInput);
2713
2713
  await checkCanWrite(ctx, model, normalizedInput, "CREATE");
2714
2714
  await ctx.handleUploads?.(normalizedInput);
2715
- const data = { prev: {}, input: input2, normalizedInput, next: normalizedInput };
2716
- await ctx.mutationHook?.({ model, action: "create", trigger, when: "before", data, ctx });
2715
+ await ctx.mutationHook?.({
2716
+ model,
2717
+ action: "create",
2718
+ trigger,
2719
+ when: "before",
2720
+ data: { prev: {}, input: input2, normalizedInput, next: normalizedInput },
2721
+ ctx
2722
+ });
2717
2723
  if (model.parent) {
2718
2724
  const rootInput = {};
2719
2725
  const childInput = { id };
@@ -2733,16 +2739,24 @@ var createEntity = async (model, input2, ctx, trigger = "direct-call") => {
2733
2739
  await ctx.knex(model.name).insert(normalizedInput);
2734
2740
  }
2735
2741
  await createRevision(model, normalizedInput, ctx);
2736
- await ctx.mutationHook?.({ model, action: "create", trigger, when: "after", data, ctx });
2742
+ await ctx.mutationHook?.({
2743
+ model,
2744
+ action: "create",
2745
+ trigger,
2746
+ when: "after",
2747
+ data: { prev: {}, input: input2, normalizedInput, next: normalizedInput },
2748
+ ctx
2749
+ });
2737
2750
  return normalizedInput.id;
2738
2751
  };
2739
- var updateEntities = async (model, where, updateFields, ctx) => {
2740
- const entities = await ctx.knex(model.name).where(where).select("id");
2752
+ var updateEntities = async (modelName, where, updateFields, ctx) => {
2753
+ const entities = await ctx.knex(modelName).where(where).select("id");
2741
2754
  for (const entity of entities) {
2742
- await updateEntity(model, entity.id, updateFields, ctx);
2755
+ await updateEntity(modelName, entity.id, updateFields, ctx);
2743
2756
  }
2744
2757
  };
2745
- var updateEntity = async (model, id, input2, ctx, trigger = "direct-call") => {
2758
+ var updateEntity = async (modelName, id, input2, ctx, trigger = "direct-call") => {
2759
+ const model = ctx.models.getModel(modelName, "entity");
2746
2760
  const normalizedInput = { ...input2 };
2747
2761
  sanitize(ctx, model, normalizedInput);
2748
2762
  const currentEntity = await getEntityToMutate(ctx, model, { id }, "UPDATE");
@@ -2773,14 +2787,18 @@ var updateEntity = async (model, id, input2, ctx, trigger = "direct-call") => {
2773
2787
  });
2774
2788
  }
2775
2789
  };
2776
- var deleteEntities = async (model, where, deleteRootType, deleteRootId, ctx) => {
2777
- const entities = await ctx.knex(model.name).where(where).select("id");
2790
+ var deleteEntities = async (modelName, where, deleteRootType, deleteRootId, ctx) => {
2791
+ const entities = await ctx.knex(modelName).where(where).select("id");
2778
2792
  for (const entity of entities) {
2779
- await deleteEntity(model, entity.id, false, deleteRootType, deleteRootId, ctx);
2793
+ await deleteEntity(modelName, entity.id, false, deleteRootType, deleteRootId, ctx);
2780
2794
  }
2781
2795
  };
2782
- var deleteEntity = async (model, id, dryRun, deleteRootType = model.rootModel.name, deleteRootId = id, ctx, trigger = "direct-call") => {
2796
+ var deleteEntity = async (modelName, id, dryRun, deleteRootType, deleteRootId = id, ctx, trigger = "direct-call") => {
2797
+ const model = ctx.models.getModel(modelName, "entity");
2783
2798
  const rootModel = model.rootModel;
2799
+ if (!deleteRootType) {
2800
+ deleteRootType = rootModel.name;
2801
+ }
2784
2802
  const entity = await getEntityToMutate(ctx, rootModel, { id }, "DELETE");
2785
2803
  if (entity.deleted) {
2786
2804
  throw new ForbiddenError(`${getTechnicalDisplay(model, entity)} is already deleted.`);
@@ -2948,7 +2966,8 @@ var deleteEntity = async (model, id, dryRun, deleteRootType = model.rootModel.na
2948
2966
  });
2949
2967
  }
2950
2968
  };
2951
- var restoreEntity = async (model, id, ctx, trigger = "direct-call") => {
2969
+ var restoreEntity = async (modelName, id, ctx, trigger = "direct-call") => {
2970
+ const model = ctx.models.getModel(modelName, "entity");
2952
2971
  const rootModel = model.rootModel;
2953
2972
  const entity = await getEntityToMutate(ctx, rootModel, { id }, "RESTORE");
2954
2973
  if (!entity.deleted) {
@@ -2999,7 +3018,6 @@ var restoreEntity = async (model, id, ctx, trigger = "direct-call") => {
2999
3018
  deleteRootType: null,
3000
3019
  deleteRootId: null
3001
3020
  };
3002
- const data = { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } };
3003
3021
  if (ctx.mutationHook) {
3004
3022
  beforeHooks.push(async () => {
3005
3023
  await ctx.mutationHook({
@@ -3007,7 +3025,7 @@ var restoreEntity = async (model, id, ctx, trigger = "direct-call") => {
3007
3025
  action: "restore",
3008
3026
  trigger: currentTrigger,
3009
3027
  when: "before",
3010
- data,
3028
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
3011
3029
  ctx
3012
3030
  });
3013
3031
  });
@@ -3022,7 +3040,7 @@ var restoreEntity = async (model, id, ctx, trigger = "direct-call") => {
3022
3040
  action: "restore",
3023
3041
  trigger: currentTrigger,
3024
3042
  when: "after",
3025
- data,
3043
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
3026
3044
  ctx
3027
3045
  });
3028
3046
  });
@@ -3,10 +3,10 @@ import { Context } from '../context';
3
3
  import { EntityModel } from '../models/models';
4
4
  import { Entity, MutationContext, Trigger } from '../models/mutation-hook';
5
5
  export declare const mutationResolver: (_parent: any, args: any, partialCtx: Context, info: GraphQLResolveInfo) => Promise<any>;
6
- export declare const createEntity: (model: EntityModel, input: Entity, ctx: MutationContext, trigger?: Trigger) => Promise<string>;
7
- export declare const updateEntities: (model: EntityModel, where: Record<string, unknown>, updateFields: Entity, ctx: MutationContext) => Promise<void>;
8
- export declare const updateEntity: (model: EntityModel, id: string, input: Entity, ctx: MutationContext, trigger?: Trigger) => Promise<void>;
9
- export declare const deleteEntities: (model: EntityModel, where: Record<string, unknown>, deleteRootType: string | undefined, deleteRootId: string | undefined, ctx: MutationContext) => Promise<void>;
10
- export declare const deleteEntity: (model: EntityModel, id: string, dryRun: boolean, deleteRootType: string | undefined, deleteRootId: string | undefined, ctx: MutationContext, trigger?: Trigger) => Promise<void>;
11
- export declare const restoreEntity: (model: EntityModel, id: string, ctx: MutationContext, trigger?: Trigger) => Promise<void>;
6
+ export declare const createEntity: (modelName: string, input: Entity, ctx: MutationContext, trigger?: Trigger) => Promise<string>;
7
+ export declare const updateEntities: (modelName: string, where: Record<string, unknown>, updateFields: Entity, ctx: MutationContext) => Promise<void>;
8
+ export declare const updateEntity: (modelName: string, id: string, input: Entity, ctx: MutationContext, trigger?: Trigger) => Promise<void>;
9
+ export declare const deleteEntities: (modelName: string, where: Record<string, unknown>, deleteRootType: string | undefined, deleteRootId: string | undefined, ctx: MutationContext) => Promise<void>;
10
+ export declare const deleteEntity: (modelName: string, id: string, dryRun: boolean, deleteRootType: string | undefined, deleteRootId: string | undefined, ctx: MutationContext, trigger?: Trigger) => Promise<void>;
11
+ export declare const restoreEntity: (modelName: string, id: string, ctx: MutationContext, trigger?: Trigger) => Promise<void>;
12
12
  export declare const createRevision: (model: EntityModel, data: Entity, ctx: MutationContext) => Promise<void>;
@@ -9,31 +9,31 @@ export const mutationResolver = async (_parent, args, partialCtx, info) => {
9
9
  return await partialCtx.knex.transaction(async (knex) => {
10
10
  const [, mutation, modelName] = it(info.fieldName.match(/^(create|update|delete|restore)(.+)$/));
11
11
  const ctx = { ...partialCtx, knex, info, aliases: new AliasGenerator() };
12
- const model = ctx.models.getModel(modelName, 'entity');
13
12
  switch (mutation) {
14
13
  case 'create': {
15
- const id = await createEntity(model, args.data, ctx, 'mutation');
14
+ const id = await createEntity(modelName, args.data, ctx, 'mutation');
16
15
  return await resolve(ctx, id);
17
16
  }
18
17
  case 'update': {
19
18
  const id = args.where.id;
20
- await updateEntity(model, id, args.data, ctx);
19
+ await updateEntity(modelName, id, args.data, ctx);
21
20
  return await resolve(ctx, id);
22
21
  }
23
22
  case 'delete': {
24
23
  const id = args.where.id;
25
- await deleteEntity(model, id, args.dryRun, model.rootModel.name, id, ctx, 'mutation');
24
+ await deleteEntity(modelName, id, args.dryRun, undefined, undefined, ctx, 'mutation');
26
25
  return id;
27
26
  }
28
27
  case 'restore': {
29
28
  const id = args.where.id;
30
- await restoreEntity(model, id, ctx, 'mutation');
29
+ await restoreEntity(modelName, id, ctx, 'mutation');
31
30
  return id;
32
31
  }
33
32
  }
34
33
  });
35
34
  };
36
- export const createEntity = async (model, input, ctx, trigger = 'direct-call') => {
35
+ export const createEntity = async (modelName, input, ctx, trigger = 'direct-call') => {
36
+ const model = ctx.models.getModel(modelName, 'entity');
37
37
  const normalizedInput = { ...input };
38
38
  if (!normalizedInput.id) {
39
39
  normalizedInput.id = uuid();
@@ -51,8 +51,14 @@ export const createEntity = async (model, input, ctx, trigger = 'direct-call') =
51
51
  sanitize(ctx, model, normalizedInput);
52
52
  await checkCanWrite(ctx, model, normalizedInput, 'CREATE');
53
53
  await ctx.handleUploads?.(normalizedInput);
54
- const data = { prev: {}, input, normalizedInput, next: normalizedInput };
55
- await ctx.mutationHook?.({ model, action: 'create', trigger, when: 'before', data, ctx });
54
+ await ctx.mutationHook?.({
55
+ model,
56
+ action: 'create',
57
+ trigger,
58
+ when: 'before',
59
+ data: { prev: {}, input, normalizedInput, next: normalizedInput },
60
+ ctx,
61
+ });
56
62
  if (model.parent) {
57
63
  const rootInput = {};
58
64
  const childInput = { id };
@@ -74,16 +80,24 @@ export const createEntity = async (model, input, ctx, trigger = 'direct-call') =
74
80
  await ctx.knex(model.name).insert(normalizedInput);
75
81
  }
76
82
  await createRevision(model, normalizedInput, ctx);
77
- await ctx.mutationHook?.({ model, action: 'create', trigger, when: 'after', data, ctx });
83
+ await ctx.mutationHook?.({
84
+ model,
85
+ action: 'create',
86
+ trigger,
87
+ when: 'after',
88
+ data: { prev: {}, input, normalizedInput, next: normalizedInput },
89
+ ctx,
90
+ });
78
91
  return normalizedInput.id;
79
92
  };
80
- export const updateEntities = async (model, where, updateFields, ctx) => {
81
- const entities = await ctx.knex(model.name).where(where).select('id');
93
+ export const updateEntities = async (modelName, where, updateFields, ctx) => {
94
+ const entities = await ctx.knex(modelName).where(where).select('id');
82
95
  for (const entity of entities) {
83
- await updateEntity(model, entity.id, updateFields, ctx);
96
+ await updateEntity(modelName, entity.id, updateFields, ctx);
84
97
  }
85
98
  };
86
- export const updateEntity = async (model, id, input, ctx, trigger = 'direct-call') => {
99
+ export const updateEntity = async (modelName, id, input, ctx, trigger = 'direct-call') => {
100
+ const model = ctx.models.getModel(modelName, 'entity');
87
101
  const normalizedInput = { ...input };
88
102
  sanitize(ctx, model, normalizedInput);
89
103
  const currentEntity = await getEntityToMutate(ctx, model, { id }, 'UPDATE');
@@ -115,14 +129,18 @@ export const updateEntity = async (model, id, input, ctx, trigger = 'direct-call
115
129
  });
116
130
  }
117
131
  };
118
- export const deleteEntities = async (model, where, deleteRootType, deleteRootId, ctx) => {
119
- const entities = await ctx.knex(model.name).where(where).select('id');
132
+ export const deleteEntities = async (modelName, where, deleteRootType, deleteRootId, ctx) => {
133
+ const entities = await ctx.knex(modelName).where(where).select('id');
120
134
  for (const entity of entities) {
121
- await deleteEntity(model, entity.id, false, deleteRootType, deleteRootId, ctx);
135
+ await deleteEntity(modelName, entity.id, false, deleteRootType, deleteRootId, ctx);
122
136
  }
123
137
  };
124
- export const deleteEntity = async (model, id, dryRun, deleteRootType = model.rootModel.name, deleteRootId = id, ctx, trigger = 'direct-call') => {
138
+ export const deleteEntity = async (modelName, id, dryRun, deleteRootType, deleteRootId = id, ctx, trigger = 'direct-call') => {
139
+ const model = ctx.models.getModel(modelName, 'entity');
125
140
  const rootModel = model.rootModel;
141
+ if (!deleteRootType) {
142
+ deleteRootType = rootModel.name;
143
+ }
126
144
  const entity = await getEntityToMutate(ctx, rootModel, { id }, 'DELETE');
127
145
  if (entity.deleted) {
128
146
  throw new ForbiddenError(`${getTechnicalDisplay(model, entity)} is already deleted.`);
@@ -281,7 +299,8 @@ export const deleteEntity = async (model, id, dryRun, deleteRootType = model.roo
281
299
  });
282
300
  }
283
301
  };
284
- export const restoreEntity = async (model, id, ctx, trigger = 'direct-call') => {
302
+ export const restoreEntity = async (modelName, id, ctx, trigger = 'direct-call') => {
303
+ const model = ctx.models.getModel(modelName, 'entity');
285
304
  const rootModel = model.rootModel;
286
305
  const entity = await getEntityToMutate(ctx, rootModel, { id }, 'RESTORE');
287
306
  if (!entity.deleted) {
@@ -330,7 +349,6 @@ export const restoreEntity = async (model, id, ctx, trigger = 'direct-call') =>
330
349
  deleteRootType: null,
331
350
  deleteRootId: null,
332
351
  };
333
- const data = { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } };
334
352
  if (ctx.mutationHook) {
335
353
  beforeHooks.push(async () => {
336
354
  await ctx.mutationHook({
@@ -338,7 +356,7 @@ export const restoreEntity = async (model, id, ctx, trigger = 'direct-call') =>
338
356
  action: 'restore',
339
357
  trigger: currentTrigger,
340
358
  when: 'before',
341
- data,
359
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
342
360
  ctx,
343
361
  });
344
362
  });
@@ -353,7 +371,7 @@ export const restoreEntity = async (model, id, ctx, trigger = 'direct-call') =>
353
371
  action: 'restore',
354
372
  trigger: currentTrigger,
355
373
  when: 'after',
356
- data,
374
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
357
375
  ctx,
358
376
  });
359
377
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/resolvers/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/resolvers/mutations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartive/graphql-magic",
3
- "version": "19.2.0-next.2",
3
+ "version": "19.2.0-next.4",
4
4
  "description": "",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -14,31 +14,30 @@ export const mutationResolver = async (_parent: any, args: any, partialCtx: Cont
14
14
  return await partialCtx.knex.transaction(async (knex) => {
15
15
  const [, mutation, modelName] = it(info.fieldName.match(/^(create|update|delete|restore)(.+)$/));
16
16
  const ctx = { ...partialCtx, knex, info, aliases: new AliasGenerator() };
17
- const model = ctx.models.getModel(modelName, 'entity');
18
17
  switch (mutation) {
19
18
  case 'create': {
20
- const id = await createEntity(model, args.data, ctx, 'mutation');
19
+ const id = await createEntity(modelName, args.data, ctx, 'mutation');
21
20
 
22
21
  return await resolve(ctx, id);
23
22
  }
24
23
  case 'update': {
25
24
  const id = args.where.id;
26
25
 
27
- await updateEntity(model, id, args.data, ctx);
26
+ await updateEntity(modelName, id, args.data, ctx);
28
27
 
29
28
  return await resolve(ctx, id);
30
29
  }
31
30
  case 'delete': {
32
31
  const id = args.where.id;
33
32
 
34
- await deleteEntity(model, id, args.dryRun, model.rootModel.name, id, ctx, 'mutation');
33
+ await deleteEntity(modelName, id, args.dryRun, undefined, undefined, ctx, 'mutation');
35
34
 
36
35
  return id;
37
36
  }
38
37
  case 'restore': {
39
38
  const id = args.where.id;
40
39
 
41
- await restoreEntity(model, id, ctx, 'mutation');
40
+ await restoreEntity(modelName, id, ctx, 'mutation');
42
41
 
43
42
  return id;
44
43
  }
@@ -47,11 +46,12 @@ export const mutationResolver = async (_parent: any, args: any, partialCtx: Cont
47
46
  };
48
47
 
49
48
  export const createEntity = async (
50
- model: EntityModel,
49
+ modelName: string,
51
50
  input: Entity,
52
51
  ctx: MutationContext,
53
52
  trigger: Trigger = 'direct-call',
54
53
  ) => {
54
+ const model = ctx.models.getModel(modelName, 'entity');
55
55
  const normalizedInput = { ...input };
56
56
  if (!normalizedInput.id) {
57
57
  normalizedInput.id = uuid();
@@ -71,8 +71,14 @@ export const createEntity = async (
71
71
  await checkCanWrite(ctx, model, normalizedInput, 'CREATE');
72
72
  await ctx.handleUploads?.(normalizedInput);
73
73
 
74
- const data = { prev: {}, input, normalizedInput, next: normalizedInput };
75
- await ctx.mutationHook?.({ model, action: 'create', trigger, when: 'before', data, ctx });
74
+ await ctx.mutationHook?.({
75
+ model,
76
+ action: 'create',
77
+ trigger,
78
+ when: 'before',
79
+ data: { prev: {}, input, normalizedInput, next: normalizedInput },
80
+ ctx,
81
+ });
76
82
 
77
83
  if (model.parent) {
78
84
  const rootInput = {};
@@ -93,30 +99,38 @@ export const createEntity = async (
93
99
  await ctx.knex(model.name).insert(normalizedInput);
94
100
  }
95
101
  await createRevision(model, normalizedInput, ctx);
96
- await ctx.mutationHook?.({ model, action: 'create', trigger, when: 'after', data, ctx });
102
+ await ctx.mutationHook?.({
103
+ model,
104
+ action: 'create',
105
+ trigger,
106
+ when: 'after',
107
+ data: { prev: {}, input, normalizedInput, next: normalizedInput },
108
+ ctx,
109
+ });
97
110
 
98
111
  return normalizedInput.id as string;
99
112
  };
100
113
 
101
114
  export const updateEntities = async (
102
- model: EntityModel,
115
+ modelName: string,
103
116
  where: Record<string, unknown>,
104
117
  updateFields: Entity,
105
118
  ctx: MutationContext,
106
119
  ) => {
107
- const entities = await ctx.knex(model.name).where(where).select('id');
120
+ const entities = await ctx.knex(modelName).where(where).select('id');
108
121
  for (const entity of entities) {
109
- await updateEntity(model, entity.id, updateFields, ctx);
122
+ await updateEntity(modelName, entity.id, updateFields, ctx);
110
123
  }
111
124
  };
112
125
 
113
126
  export const updateEntity = async (
114
- model: EntityModel,
127
+ modelName: string,
115
128
  id: string,
116
129
  input: Entity,
117
130
  ctx: MutationContext,
118
131
  trigger: Trigger = 'direct-call',
119
132
  ) => {
133
+ const model = ctx.models.getModel(modelName, 'entity');
120
134
  const normalizedInput = { ...input };
121
135
 
122
136
  sanitize(ctx, model, normalizedInput);
@@ -157,28 +171,32 @@ export const updateEntity = async (
157
171
  type Callbacks = (() => Promise<void>)[];
158
172
 
159
173
  export const deleteEntities = async (
160
- model: EntityModel,
174
+ modelName: string,
161
175
  where: Record<string, unknown>,
162
176
  deleteRootType: string | undefined,
163
177
  deleteRootId: string | undefined,
164
178
  ctx: MutationContext,
165
179
  ) => {
166
- const entities = await ctx.knex(model.name).where(where).select('id');
180
+ const entities = await ctx.knex(modelName).where(where).select('id');
167
181
  for (const entity of entities) {
168
- await deleteEntity(model, entity.id, false, deleteRootType, deleteRootId, ctx);
182
+ await deleteEntity(modelName, entity.id, false, deleteRootType, deleteRootId, ctx);
169
183
  }
170
184
  };
171
185
 
172
186
  export const deleteEntity = async (
173
- model: EntityModel,
187
+ modelName: string,
174
188
  id: string,
175
189
  dryRun: boolean,
176
- deleteRootType: string | undefined = model.rootModel.name,
190
+ deleteRootType: string | undefined,
177
191
  deleteRootId: string | undefined = id,
178
192
  ctx: MutationContext,
179
193
  trigger: Trigger = 'direct-call',
180
194
  ) => {
195
+ const model = ctx.models.getModel(modelName, 'entity');
181
196
  const rootModel = model.rootModel;
197
+ if (!deleteRootType) {
198
+ deleteRootType = rootModel.name;
199
+ }
182
200
  const entity = await getEntityToMutate(ctx, rootModel, { id }, 'DELETE');
183
201
 
184
202
  if (entity.deleted) {
@@ -375,11 +393,12 @@ export const deleteEntity = async (
375
393
  };
376
394
 
377
395
  export const restoreEntity = async (
378
- model: EntityModel,
396
+ modelName: string,
379
397
  id: string,
380
398
  ctx: MutationContext,
381
399
  trigger: Trigger = 'direct-call',
382
400
  ) => {
401
+ const model = ctx.models.getModel(modelName, 'entity');
383
402
  const rootModel = model.rootModel;
384
403
 
385
404
  const entity = await getEntityToMutate(ctx, rootModel, { id }, 'RESTORE');
@@ -443,7 +462,6 @@ export const restoreEntity = async (
443
462
  deleteRootType: null,
444
463
  deleteRootId: null,
445
464
  };
446
- const data = { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } };
447
465
  if (ctx.mutationHook) {
448
466
  beforeHooks.push(async () => {
449
467
  await ctx.mutationHook!({
@@ -451,7 +469,7 @@ export const restoreEntity = async (
451
469
  action: 'restore',
452
470
  trigger: currentTrigger,
453
471
  when: 'before',
454
- data,
472
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
455
473
  ctx,
456
474
  });
457
475
  });
@@ -466,7 +484,7 @@ export const restoreEntity = async (
466
484
  action: 'restore',
467
485
  trigger: currentTrigger,
468
486
  when: 'after',
469
- data,
487
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
470
488
  ctx,
471
489
  });
472
490
  });