@opensaas/stack-core 0.23.0 → 0.25.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.
Files changed (77) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +256 -0
  3. package/dist/access/access-filter.d.ts +39 -0
  4. package/dist/access/access-filter.d.ts.map +1 -1
  5. package/dist/access/access-filter.js +121 -0
  6. package/dist/access/access-filter.js.map +1 -1
  7. package/dist/access/field-access.d.ts +1 -0
  8. package/dist/access/field-access.d.ts.map +1 -1
  9. package/dist/access/field-access.js +79 -4
  10. package/dist/access/field-access.js.map +1 -1
  11. package/dist/access/field-access.test.js +213 -0
  12. package/dist/access/field-access.test.js.map +1 -1
  13. package/dist/access/index.d.ts +1 -1
  14. package/dist/access/index.d.ts.map +1 -1
  15. package/dist/access/index.js +1 -1
  16. package/dist/access/index.js.map +1 -1
  17. package/dist/access/types.d.ts +39 -0
  18. package/dist/access/types.d.ts.map +1 -1
  19. package/dist/config/index.d.ts +1 -1
  20. package/dist/config/index.d.ts.map +1 -1
  21. package/dist/config/types.d.ts +378 -0
  22. package/dist/config/types.d.ts.map +1 -1
  23. package/dist/context/index.d.ts +19 -1
  24. package/dist/context/index.d.ts.map +1 -1
  25. package/dist/context/index.js +153 -26
  26. package/dist/context/index.js.map +1 -1
  27. package/dist/context/nested-operations.d.ts +59 -3
  28. package/dist/context/nested-operations.d.ts.map +1 -1
  29. package/dist/context/nested-operations.js +552 -129
  30. package/dist/context/nested-operations.js.map +1 -1
  31. package/dist/context/transaction-boundary.d.ts +91 -0
  32. package/dist/context/transaction-boundary.d.ts.map +1 -0
  33. package/dist/context/transaction-boundary.js +329 -0
  34. package/dist/context/transaction-boundary.js.map +1 -0
  35. package/dist/context/write-pipeline.d.ts +15 -1
  36. package/dist/context/write-pipeline.d.ts.map +1 -1
  37. package/dist/context/write-pipeline.js +173 -10
  38. package/dist/context/write-pipeline.js.map +1 -1
  39. package/dist/fields/calendar-day.test.d.ts +2 -0
  40. package/dist/fields/calendar-day.test.d.ts.map +1 -0
  41. package/dist/fields/calendar-day.test.js +120 -0
  42. package/dist/fields/calendar-day.test.js.map +1 -0
  43. package/dist/fields/index.d.ts +18 -2
  44. package/dist/fields/index.d.ts.map +1 -1
  45. package/dist/fields/index.js +93 -17
  46. package/dist/fields/index.js.map +1 -1
  47. package/dist/hooks/index.d.ts +116 -0
  48. package/dist/hooks/index.d.ts.map +1 -1
  49. package/dist/hooks/index.js +154 -0
  50. package/dist/hooks/index.js.map +1 -1
  51. package/dist/validation/schema.test.js +222 -1
  52. package/dist/validation/schema.test.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/access/access-filter.ts +156 -0
  55. package/src/access/field-access.test.ts +255 -0
  56. package/src/access/field-access.ts +91 -5
  57. package/src/access/index.ts +1 -1
  58. package/src/access/types.ts +45 -0
  59. package/src/config/index.ts +2 -0
  60. package/src/config/types.ts +426 -0
  61. package/src/context/index.ts +207 -37
  62. package/src/context/nested-operations.ts +969 -143
  63. package/src/context/transaction-boundary.ts +440 -0
  64. package/src/context/write-pipeline.ts +234 -13
  65. package/src/fields/calendar-day.test.ts +140 -0
  66. package/src/fields/index.ts +96 -16
  67. package/src/hooks/index.ts +265 -0
  68. package/src/validation/schema.test.ts +266 -1
  69. package/tests/access.test.ts +24 -16
  70. package/tests/config.test.ts +30 -0
  71. package/tests/context.test.ts +481 -0
  72. package/tests/field-types.test.ts +17 -3
  73. package/tests/nested-access-and-hooks.test.ts +1130 -54
  74. package/tests/nested-operation-registry.test.ts +28 -3
  75. package/tests/nested-write-hooks.test.ts +864 -0
  76. package/tests/transaction-boundary-hooks.test.ts +465 -0
  77. package/tsconfig.tsbuildinfo +1 -1
