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

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.1](https://github.com/smartive/graphql-magic/compare/v19.1.3-next.2...v19.2.0-next.1) (2025-06-18)
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)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * mutation helpers ([3183ea6](https://github.com/smartive/graphql-magic/commit/3183ea6365f3bbf0e3d2dafe92f958e1ad8483d3))
6
+ * Trigger ([764fa98](https://github.com/smartive/graphql-magic/commit/764fa98e3e801a9d13e37b71f5bd43994456f6e9))
package/dist/bin/gqm.cjs CHANGED
@@ -571,6 +571,7 @@ var get = (object2, key) => {
571
571
  if (value2 === void 0 || value2 === null) {
572
572
  const error = new Error(`Object doesn't have ${String(key)}`);
573
573
  console.warn(error);
574
+ console.trace();
574
575
  throw error;
575
576
  }
576
577
  return value2;
@@ -179,6 +179,7 @@ __export(index_exports, {
179
179
  queryRelations: () => queryRelations,
180
180
  queryResolver: () => queryResolver,
181
181
  resolve: () => resolve,
182
+ restoreEntity: () => restoreEntity,
182
183
  retry: () => retry,
183
184
  scalar: () => scalar,
184
185
  summon: () => summon,
@@ -794,6 +795,7 @@ var get = (object2, key) => {
794
795
  if (value2 === void 0 || value2 === null) {
795
796
  const error = new Error(`Object doesn't have ${String(key)}`);
796
797
  console.warn(error);
798
+ console.trace();
797
799
  throw error;
798
800
  }
799
801
  return value2;
@@ -2671,7 +2673,7 @@ var mutationResolver = async (_parent, args2, partialCtx, info) => {
2671
2673
  const model = ctx.models.getModel(modelName, "entity");
2672
2674
  switch (mutation) {
2673
2675
  case "create": {
2674
- const id = await createEntity(model, args2.data, ctx);
2676
+ const id = await createEntity(model, args2.data, ctx, "mutation");
2675
2677
  return await resolve(ctx, id);
2676
2678
  }
2677
2679
  case "update": {
@@ -2681,15 +2683,18 @@ var mutationResolver = async (_parent, args2, partialCtx, info) => {
2681
2683
  }
2682
2684
  case "delete": {
2683
2685
  const id = args2.where.id;
2684
- await deleteEntity(model, id, args2.dryRun, model.rootModel.name, id, ctx);
2685
- return await resolve(ctx, id);
2686
+ await deleteEntity(model, id, args2.dryRun, model.rootModel.name, id, ctx, "mutation");
2687
+ return id;
2688
+ }
2689
+ case "restore": {
2690
+ const id = args2.where.id;
2691
+ await restoreEntity(model, id, ctx, "mutation");
2692
+ return id;
2686
2693
  }
2687
- case "restore":
2688
- return await restoreEntity(model, args2.where.id, ctx);
2689
2694
  }
2690
2695
  });
2691
2696
  };
2692
- var createEntity = async (model, input2, ctx) => {
2697
+ var createEntity = async (model, input2, ctx, trigger = "direct-call") => {
2693
2698
  const normalizedInput = { ...input2 };
2694
2699
  if (!normalizedInput.id) {
2695
2700
  normalizedInput.id = (0, import_uuid.v4)();
@@ -2708,28 +2713,27 @@ var createEntity = async (model, input2, ctx) => {
2708
2713
  await checkCanWrite(ctx, model, normalizedInput, "CREATE");
2709
2714
  await ctx.handleUploads?.(normalizedInput);
2710
2715
  const data = { prev: {}, input: input2, normalizedInput, next: normalizedInput };
2711
- await ctx.mutationHook?.({ model, action: "create", trigger: "mutation", when: "before", data, ctx });
2712
- await createEntity(model, normalizedInput, ctx);
2716
+ await ctx.mutationHook?.({ model, action: "create", trigger, when: "before", data, ctx });
2713
2717
  if (model.parent) {
2714
2718
  const rootInput = {};
2715
2719
  const childInput = { id };
2716
2720
  for (const field of model.fields) {
2717
2721
  const columnName = field.kind === "relation" ? `${field.name}Id` : field.name;
2718
- if (columnName in data) {
2722
+ if (columnName in normalizedInput) {
2719
2723
  if (field.inherited) {
2720
- rootInput[columnName] = data[columnName];
2724
+ rootInput[columnName] = normalizedInput[columnName];
2721
2725
  } else {
2722
- childInput[columnName] = data[columnName];
2726
+ childInput[columnName] = normalizedInput[columnName];
2723
2727
  }
2724
2728
  }
2725
2729
  }
2726
2730
  await ctx.knex(model.parent).insert(rootInput);
2727
2731
  await ctx.knex(model.name).insert(childInput);
2728
2732
  } else {
2729
- await ctx.knex(model.name).insert(data);
2733
+ await ctx.knex(model.name).insert(normalizedInput);
2730
2734
  }
2731
- await createRevision(model, data, ctx);
2732
- await ctx.mutationHook?.({ model, action: "create", trigger: "mutation", when: "after", data, ctx });
2735
+ await createRevision(model, normalizedInput, ctx);
2736
+ await ctx.mutationHook?.({ model, action: "create", trigger, when: "after", data, ctx });
2733
2737
  return normalizedInput.id;
2734
2738
  };
2735
2739
  var updateEntities = async (model, where, updateFields, ctx) => {
@@ -2738,23 +2742,35 @@ var updateEntities = async (model, where, updateFields, ctx) => {
2738
2742
  await updateEntity(model, entity.id, updateFields, ctx);
2739
2743
  }
2740
2744
  };
2741
- var updateEntity = async (model, id, input2, ctx) => {
2745
+ var updateEntity = async (model, id, input2, ctx, trigger = "direct-call") => {
2742
2746
  const normalizedInput = { ...input2 };
2743
2747
  sanitize(ctx, model, normalizedInput);
2744
- const prev = await getEntityToMutate(ctx, model, { id }, "UPDATE");
2748
+ const currentEntity = await getEntityToMutate(ctx, model, { id }, "UPDATE");
2745
2749
  for (const key of Object.keys(normalizedInput)) {
2746
- if (normalizedInput[key] === prev[key]) {
2750
+ if (normalizedInput[key] === currentEntity[key]) {
2747
2751
  delete normalizedInput[key];
2748
2752
  }
2749
2753
  }
2750
2754
  if (Object.keys(normalizedInput).length > 0) {
2751
2755
  await checkCanWrite(ctx, model, normalizedInput, "UPDATE");
2752
2756
  await ctx.handleUploads?.(normalizedInput);
2753
- const next = { ...prev, ...normalizedInput };
2754
- const data = { prev, input: input2, normalizedInput, next };
2755
- await ctx.mutationHook?.({ model, action: "update", trigger: "mutation", when: "before", data, ctx });
2756
- await doUpdate(model, normalizedInput, next, ctx);
2757
- await ctx.mutationHook?.({ model, action: "update", trigger: "mutation", when: "after", data, ctx });
2757
+ await ctx.mutationHook?.({
2758
+ model,
2759
+ action: "update",
2760
+ trigger,
2761
+ when: "before",
2762
+ data: { prev: currentEntity, input: input2, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
2763
+ ctx
2764
+ });
2765
+ await doUpdate(model, currentEntity, normalizedInput, ctx);
2766
+ await ctx.mutationHook?.({
2767
+ model,
2768
+ action: "update",
2769
+ trigger,
2770
+ when: "after",
2771
+ data: { prev: currentEntity, input: input2, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
2772
+ ctx
2773
+ });
2758
2774
  }
2759
2775
  };
2760
2776
  var deleteEntities = async (model, where, deleteRootType, deleteRootId, ctx) => {
@@ -2763,7 +2779,7 @@ var deleteEntities = async (model, where, deleteRootType, deleteRootId, ctx) =>
2763
2779
  await deleteEntity(model, entity.id, false, deleteRootType, deleteRootId, ctx);
2764
2780
  }
2765
2781
  };
2766
- var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx) => {
2782
+ var deleteEntity = async (model, id, dryRun, deleteRootType = model.rootModel.name, deleteRootId = id, ctx, trigger = "direct-call") => {
2767
2783
  const rootModel = model.rootModel;
2768
2784
  const entity = await getEntityToMutate(ctx, rootModel, { id }, "DELETE");
2769
2785
  if (entity.deleted) {
@@ -2776,7 +2792,7 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2776
2792
  const mutations = [];
2777
2793
  const afterHooks = [];
2778
2794
  const mutationHook = ctx.mutationHook;
2779
- const deleteCascade = async (currentModel, currentEntity) => {
2795
+ const deleteCascade = async (currentModel, currentEntity, currentTrigger) => {
2780
2796
  if (!(currentModel.name in toDelete)) {
2781
2797
  toDelete[currentModel.name] = {};
2782
2798
  }
@@ -2784,7 +2800,6 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2784
2800
  return;
2785
2801
  }
2786
2802
  toDelete[currentModel.name][currentEntity.id] = await fetchDisplay(ctx.knex, currentModel, currentEntity);
2787
- const trigger = currentModel.name === rootModel.name && currentEntity.id === entity.id ? "mutation" : "cascade";
2788
2803
  if (!dryRun) {
2789
2804
  const normalizedInput = {
2790
2805
  deleted: true,
@@ -2793,31 +2808,29 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2793
2808
  deleteRootType,
2794
2809
  deleteRootId
2795
2810
  };
2796
- const next = { ...currentEntity, ...normalizedInput };
2797
- const data = { prev: currentEntity, input: {}, normalizedInput, next };
2798
2811
  if (mutationHook) {
2799
2812
  beforeHooks.push(async () => {
2800
2813
  await mutationHook({
2801
2814
  model: currentModel,
2802
2815
  action: "delete",
2803
- trigger,
2816
+ trigger: currentTrigger,
2804
2817
  when: "before",
2805
- data,
2818
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
2806
2819
  ctx
2807
2820
  });
2808
2821
  });
2809
2822
  }
2810
2823
  mutations.push(async () => {
2811
- await doUpdate(currentModel, normalizedInput, next, ctx);
2824
+ await doUpdate(currentModel, currentEntity, normalizedInput, ctx);
2812
2825
  });
2813
2826
  if (mutationHook) {
2814
2827
  afterHooks.push(async () => {
2815
2828
  await mutationHook({
2816
2829
  model: currentModel,
2817
2830
  action: "delete",
2818
- trigger,
2831
+ trigger: currentTrigger,
2819
2832
  when: "after",
2820
- data,
2833
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
2821
2834
  ctx
2822
2835
  });
2823
2836
  });
@@ -2846,8 +2859,6 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2846
2859
  toUnlink[descendantModel.name][descendant.id].fields.push(name2);
2847
2860
  } else {
2848
2861
  const normalizedInput = { [`${name2}Id`]: null };
2849
- const next = { ...descendant, ...normalizedInput };
2850
- const data = { prev: descendant, input: {}, normalizedInput, next };
2851
2862
  if (mutationHook) {
2852
2863
  beforeHooks.push(async () => {
2853
2864
  await mutationHook({
@@ -2855,13 +2866,13 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2855
2866
  action: "update",
2856
2867
  trigger: "set-null",
2857
2868
  when: "before",
2858
- data,
2869
+ data: { prev: descendant, input: {}, normalizedInput, next: { ...descendant, ...normalizedInput } },
2859
2870
  ctx
2860
2871
  });
2861
2872
  });
2862
2873
  }
2863
2874
  mutations.push(async () => {
2864
- await doUpdate(descendantModel, normalizedInput, next, ctx);
2875
+ await doUpdate(descendantModel, descendant, normalizedInput, ctx);
2865
2876
  });
2866
2877
  if (mutationHook) {
2867
2878
  afterHooks.push(async () => {
@@ -2870,7 +2881,7 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2870
2881
  action: "update",
2871
2882
  trigger: "set-null",
2872
2883
  when: "after",
2873
- data,
2884
+ data: { prev: descendant, input: {}, normalizedInput, next: { ...descendant, ...normalizedInput } },
2874
2885
  ctx
2875
2886
  });
2876
2887
  });
@@ -2916,7 +2927,7 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2916
2927
  );
2917
2928
  }
2918
2929
  for (const descendant of descendants) {
2919
- await deleteCascade(descendantModel, descendant);
2930
+ await deleteCascade(descendantModel, descendant, "cascade");
2920
2931
  }
2921
2932
  break;
2922
2933
  }
@@ -2924,7 +2935,7 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2924
2935
  }
2925
2936
  }
2926
2937
  };
2927
- await deleteCascade(rootModel, entity);
2938
+ await deleteCascade(rootModel, entity, trigger);
2928
2939
  for (const callback of [...beforeHooks, ...mutations, ...afterHooks]) {
2929
2940
  await callback();
2930
2941
  }
@@ -2936,9 +2947,8 @@ var deleteEntity = async (model, id, dryRun, deleteRootType, deleteRootId, ctx)
2936
2947
  restricted
2937
2948
  });
2938
2949
  }
2939
- return entity.id;
2940
2950
  };
2941
- var restoreEntity = async (model, id, ctx) => {
2951
+ var restoreEntity = async (model, id, ctx, trigger = "direct-call") => {
2942
2952
  const rootModel = model.rootModel;
2943
2953
  const entity = await getEntityToMutate(ctx, rootModel, { id }, "RESTORE");
2944
2954
  if (!entity.deleted) {
@@ -2955,7 +2965,7 @@ var restoreEntity = async (model, id, ctx) => {
2955
2965
  const beforeHooks = [];
2956
2966
  const mutations = [];
2957
2967
  const afterHooks = [];
2958
- const restoreCascade = async (currentModel, currentEntity) => {
2968
+ const restoreCascade = async (currentModel, currentEntity, currentTrigger) => {
2959
2969
  if (entity.deleteRootId) {
2960
2970
  if (!(currentEntity.deleteRootType === model.name && currentEntity.deleteRootId === entity.id)) {
2961
2971
  return;
@@ -2992,15 +3002,29 @@ var restoreEntity = async (model, id, ctx) => {
2992
3002
  const data = { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } };
2993
3003
  if (ctx.mutationHook) {
2994
3004
  beforeHooks.push(async () => {
2995
- await ctx.mutationHook({ model: currentModel, action: "restore", trigger: "mutation", when: "before", data, ctx });
3005
+ await ctx.mutationHook({
3006
+ model: currentModel,
3007
+ action: "restore",
3008
+ trigger: currentTrigger,
3009
+ when: "before",
3010
+ data,
3011
+ ctx
3012
+ });
2996
3013
  });
2997
3014
  }
2998
3015
  mutations.push(async () => {
2999
- await doUpdate(currentModel, normalizedInput, data.next, ctx);
3016
+ await doUpdate(currentModel, currentEntity, normalizedInput, ctx);
3000
3017
  });
3001
3018
  if (ctx.mutationHook) {
3002
3019
  afterHooks.push(async () => {
3003
- await ctx.mutationHook({ model: currentModel, action: "restore", trigger: "mutation", when: "after", data, ctx });
3020
+ await ctx.mutationHook({
3021
+ model: currentModel,
3022
+ action: "restore",
3023
+ trigger: currentTrigger,
3024
+ when: "after",
3025
+ data,
3026
+ ctx
3027
+ });
3004
3028
  });
3005
3029
  }
3006
3030
  for (const {
@@ -3020,15 +3044,14 @@ var restoreEntity = async (model, id, ctx) => {
3020
3044
  );
3021
3045
  }
3022
3046
  for (const descendant of deletedDescendants) {
3023
- await restoreCascade(descendantModel, descendant);
3047
+ await restoreCascade(descendantModel, descendant, "cascade");
3024
3048
  }
3025
3049
  }
3026
3050
  };
3027
- await restoreCascade(rootModel, entity);
3051
+ await restoreCascade(rootModel, entity, trigger);
3028
3052
  for (const callback of [...beforeHooks, ...mutations, ...afterHooks]) {
3029
3053
  await callback();
3030
3054
  }
3031
- return id;
3032
3055
  };
3033
3056
  var createRevision = async (model, data, ctx) => {
3034
3057
  if (model.updatable) {
@@ -3095,13 +3118,13 @@ var sanitize = (ctx, model, data) => {
3095
3118
  };
3096
3119
  var isEndOfDay = (field) => isPrimitive(field) && field.type === "DateTime" && field?.endOfDay === true && field?.dateTimeType === "date";
3097
3120
  var isEndOfMonth = (field) => isPrimitive(field) && field.type === "DateTime" && field?.endOfMonth === true && field?.dateTimeType === "year_and_month";
3098
- var doUpdate = async (model, updateFields, allFields, ctx) => {
3121
+ var doUpdate = async (model, currentEntity, update, ctx) => {
3099
3122
  if (model.updatable) {
3100
- if (!updateFields.updatedAt) {
3101
- updateFields.updatedAt = ctx.now;
3123
+ if (!update.updatedAt) {
3124
+ update.updatedAt = ctx.now;
3102
3125
  }
3103
- if (!updateFields.updatedById) {
3104
- updateFields.updatedById = ctx.user?.id;
3126
+ if (!update.updatedById) {
3127
+ update.updatedById = ctx.user?.id;
3105
3128
  }
3106
3129
  }
3107
3130
  if (model.parent) {
@@ -3109,24 +3132,24 @@ var doUpdate = async (model, updateFields, allFields, ctx) => {
3109
3132
  const childInput = {};
3110
3133
  for (const field of model.fields) {
3111
3134
  const columnName = field.kind === "relation" ? `${field.name}Id` : field.name;
3112
- if (columnName in updateFields) {
3135
+ if (columnName in update) {
3113
3136
  if (field.inherited) {
3114
- rootInput[columnName] = updateFields[columnName];
3137
+ rootInput[columnName] = update[columnName];
3115
3138
  } else {
3116
- childInput[columnName] = updateFields[columnName];
3139
+ childInput[columnName] = update[columnName];
3117
3140
  }
3118
3141
  }
3119
3142
  }
3120
3143
  if (Object.keys(rootInput).length) {
3121
- await ctx.knex(model.parent).where({ id: allFields.id }).update(rootInput);
3144
+ await ctx.knex(model.parent).where({ id: currentEntity.id }).update(rootInput);
3122
3145
  }
3123
3146
  if (Object.keys(childInput).length) {
3124
- await ctx.knex(model.name).where({ id: allFields.id }).update(childInput);
3147
+ await ctx.knex(model.name).where({ id: currentEntity.id }).update(childInput);
3125
3148
  }
3126
3149
  } else {
3127
- await ctx.knex(model.name).where({ id: allFields.id }).update(updateFields);
3150
+ await ctx.knex(model.name).where({ id: currentEntity.id }).update(update);
3128
3151
  }
3129
- await createRevision(model, allFields, ctx);
3152
+ await createRevision(model, { ...currentEntity, ...update }, ctx);
3130
3153
  };
3131
3154
 
3132
3155
  // src/resolvers/resolvers.ts
@@ -3734,6 +3757,7 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
3734
3757
  queryRelations,
3735
3758
  queryResolver,
3736
3759
  resolve,
3760
+ restoreEntity,
3737
3761
  retry,
3738
3762
  scalar,
3739
3763
  summon,
@@ -2,11 +2,12 @@ import { AnyDateType, Context } from '..';
2
2
  import { EntityModel } from './models';
3
3
  export type Entity = Record<string, unknown>;
4
4
  export type Action = 'create' | 'update' | 'delete' | 'restore';
5
+ export type Trigger = 'mutation' | 'direct-call' | 'cascade' | 'set-null';
5
6
  export type MutationContext<DateType extends AnyDateType = AnyDateType> = Pick<Context<DateType>, 'knex' | 'now' | 'user' | 'timeZone' | 'mutationHook' | 'handleUploads' | 'models' | 'permissions'>;
6
7
  export type MutationHook<DateType extends AnyDateType = AnyDateType> = (args: {
7
8
  model: EntityModel;
8
9
  action: Action;
9
- trigger: 'mutation' | 'cascade' | 'set-null';
10
+ trigger: Trigger;
10
11
  when: 'before' | 'after';
11
12
  data: {
12
13
  prev: Entity;
@@ -72,6 +72,7 @@ export const get = (object, key) => {
72
72
  if (value === undefined || value === null) {
73
73
  const error = new Error(`Object doesn't have ${String(key)}`);
74
74
  console.warn(error);
75
+ console.trace();
75
76
  throw error;
76
77
  }
77
78
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/models/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/models/utils.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { GraphQLResolveInfo } from 'graphql';
2
2
  import { Context } from '../context';
3
3
  import { EntityModel } from '../models/models';
4
- import { Entity, MutationContext } from '../models/mutation-hook';
5
- export declare const mutationResolver: (_parent: any, args: any, partialCtx: Context, info: GraphQLResolveInfo) => Promise<string | import("./utils").Entry | import("./utils").Entry[] | undefined>;
6
- export declare const createEntity: (model: EntityModel, input: Entity, ctx: MutationContext) => Promise<string>;
4
+ import { Entity, MutationContext, Trigger } from '../models/mutation-hook';
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
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) => Promise<void>;
9
- export declare const deleteEntities: (model: EntityModel, where: Record<string, unknown>, deleteRootType: string, deleteRootId: string, ctx: MutationContext) => Promise<void>;
10
- export declare const deleteEntity: (model: EntityModel, id: string, dryRun: boolean, deleteRootType: string, deleteRootId: string, ctx: MutationContext) => Promise<any>;
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>;
11
12
  export declare const createRevision: (model: EntityModel, data: Entity, ctx: MutationContext) => Promise<void>;