@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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +256 -0
- package/dist/access/access-filter.d.ts +39 -0
- package/dist/access/access-filter.d.ts.map +1 -1
- package/dist/access/access-filter.js +121 -0
- package/dist/access/access-filter.js.map +1 -1
- package/dist/access/field-access.d.ts +1 -0
- package/dist/access/field-access.d.ts.map +1 -1
- package/dist/access/field-access.js +79 -4
- package/dist/access/field-access.js.map +1 -1
- package/dist/access/field-access.test.js +213 -0
- package/dist/access/field-access.test.js.map +1 -1
- package/dist/access/index.d.ts +1 -1
- package/dist/access/index.d.ts.map +1 -1
- package/dist/access/index.js +1 -1
- package/dist/access/index.js.map +1 -1
- package/dist/access/types.d.ts +39 -0
- package/dist/access/types.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/types.d.ts +378 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context/index.d.ts +19 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +153 -26
- package/dist/context/index.js.map +1 -1
- package/dist/context/nested-operations.d.ts +59 -3
- package/dist/context/nested-operations.d.ts.map +1 -1
- package/dist/context/nested-operations.js +552 -129
- package/dist/context/nested-operations.js.map +1 -1
- package/dist/context/transaction-boundary.d.ts +91 -0
- package/dist/context/transaction-boundary.d.ts.map +1 -0
- package/dist/context/transaction-boundary.js +329 -0
- package/dist/context/transaction-boundary.js.map +1 -0
- package/dist/context/write-pipeline.d.ts +15 -1
- package/dist/context/write-pipeline.d.ts.map +1 -1
- package/dist/context/write-pipeline.js +173 -10
- package/dist/context/write-pipeline.js.map +1 -1
- package/dist/fields/calendar-day.test.d.ts +2 -0
- package/dist/fields/calendar-day.test.d.ts.map +1 -0
- package/dist/fields/calendar-day.test.js +120 -0
- package/dist/fields/calendar-day.test.js.map +1 -0
- package/dist/fields/index.d.ts +18 -2
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +93 -17
- package/dist/fields/index.js.map +1 -1
- package/dist/hooks/index.d.ts +116 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +154 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/validation/schema.test.js +222 -1
- package/dist/validation/schema.test.js.map +1 -1
- package/package.json +1 -1
- package/src/access/access-filter.ts +156 -0
- package/src/access/field-access.test.ts +255 -0
- package/src/access/field-access.ts +91 -5
- package/src/access/index.ts +1 -1
- package/src/access/types.ts +45 -0
- package/src/config/index.ts +2 -0
- package/src/config/types.ts +426 -0
- package/src/context/index.ts +207 -37
- package/src/context/nested-operations.ts +969 -143
- package/src/context/transaction-boundary.ts +440 -0
- package/src/context/write-pipeline.ts +234 -13
- package/src/fields/calendar-day.test.ts +140 -0
- package/src/fields/index.ts +96 -16
- package/src/hooks/index.ts +265 -0
- package/src/validation/schema.test.ts +266 -1
- package/tests/access.test.ts +24 -16
- package/tests/config.test.ts +30 -0
- package/tests/context.test.ts +481 -0
- package/tests/field-types.test.ts +17 -3
- package/tests/nested-access-and-hooks.test.ts +1130 -54
- package/tests/nested-operation-registry.test.ts +28 -3
- package/tests/nested-write-hooks.test.ts +864 -0
- package/tests/transaction-boundary-hooks.test.ts +465 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/fields/index.js
CHANGED
|
@@ -38,7 +38,7 @@ export function text(options) {
|
|
|
38
38
|
})
|
|
39
39
|
: withMin;
|
|
40
40
|
if (isRequired && operation === 'update') {
|
|
41
|
-
return
|
|
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
|
-
* -
|
|
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:
|
|
456
|
-
return
|
|
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: '
|
|
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
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
}
|
|
626
|
-
|
|
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
|
-
|
|
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:
|
|
1066
|
-
|
|
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
|
package/dist/fields/index.js.map
CHANGED
|
@@ -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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"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIrD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACjC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAE9B,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;CAMvE;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;gBAER,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAMrF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEtC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,EAC7D,IAAI,EACA;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACvB,GACJ,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,CAOtC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEtC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,EAC7D,IAAI,EACA;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACvB,GACJ,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,wBAAkB,CAAA;AAEnD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEtC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,EAC7D,IAAI,EACA;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACvB,GACJ,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEtC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,EAC7D,IAAI,EACA;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;CACvB,GACJ,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEtC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,EAC7D,IAAI,EACA;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IACzB,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IACzB,OAAO,EAAE,aAAa,CAAA;CACvB,GACJ,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEtC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,SAAS,EAC7D,IAAI,EACA;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;CACvB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACvB,GACJ,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CACtD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACtD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CAmEf;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CAEjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EAEf,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsElC;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAE7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAE1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EAEf,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CAEpD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EAEf,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAEnD,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EAEf,YAAY,CAAC,EAAE,GAAG,GACjB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,SAAS,GAAE,QAAQ,GAAG,QAAmB,GACxC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAW3D"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -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
|