@@ -38,7 +38,7 @@ export function text(options) {
38
38
  })
39
39
  : withMin;
40
40
  if (isRequired && operation === 'update') {
41
- return z.union([withMax, z.undefined()]);
41
+ return withMax.optional();
42
42
  }
43
43
  return !isRequired ? withMax.optional().nullable() : withMax;
44
44
  },
@@ -396,11 +396,23 @@ export function timestamp(options) {
396
396
  /**
397
397
  * Calendar Day field - date only (no time) in ISO8601 format
398
398
  *
399
+ * Mirrors Keystone's `CalendarDay` scalar: the wire format through
400
+ * `context.db.*` is a `YYYY-MM-DD` **string** in both directions (read and
401
+ * write). The field's TypeScript type — entity, `CreateInput`, and
402
+ * `UpdateInput` — is `string`, so passing a `Date` is a compile-time error.
403
+ *
399
404
  * **Features:**
400
405
  * - Stores date values only (no time component)
401
406
  * - PostgreSQL/MySQL: Uses native DATE type via @db.Date
402
407
  * - SQLite: Uses String representation
403
- * - Accepts ISO8601 date strings (YYYY-MM-DD format)
408
+ * - **Writes:** accept only a `YYYY-MM-DD` string; a malformed string or a
409
+ * `Date` is rejected at runtime by validation (a `ValidationError`). Genuine
410
+ * compile-time rejection at the `context.db` call site is tracked in #599.
411
+ * - **Reads:** always return a `YYYY-MM-DD` string. Even though the underlying
412
+ * `@db.Date` column hands Prisma a `Date`, a `resolveOutput` transform
413
+ * normalises it back to a `YYYY-MM-DD` string so the runtime value matches
414
+ * the declared `string` type. UTC components are used to avoid timezone
415
+ * off-by-one errors.
404
416
  * - Optional validation for required fields
405
417
  * - Database column mapping and nullability control
406
418
  * - Index support (boolean or 'unique')
@@ -421,13 +433,17 @@ export function timestamp(options) {
421
433
  * })
422
434
  * }
423
435
  *
424
- * // Creating with date values
436
+ * // Creating with date values — pass YYYY-MM-DD strings (NOT Date objects)
425
437
  * const event = await context.db.event.create({
426
438
  * data: {
427
439
  * startDate: '2025-01-15',
428
440
  * endDate: '2025-01-20'
429
441
  * }
430
442
  * })
443
+ *
444
+ * // Reading — values come back as YYYY-MM-DD strings
445
+ * const e = await context.db.event.findUnique({ where: { id } })
446
+ * e?.startDate // => '2025-01-15' (a string, not a Date)
431
447
  * ```
432
448
  *
433
449
  * @param options - Field configuration options
@@ -437,6 +453,19 @@ export function calendarDay(options) {
437
453
  return {
438
454
  type: 'calendarDay',
439
455
  ...options,
456
+ // Reads: the underlying @db.Date column hands Prisma a Date (or a TEXT
457
+ // string under the SQLite fallback). Normalise to a YYYY-MM-DD string so the
458
+ // runtime value matches the declared `string` type. UTC components are used
459
+ // so the formatting never drifts a day in non-UTC timezones.
460
+ // Cast hooks to any since field builders are generic and can't know the
461
+ // specific TFieldKey (same pattern as password()).
462
+ hooks: {
463
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Field builder hooks must be generic
464
+ resolveOutput: ({ value }) => formatCalendarDay(value),
465
+ // Merge with user-provided hooks if any
466
+ ...options?.hooks,
467
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Hook object needs type assertion for field builder
468
+ },
440
469
  getZodSchema: (fieldName, operation) => {
441
470
  const validation = options?.validation;
442
471
  const isRequired = validation?.isRequired;
@@ -452,8 +481,8 @@ export function calendarDay(options) {
452
481
  return dateSchema;
453
482
  }
454
483
  else if (isRequired && operation === 'update') {
455
- // Required in update mode: can be undefined for partial updates
456
- return z.union([dateSchema, z.undefined()]);
484
+ // Required in update mode: omitted keys pass; present values must be valid
485
+ return dateSchema.optional();
457
486
  }
458
487
  else {
459
488
  return dateSchema.optional().nullable();
@@ -500,13 +529,44 @@ export function calendarDay(options) {
500
529
  const db = options?.db;
501
530
  const isRequired = validation?.isRequired;
502
531
  const isNullable = db?.isNullable ?? !isRequired;
532
+ // calendarDay is a YYYY-MM-DD string end-to-end (Keystone's CalendarDay
533
+ // scalar). Returning 'string' here makes the entity/read type and the
534
+ // standalone generated CreateInput/UpdateInput types `string`. At the
535
+ // context.db write path a Date is still rejected at runtime by validation
536
+ // (the generated db method `data` type derives from Prisma's `Date | string`
537
+ // input — making it a compile-time error is tracked in #599).
503
538
  return {
504
- type: 'Date',
539
+ type: 'string',
505
540
  optional: isNullable,
506
541
  };
507
542
  },
508
543
  };
509
544
  }
545
+ /**
546
+ * Format a stored calendar-day value to a `YYYY-MM-DD` string.
547
+ *
548
+ * Handles the value being a `Date` (Postgres/MySQL `@db.Date`), an already
549
+ * formatted string (SQLite TEXT fallback), or null/undefined. Dates are
550
+ * formatted from their UTC components so the result never drifts a day in
551
+ * non-UTC timezones.
552
+ */
553
+ function formatCalendarDay(value) {
554
+ if (value === null || value === undefined) {
555
+ return value;
556
+ }
557
+ if (value instanceof Date) {
558
+ // toISOString() is UTC; the YYYY-MM-DD prefix is timezone-safe.
559
+ return value.toISOString().slice(0, 10);
560
+ }
561
+ if (typeof value === 'string') {
562
+ // SQLite stores DateTime as TEXT. The value may already be YYYY-MM-DD or a
563
+ // full ISO timestamp — take the date-only prefix either way.
564
+ return value.slice(0, 10);
565
+ }
566
+ // Any other shape is unexpected for a @db.Date column; surface it untouched
567
+ // by returning undefined so callers see the field as absent rather than wrong.
568
+ return undefined;
569
+ }
510
570
  /**
511
571
  * Password field (automatically hashed using bcrypt)
512
572
  *
@@ -618,13 +678,13 @@ export function password(options) {
618
678
  });
619
679
  }
620
680
  else if (isRequired && operation === 'update') {
621
- // Required in update mode: if provided, reject empty strings
622
- return z.union([
623
- z.string().min(1, {
624
- message: `${formatFieldName(fieldName)} is required`,
625
- }),
626
- z.undefined(),
627
- ]);
681
+ // Required in update mode: omitted keys pass; if provided, reject empty strings
682
+ return z
683
+ .string()
684
+ .min(1, {
685
+ message: `${formatFieldName(fieldName)} is required`,
686
+ })
687
+ .optional();
628
688
  }
629
689
  else {
630
690
  // Not required: can be undefined or any string
@@ -1058,12 +1118,28 @@ export function json(options) {
1058
1118
  // Accept any valid JSON value
1059
1119
  const baseSchema = z.unknown();
1060
1120
  if (isRequired && operation === 'create') {
1061
- // Required in create mode: value must be provided
1062
- return baseSchema;
1121
+ // Required in create mode: a value must be provided and it must be
1122
+ // non-null (issue #604 — a required json field means non-null). A bare
1123
+ // z.unknown() is treated as optional inside z.object(), so an omitted
1124
+ // key would silently pass; the refinement makes the key genuinely
1125
+ // required by rejecting undefined (which also covers an absent key) and
1126
+ // rejecting a present null, while still accepting any other present
1127
+ // JSON value (object, array, primitive, including falsy 0/""/false).
1128
+ return baseSchema.refine((value) => value !== undefined && value !== null, {
1129
+ message: `${formatFieldName(fieldName)} is required`,
1130
+ });
1063
1131
  }
1064
1132
  else if (isRequired && operation === 'update') {
1065
- // Required in update mode: can be undefined for partial updates
1066
- return z.union([baseSchema, z.undefined()]);
1133
+ // Required in update mode: omitted keys still pass (issue #570 — partial
1134
+ // updates may leave the field untouched), but a present null is rejected
1135
+ // (issue #604 — required json means non-null). The `.refine()` runs
1136
+ // before `.optional()` short-circuits on undefined: absent/undefined
1137
+ // passes, a present null is rejected, and other present values pass.
1138
+ return baseSchema
1139
+ .refine((value) => value !== null, {
1140
+ message: `${formatFieldName(fieldName)} is required`,
1141
+ })
1142
+ .optional();
1067
1143
  }
1068
1144
  else {
1069
1145
  // Not required: can be undefined or null
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,122 @@ export declare function executeAfterOperation<TOutput = Record<string, unknown>,
113
113
  originalItem: TOutput;
114
114
  context: AccessContext;
115
115
  }): Promise<void>;
116
+ /**
117
+ * Execute list-level beforeTransaction hook (#590 / ADR-0010).
118
+ *
119
+ * Transaction-boundary hook: runs OUTSIDE the write's transaction, BEFORE it
120
+ * opens. A throw here aborts the write (the transaction never opens). The
121
+ * arguments mirror `beforeOperation` minus `resolvedData` (no input-shaping has
122
+ * run yet at the transaction boundary).
123
+ */
124
+ export declare function executeBeforeTransaction<TOutput = Record<string, unknown>, TCreateInput = Record<string, unknown>, TUpdateInput = Record<string, unknown>>(hooks: Hooks<TOutput, TCreateInput, TUpdateInput> | undefined, args: {
125
+ listKey: string;
126
+ operation: 'create';
127
+ inputData: TCreateInput;
128
+ context: AccessContext;
129
+ } | {
130
+ listKey: string;
131
+ operation: 'update';
132
+ inputData: TUpdateInput;
133
+ item: TOutput | undefined;
134
+ context: AccessContext;
135
+ } | {
136
+ listKey: string;
137
+ operation: 'delete';
138
+ item: TOutput | undefined;
139
+ context: AccessContext;
140
+ }): Promise<void>;
141
+ /**
142
+ * Execute list-level afterTransaction hook (#590 / ADR-0010).
143
+ *
144
+ * Transaction-boundary hook: runs OUTSIDE the write's transaction, AFTER it
145
+ * settles, and ALWAYS runs when the paired `beforeTransaction` ran. The
146
+ * `status` discriminant tells the hook whether the write committed (persisted
147
+ * `item` present) or rolled back (no `item`, `error` present).
148
+ */
149
+ export declare function executeAfterTransaction<TOutput = Record<string, unknown>, TCreateInput = Record<string, unknown>, TUpdateInput = Record<string, unknown>>(hooks: Hooks<TOutput, TCreateInput, TUpdateInput> | undefined, args: {
150
+ listKey: string;
151
+ operation: 'create';
152
+ status: 'committed';
153
+ inputData: TCreateInput;
154
+ item: TOutput;
155
+ context: AccessContext;
156
+ } | {
157
+ listKey: string;
158
+ operation: 'create';
159
+ status: 'rolled-back';
160
+ inputData: TCreateInput;
161
+ error: unknown;
162
+ context: AccessContext;
163
+ } | {
164
+ listKey: string;
165
+ operation: 'update';
166
+ status: 'committed';
167
+ inputData: TUpdateInput;
168
+ originalItem: TOutput;
169
+ item: TOutput;
170
+ context: AccessContext;
171
+ } | {
172
+ listKey: string;
173
+ operation: 'update';
174
+ status: 'rolled-back';
175
+ inputData: TUpdateInput;
176
+ originalItem: TOutput | undefined;
177
+ error: unknown;
178
+ context: AccessContext;
179
+ } | {
180
+ listKey: string;
181
+ operation: 'delete';
182
+ status: 'committed';
183
+ originalItem: TOutput;
184
+ context: AccessContext;
185
+ } | {
186
+ listKey: string;
187
+ operation: 'delete';
188
+ status: 'rolled-back';
189
+ originalItem: TOutput | undefined;
190
+ error: unknown;
191
+ context: AccessContext;
192
+ }): Promise<void>;
193
+ /**
194
+ * Execute field-level beforeTransaction hooks (#590 / ADR-0010).
195
+ *
196
+ * Runs each field's `beforeTransaction` (side effects only). Like the list-level
197
+ * hook, these run OUTSIDE the transaction before it opens; a throw aborts the
198
+ * write. For create/update the field is only invoked when it appears in
199
+ * `inputData` (mirroring the field beforeOperation gate); for delete all fields
200
+ * with the hook run against the existing `item`.
201
+ */
202
+ export declare function executeFieldBeforeTransactionHooks(inputData: Record<string, unknown> | undefined, fields: Record<string, FieldConfig>, operation: 'create' | 'update' | 'delete', context: AccessContext, listKey: string, item?: Record<string, unknown>): Promise<void>;
203
+ /**
204
+ * Outcome of a settled write transaction, passed to afterTransaction hooks.
205
+ *
206
+ * - `committed`: the write persisted; the persisted `item` (and, for
207
+ * update/delete, `originalItem`) is available.
208
+ * - `rolled-back`: the write was aborted/rolled back; NO persisted `item` —
209
+ * only `inputData`/`originalItem` and the `error` that caused the rollback,
210
+ * so hooks can compensate.
211
+ */
212
+ export type TransactionOutcome = {
213
+ status: 'committed';
214
+ item: Record<string, unknown>;
215
+ } | {
216
+ status: 'rolled-back';
217
+ error: unknown;
218
+ };
219
+ /**
220
+ * Execute field-level afterTransaction hooks (#590 / ADR-0010).
221
+ *
222
+ * Runs each field's `afterTransaction` (side effects only) with the settled
223
+ * transaction outcome. On commit the field receives the persisted `item`/
224
+ * `originalItem` — but ONLY for the top-level list (`isTopLevel`); for nested
225
+ * lists they are `undefined`, since `outcome.item` is the top-level persisted
226
+ * row and handing it to a nested field's hook would be unsound. On rollback the
227
+ * field receives the `error` and NO `item`. Unlike the field `afterOperation`
228
+ * gate, EVERY field with the hook runs (compensation must not depend on the
229
+ * field appearing in the payload).
230
+ */
231
+ export declare function executeFieldAfterTransactionHooks(outcome: TransactionOutcome, inputData: Record<string, unknown> | undefined, fields: Record<string, FieldConfig>, operation: 'create' | 'update' | 'delete', context: AccessContext, listKey: string, isTopLevel: boolean, originalItem?: Record<string, unknown>): Promise<void>;
116
232
  /**
117
233
  * Execute field-level resolveInput hooks
118
234
  * Allows fields to transform their input values before database write
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,160 @@ export async function executeAfterOperation(hooks, args) {
84
84
  }
85
85
  await hooks.afterOperation(args);
86
86
  }
87
+ /**
88
+ * Execute list-level beforeTransaction hook (#590 / ADR-0010).
89
+ *
90
+ * Transaction-boundary hook: runs OUTSIDE the write's transaction, BEFORE it
91
+ * opens. A throw here aborts the write (the transaction never opens). The
92
+ * arguments mirror `beforeOperation` minus `resolvedData` (no input-shaping has
93
+ * run yet at the transaction boundary).
94
+ */
95
+ export async function executeBeforeTransaction(hooks, args) {
96
+ if (!hooks?.beforeTransaction) {
97
+ return;
98
+ }
99
+ await hooks.beforeTransaction(args);
100
+ }
101
+ /**
102
+ * Execute list-level afterTransaction hook (#590 / ADR-0010).
103
+ *
104
+ * Transaction-boundary hook: runs OUTSIDE the write's transaction, AFTER it
105
+ * settles, and ALWAYS runs when the paired `beforeTransaction` ran. The
106
+ * `status` discriminant tells the hook whether the write committed (persisted
107
+ * `item` present) or rolled back (no `item`, `error` present).
108
+ */
109
+ export async function executeAfterTransaction(hooks, args) {
110
+ if (!hooks?.afterTransaction) {
111
+ return;
112
+ }
113
+ await hooks.afterTransaction(args);
114
+ }
115
+ /**
116
+ * Execute field-level beforeTransaction hooks (#590 / ADR-0010).
117
+ *
118
+ * Runs each field's `beforeTransaction` (side effects only). Like the list-level
119
+ * hook, these run OUTSIDE the transaction before it opens; a throw aborts the
120
+ * write. For create/update the field is only invoked when it appears in
121
+ * `inputData` (mirroring the field beforeOperation gate); for delete all fields
122
+ * with the hook run against the existing `item`.
123
+ */
124
+ export async function executeFieldBeforeTransactionHooks(inputData, fields, operation, context, listKey, item) {
125
+ for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
126
+ if (!fieldConfig.hooks?.beforeTransaction)
127
+ continue;
128
+ if (operation !== 'delete' && !(inputData && fieldKey in inputData))
129
+ continue;
130
+ if (operation === 'delete') {
131
+ await fieldConfig.hooks.beforeTransaction({
132
+ listKey,
133
+ fieldKey,
134
+ operation: 'delete',
135
+ item,
136
+ context,
137
+ });
138
+ }
139
+ else if (operation === 'create') {
140
+ await fieldConfig.hooks.beforeTransaction({
141
+ listKey,
142
+ fieldKey,
143
+ operation: 'create',
144
+ inputData,
145
+ context,
146
+ });
147
+ }
148
+ else {
149
+ await fieldConfig.hooks.beforeTransaction({
150
+ listKey,
151
+ fieldKey,
152
+ operation: 'update',
153
+ inputData,
154
+ item,
155
+ context,
156
+ });
157
+ }
158
+ }
159
+ }
160
+ /**
161
+ * Execute field-level afterTransaction hooks (#590 / ADR-0010).
162
+ *
163
+ * Runs each field's `afterTransaction` (side effects only) with the settled
164
+ * transaction outcome. On commit the field receives the persisted `item`/
165
+ * `originalItem` — but ONLY for the top-level list (`isTopLevel`); for nested
166
+ * lists they are `undefined`, since `outcome.item` is the top-level persisted
167
+ * row and handing it to a nested field's hook would be unsound. On rollback the
168
+ * field receives the `error` and NO `item`. Unlike the field `afterOperation`
169
+ * gate, EVERY field with the hook runs (compensation must not depend on the
170
+ * field appearing in the payload).
171
+ */
172
+ export async function executeFieldAfterTransactionHooks(outcome, inputData, fields, operation, context, listKey, isTopLevel, originalItem) {
173
+ // The persisted/pre-write rows are surfaced only for the top-level list.
174
+ const committedItem = outcome.status === 'committed' && isTopLevel ? outcome.item : undefined;
175
+ const committedOriginalItem = isTopLevel ? originalItem : undefined;
176
+ for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
177
+ if (!fieldConfig.hooks?.afterTransaction)
178
+ continue;
179
+ const base = { listKey, fieldKey, context };
180
+ if (outcome.status === 'rolled-back') {
181
+ if (operation === 'delete') {
182
+ await fieldConfig.hooks.afterTransaction({
183
+ ...base,
184
+ operation: 'delete',
185
+ status: 'rolled-back',
186
+ originalItem,
187
+ error: outcome.error,
188
+ });
189
+ }
190
+ else if (operation === 'create') {
191
+ await fieldConfig.hooks.afterTransaction({
192
+ ...base,
193
+ operation: 'create',
194
+ status: 'rolled-back',
195
+ inputData,
196
+ error: outcome.error,
197
+ });
198
+ }
199
+ else {
200
+ await fieldConfig.hooks.afterTransaction({
201
+ ...base,
202
+ operation: 'update',
203
+ status: 'rolled-back',
204
+ inputData,
205
+ originalItem,
206
+ error: outcome.error,
207
+ });
208
+ }
209
+ continue;
210
+ }
211
+ // committed
212
+ if (operation === 'delete') {
213
+ await fieldConfig.hooks.afterTransaction({
214
+ ...base,
215
+ operation: 'delete',
216
+ status: 'committed',
217
+ originalItem: committedOriginalItem,
218
+ });
219
+ }
220
+ else if (operation === 'create') {
221
+ await fieldConfig.hooks.afterTransaction({
222
+ ...base,
223
+ operation: 'create',
224
+ status: 'committed',
225
+ inputData,
226
+ item: committedItem,
227
+ });
228
+ }
229
+ else {
230
+ await fieldConfig.hooks.afterTransaction({
231
+ ...base,
232
+ operation: 'update',
233
+ status: 'committed',
234
+ inputData,
235
+ originalItem: committedOriginalItem,
236
+ item: committedItem,
237
+ });
238
+ }
239
+ }
240
+ }
87
241
  /**
88
242
  * Execute field-level resolveInput hooks
89
243
  * Allows fields to transform their input values before database write