@smartive/graphql-magic 19.1.3-next.2 → 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.
@@ -11,22 +11,40 @@ export const mutationResolver = async (_parent, args, partialCtx, info) => {
11
11
  const ctx = { ...partialCtx, knex, info, aliases: new AliasGenerator() };
12
12
  const model = ctx.models.getModel(modelName, 'entity');
13
13
  switch (mutation) {
14
- case 'create':
15
- return await create(model, args, ctx);
16
- case 'update':
17
- return await update(model, args, ctx);
18
- case 'delete':
19
- return await del(model, args, ctx);
20
- case 'restore':
21
- return await restore(model, args, ctx);
14
+ case 'create': {
15
+ const id = await createEntity(model, args.data, ctx, 'mutation');
16
+ return await resolve(ctx, id);
17
+ }
18
+ case 'update': {
19
+ const id = args.where.id;
20
+ await updateEntity(model, id, args.data, ctx);
21
+ return await resolve(ctx, id);
22
+ }
23
+ case 'delete': {
24
+ const id = args.where.id;
25
+ await deleteEntity(model, id, args.dryRun, model.rootModel.name, id, ctx, 'mutation');
26
+ return id;
27
+ }
28
+ case 'restore': {
29
+ const id = args.where.id;
30
+ await restoreEntity(model, id, ctx, 'mutation');
31
+ return id;
32
+ }
22
33
  }
23
34
  });
24
35
  };
25
- const create = async (model, { data: input }, ctx) => {
36
+ export const createEntity = async (model, input, ctx, trigger = 'direct-call') => {
26
37
  const normalizedInput = { ...input };
27
- normalizedInput.id = uuid();
28
- normalizedInput.createdAt = ctx.now;
29
- normalizedInput.createdById = ctx.user?.id;
38
+ if (!normalizedInput.id) {
39
+ normalizedInput.id = uuid();
40
+ }
41
+ const id = normalizedInput.id;
42
+ if (!normalizedInput.createdAt) {
43
+ normalizedInput.createdAt = ctx.now;
44
+ }
45
+ if (!normalizedInput.createdById) {
46
+ normalizedInput.createdById = ctx.user?.id;
47
+ }
30
48
  if (model.parent) {
31
49
  normalizedInput.type = model.name;
32
50
  }
@@ -34,10 +52,10 @@ const create = async (model, { data: input }, ctx) => {
34
52
  await checkCanWrite(ctx, model, normalizedInput, 'CREATE');
35
53
  await ctx.handleUploads?.(normalizedInput);
36
54
  const data = { prev: {}, input, normalizedInput, next: normalizedInput };
37
- await ctx.mutationHook?.({ model, action: 'create', trigger: 'mutation', when: 'before', data, ctx });
55
+ await ctx.mutationHook?.({ model, action: 'create', trigger, when: 'before', data, ctx });
38
56
  if (model.parent) {
39
57
  const rootInput = {};
40
- const childInput = { id: normalizedInput.id };
58
+ const childInput = { id };
41
59
  for (const field of model.fields) {
42
60
  const columnName = field.kind === 'relation' ? `${field.name}Id` : field.name;
43
61
  if (columnName in normalizedInput) {
@@ -56,63 +74,56 @@ const create = async (model, { data: input }, ctx) => {
56
74
  await ctx.knex(model.name).insert(normalizedInput);
57
75
  }
58
76
  await createRevision(model, normalizedInput, ctx);
59
- await ctx.mutationHook?.({ model, action: 'create', trigger: 'mutation', when: 'after', data, ctx });
60
- return await resolve(ctx, normalizedInput.id);
77
+ await ctx.mutationHook?.({ model, action: 'create', trigger, when: 'after', data, ctx });
78
+ return normalizedInput.id;
61
79
  };
62
- const update = async (model, { where, data: input }, ctx) => {
63
- if (Object.keys(where).length === 0) {
64
- throw new Error(`No ${model.name} specified.`);
80
+ export const updateEntities = async (model, where, updateFields, ctx) => {
81
+ const entities = await ctx.knex(model.name).where(where).select('id');
82
+ for (const entity of entities) {
83
+ await updateEntity(model, entity.id, updateFields, ctx);
65
84
  }
85
+ };
86
+ export const updateEntity = async (model, id, input, ctx, trigger = 'direct-call') => {
66
87
  const normalizedInput = { ...input };
67
88
  sanitize(ctx, model, normalizedInput);
68
- const prev = await getEntityToMutate(ctx, model, where, 'UPDATE');
89
+ const currentEntity = await getEntityToMutate(ctx, model, { id }, 'UPDATE');
69
90
  // Remove data that wouldn't mutate given that it's irrelevant for permissions
70
91
  for (const key of Object.keys(normalizedInput)) {
71
- if (normalizedInput[key] === prev[key]) {
92
+ if (normalizedInput[key] === currentEntity[key]) {
72
93
  delete normalizedInput[key];
73
94
  }
74
95
  }
75
96
  if (Object.keys(normalizedInput).length > 0) {
76
97
  await checkCanWrite(ctx, model, normalizedInput, 'UPDATE');
77
98
  await ctx.handleUploads?.(normalizedInput);
78
- const next = { ...prev, ...normalizedInput };
79
- const data = { prev, input, normalizedInput, next };
80
- await ctx.mutationHook?.({ model, action: 'update', trigger: 'mutation', when: 'before', data, ctx });
81
- if (model.parent) {
82
- const rootInput = {};
83
- const childInput = {};
84
- for (const field of model.fields) {
85
- const columnName = field.kind === 'relation' ? `${field.name}Id` : field.name;
86
- if (columnName in normalizedInput) {
87
- if (field.inherited) {
88
- rootInput[columnName] = normalizedInput[columnName];
89
- }
90
- else {
91
- childInput[columnName] = normalizedInput[columnName];
92
- }
93
- }
94
- }
95
- if (Object.keys(rootInput).length) {
96
- await ctx.knex(model.parent).where({ id: prev.id }).update(rootInput);
97
- }
98
- if (Object.keys(childInput).length) {
99
- await ctx.knex(model.name).where({ id: prev.id }).update(childInput);
100
- }
101
- }
102
- else {
103
- await ctx.knex(model.name).where({ id: prev.id }).update(normalizedInput);
104
- }
105
- await createRevision(model, next, ctx);
106
- await ctx.mutationHook?.({ model, action: 'update', trigger: 'mutation', when: 'after', data, ctx });
99
+ await ctx.mutationHook?.({
100
+ model,
101
+ action: 'update',
102
+ trigger,
103
+ when: 'before',
104
+ data: { prev: currentEntity, input, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
105
+ ctx,
106
+ });
107
+ await doUpdate(model, currentEntity, normalizedInput, ctx);
108
+ await ctx.mutationHook?.({
109
+ model,
110
+ action: 'update',
111
+ trigger,
112
+ when: 'after',
113
+ data: { prev: currentEntity, input, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
114
+ ctx,
115
+ });
107
116
  }
108
- return await resolve(ctx);
109
117
  };
110
- const del = async (model, { where, dryRun }, ctx) => {
111
- if (Object.keys(where).length === 0) {
112
- throw new Error(`No ${model.name} specified.`);
118
+ export const deleteEntities = async (model, where, deleteRootType, deleteRootId, ctx) => {
119
+ const entities = await ctx.knex(model.name).where(where).select('id');
120
+ for (const entity of entities) {
121
+ await deleteEntity(model, entity.id, false, deleteRootType, deleteRootId, ctx);
113
122
  }
123
+ };
124
+ export const deleteEntity = async (model, id, dryRun, deleteRootType = model.rootModel.name, deleteRootId = id, ctx, trigger = 'direct-call') => {
114
125
  const rootModel = model.rootModel;
115
- const entity = await getEntityToMutate(ctx, rootModel, where, 'DELETE');
126
+ const entity = await getEntityToMutate(ctx, rootModel, { id }, 'DELETE');
116
127
  if (entity.deleted) {
117
128
  throw new ForbiddenError(`${getTechnicalDisplay(model, entity)} is already deleted.`);
118
129
  }
@@ -123,7 +134,7 @@ const del = async (model, { where, dryRun }, ctx) => {
123
134
  const mutations = [];
124
135
  const afterHooks = [];
125
136
  const mutationHook = ctx.mutationHook;
126
- const deleteCascade = async (currentModel, currentEntity) => {
137
+ const deleteCascade = async (currentModel, currentEntity, currentTrigger) => {
127
138
  if (!(currentModel.name in toDelete)) {
128
139
  toDelete[currentModel.name] = {};
129
140
  }
@@ -131,41 +142,37 @@ const del = async (model, { where, dryRun }, ctx) => {
131
142
  return;
132
143
  }
133
144
  toDelete[currentModel.name][currentEntity.id] = await fetchDisplay(ctx.knex, currentModel, currentEntity);
134
- const trigger = currentModel.name === rootModel.name && currentEntity.id === entity.id ? 'mutation' : 'cascade';
135
145
  if (!dryRun) {
136
146
  const normalizedInput = {
137
147
  deleted: true,
138
148
  deletedAt: ctx.now,
139
149
  deletedById: ctx.user?.id,
140
- deleteRootType: rootModel.name,
141
- deleteRootId: entity.id,
150
+ deleteRootType,
151
+ deleteRootId,
142
152
  };
143
- const next = { ...currentEntity, ...normalizedInput };
144
- const data = { prev: currentEntity, input: {}, normalizedInput, next };
145
153
  if (mutationHook) {
146
154
  beforeHooks.push(async () => {
147
155
  await mutationHook({
148
156
  model: currentModel,
149
157
  action: 'delete',
150
- trigger,
158
+ trigger: currentTrigger,
151
159
  when: 'before',
152
- data,
160
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
153
161
  ctx,
154
162
  });
155
163
  });
156
164
  }
157
165
  mutations.push(async () => {
158
- await ctx.knex(currentModel.name).where({ id: currentEntity.id }).update(normalizedInput);
159
- await createRevision(currentModel, next, ctx);
166
+ await doUpdate(currentModel, currentEntity, normalizedInput, ctx);
160
167
  });
161
168
  if (mutationHook) {
162
169
  afterHooks.push(async () => {
163
170
  await mutationHook({
164
171
  model: currentModel,
165
172
  action: 'delete',
166
- trigger,
173
+ trigger: currentTrigger,
167
174
  when: 'after',
168
- data,
175
+ data: { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } },
169
176
  ctx,
170
177
  });
171
178
  });
@@ -192,8 +199,6 @@ const del = async (model, { where, dryRun }, ctx) => {
192
199
  }
193
200
  else {
194
201
  const normalizedInput = { [`${name}Id`]: null };
195
- const next = { ...descendant, ...normalizedInput };
196
- const data = { prev: descendant, input: {}, normalizedInput, next };
197
202
  if (mutationHook) {
198
203
  beforeHooks.push(async () => {
199
204
  await mutationHook({
@@ -201,14 +206,13 @@ const del = async (model, { where, dryRun }, ctx) => {
201
206
  action: 'update',
202
207
  trigger: 'set-null',
203
208
  when: 'before',
204
- data,
209
+ data: { prev: descendant, input: {}, normalizedInput, next: { ...descendant, ...normalizedInput } },
205
210
  ctx,
206
211
  });
207
212
  });
208
213
  }
209
214
  mutations.push(async () => {
210
- await ctx.knex(descendantModel.name).where({ id: descendant.id }).update(normalizedInput);
211
- await createRevision(descendantModel, next, ctx);
215
+ await doUpdate(descendantModel, descendant, normalizedInput, ctx);
212
216
  });
213
217
  if (mutationHook) {
214
218
  afterHooks.push(async () => {
@@ -217,7 +221,7 @@ const del = async (model, { where, dryRun }, ctx) => {
217
221
  action: 'update',
218
222
  trigger: 'set-null',
219
223
  when: 'after',
220
- data,
224
+ data: { prev: descendant, input: {}, normalizedInput, next: { ...descendant, ...normalizedInput } },
221
225
  ctx,
222
226
  });
223
227
  });
@@ -256,7 +260,7 @@ const del = async (model, { where, dryRun }, ctx) => {
256
260
  throw new ForbiddenError(`${getTechnicalDisplay(model, entity)} depends on ${descendantModel.labelPlural} which you have no permissions to delete.`);
257
261
  }
258
262
  for (const descendant of descendants) {
259
- await deleteCascade(descendantModel, descendant);
263
+ await deleteCascade(descendantModel, descendant, 'cascade');
260
264
  }
261
265
  break;
262
266
  }
@@ -264,7 +268,7 @@ const del = async (model, { where, dryRun }, ctx) => {
264
268
  }
265
269
  }
266
270
  };
267
- await deleteCascade(rootModel, entity);
271
+ await deleteCascade(rootModel, entity, trigger);
268
272
  for (const callback of [...beforeHooks, ...mutations, ...afterHooks]) {
269
273
  await callback();
270
274
  }
@@ -276,14 +280,10 @@ const del = async (model, { where, dryRun }, ctx) => {
276
280
  restricted,
277
281
  });
278
282
  }
279
- return entity.id;
280
283
  };
281
- const restore = async (model, { where }, ctx) => {
282
- if (Object.keys(where).length === 0) {
283
- throw new Error(`No ${model.name} specified.`);
284
- }
284
+ export const restoreEntity = async (model, id, ctx, trigger = 'direct-call') => {
285
285
  const rootModel = model.rootModel;
286
- const entity = await getEntityToMutate(ctx, rootModel, where, 'RESTORE');
286
+ const entity = await getEntityToMutate(ctx, rootModel, { id }, 'RESTORE');
287
287
  if (!entity.deleted) {
288
288
  throw new ForbiddenError(`${getTechnicalDisplay(model, entity)} is not deleted.`);
289
289
  }
@@ -296,9 +296,9 @@ const restore = async (model, { where }, ctx) => {
296
296
  const beforeHooks = [];
297
297
  const mutations = [];
298
298
  const afterHooks = [];
299
- const restoreCascade = async (currentModel, currentEntity) => {
299
+ const restoreCascade = async (currentModel, currentEntity, currentTrigger) => {
300
300
  if (entity.deleteRootId) {
301
- if (!(currentEntity.deleteRootType === currentModel.name && currentEntity.deleteRootId === entity.id)) {
301
+ if (!(currentEntity.deleteRootType === model.name && currentEntity.deleteRootId === entity.id)) {
302
302
  return;
303
303
  }
304
304
  // Legacy heuristic
@@ -311,7 +311,7 @@ const restore = async (model, { where }, ctx) => {
311
311
  }
312
312
  toRestore[currentModel.name].add(currentEntity.id);
313
313
  for (const relation of currentModel.relations) {
314
- const parentId = entity[relation.field.foreignKey];
314
+ const parentId = currentEntity[relation.field.foreignKey];
315
315
  if (!parentId) {
316
316
  continue;
317
317
  }
@@ -333,16 +333,29 @@ const restore = async (model, { where }, ctx) => {
333
333
  const data = { prev: currentEntity, input: {}, normalizedInput, next: { ...currentEntity, ...normalizedInput } };
334
334
  if (ctx.mutationHook) {
335
335
  beforeHooks.push(async () => {
336
- await ctx.mutationHook({ model: currentModel, action: 'restore', trigger: 'mutation', when: 'before', data, ctx });
336
+ await ctx.mutationHook({
337
+ model: currentModel,
338
+ action: 'restore',
339
+ trigger: currentTrigger,
340
+ when: 'before',
341
+ data,
342
+ ctx,
343
+ });
337
344
  });
338
345
  }
339
346
  mutations.push(async () => {
340
- await ctx.knex(currentModel.name).where({ id: currentEntity.id }).update(normalizedInput);
341
- await createRevision(currentModel, { ...currentEntity, deleted: false }, ctx);
347
+ await doUpdate(currentModel, currentEntity, normalizedInput, ctx);
342
348
  });
343
349
  if (ctx.mutationHook) {
344
350
  afterHooks.push(async () => {
345
- await ctx.mutationHook({ model: currentModel, action: 'restore', trigger: 'mutation', when: 'after', data, ctx });
351
+ await ctx.mutationHook({
352
+ model: currentModel,
353
+ action: 'restore',
354
+ trigger: currentTrigger,
355
+ when: 'after',
356
+ data,
357
+ ctx,
358
+ });
346
359
  });
347
360
  }
348
361
  for (const { targetModel: descendantModel, field: { foreignKey }, } of currentModel.reverseRelations
@@ -357,15 +370,14 @@ const restore = async (model, { where }, ctx) => {
357
370
  throw new ForbiddenError(`${getTechnicalDisplay(currentModel, currentEntity)} depends on ${descendantModel.labelPlural} which you have no permissions to restore.`);
358
371
  }
359
372
  for (const descendant of deletedDescendants) {
360
- await restoreCascade(descendantModel, descendant);
373
+ await restoreCascade(descendantModel, descendant, 'cascade');
361
374
  }
362
375
  }
363
376
  };
364
- await restoreCascade(rootModel, entity);
377
+ await restoreCascade(rootModel, entity, trigger);
365
378
  for (const callback of [...beforeHooks, ...mutations, ...afterHooks]) {
366
379
  await callback();
367
380
  }
368
- return entity.id;
369
381
  };
370
382
  export const createRevision = async (model, data, ctx) => {
371
383
  if (model.updatable) {
@@ -407,8 +419,12 @@ export const createRevision = async (model, data, ctx) => {
407
419
  };
408
420
  const sanitize = (ctx, model, data) => {
409
421
  if (model.updatable) {
410
- data.updatedAt = ctx.now;
411
- data.updatedById = ctx.user?.id;
422
+ if (!data.updatedAt) {
423
+ data.updatedAt = ctx.now;
424
+ }
425
+ if (!data.updatedById) {
426
+ data.updatedById = ctx.user?.id;
427
+ }
412
428
  }
413
429
  for (const key of Object.keys(data)) {
414
430
  const field = model.fields.find(({ name }) => name === key);
@@ -431,4 +447,39 @@ const sanitize = (ctx, model, data) => {
431
447
  };
432
448
  const isEndOfDay = (field) => isPrimitive(field) && field.type === 'DateTime' && field?.endOfDay === true && field?.dateTimeType === 'date';
433
449
  const isEndOfMonth = (field) => isPrimitive(field) && field.type === 'DateTime' && field?.endOfMonth === true && field?.dateTimeType === 'year_and_month';
450
+ const doUpdate = async (model, currentEntity, update, ctx) => {
451
+ if (model.updatable) {
452
+ if (!update.updatedAt) {
453
+ update.updatedAt = ctx.now;
454
+ }
455
+ if (!update.updatedById) {
456
+ update.updatedById = ctx.user?.id;
457
+ }
458
+ }
459
+ if (model.parent) {
460
+ const rootInput = {};
461
+ const childInput = {};
462
+ for (const field of model.fields) {
463
+ const columnName = field.kind === 'relation' ? `${field.name}Id` : field.name;
464
+ if (columnName in update) {
465
+ if (field.inherited) {
466
+ rootInput[columnName] = update[columnName];
467
+ }
468
+ else {
469
+ childInput[columnName] = update[columnName];
470
+ }
471
+ }
472
+ }
473
+ if (Object.keys(rootInput).length) {
474
+ await ctx.knex(model.parent).where({ id: currentEntity.id }).update(rootInput);
475
+ }
476
+ if (Object.keys(childInput).length) {
477
+ await ctx.knex(model.name).where({ id: currentEntity.id }).update(childInput);
478
+ }
479
+ }
480
+ else {
481
+ await ctx.knex(model.name).where({ id: currentEntity.id }).update(update);
482
+ }
483
+ await createRevision(model, { ...currentEntity, ...update }, ctx);
484
+ };
434
485
  //# sourceMappingURL=mutations.js.map
@@ -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.1.3-next.2",
3
+ "version": "19.2.0-next.2",
4
4
  "description": "",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -5,11 +5,18 @@ export type Entity = Record<string, unknown>;
5
5
 
6
6
  export type Action = 'create' | 'update' | 'delete' | 'restore';
7
7
 
8
+ export type Trigger = 'mutation' | 'direct-call' | 'cascade' | 'set-null';
9
+
10
+ export type MutationContext<DateType extends AnyDateType = AnyDateType> = Pick<
11
+ Context<DateType>,
12
+ 'knex' | 'now' | 'user' | 'timeZone' | 'mutationHook' | 'handleUploads' | 'models' | 'permissions'
13
+ >;
14
+
8
15
  export type MutationHook<DateType extends AnyDateType = AnyDateType> = (args: {
9
16
  model: EntityModel;
10
17
  action: Action;
11
- trigger: 'mutation' | 'cascade' | 'set-null';
18
+ trigger: Trigger;
12
19
  when: 'before' | 'after';
13
20
  data: { prev: Entity; input: Entity; normalizedInput: Entity; next: Entity };
14
- ctx: Context<DateType>;
21
+ ctx: MutationContext<DateType>;
15
22
  }) => Promise<void> | void;
@@ -153,6 +153,7 @@ export const get = <T, U extends keyof ForSure<T>>(object: T | null | undefined,
153
153
  if (value === undefined || value === null) {
154
154
  const error = new Error(`Object doesn't have ${String(key)}`);
155
155
  console.warn(error);
156
+ console.trace();
156
157
  throw error;
157
158
  }
158
159