@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
@@ -1 +1 @@
1
- {"version":3,"file":"nested-operations.js","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nested-operations.js","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { OpenSaasConfig, ListConfig } from '../config/types.js';
2
+ import type { AccessContext, PrismaClientLike } from '../access/types.js';
3
+ import type { WriteOperation } from './write-pipeline.js';
4
+ /**
5
+ * Transaction-boundary hooks (#590 / ADR-0010).
6
+ *
7
+ * `beforeTransaction`/`afterTransaction` run OUTSIDE the write's `$transaction`
8
+ * — `beforeTransaction` before it opens, `afterTransaction` after it settles —
9
+ * for non-transactional side effects (e.g. external API calls) that must not
10
+ * hold a DB transaction open and cannot be rolled back. The pair forms a
11
+ * compensation bracket around the atomic write described by ADR-0010.
12
+ *
13
+ * This module:
14
+ * 1. Enumerates the lists involved in a write up front, BY WALKING THE INPUT
15
+ * TREE only (no DB reads), so the bracket can run per involved list before
16
+ * the transaction opens (mirroring how in-transaction before/afterOperation
17
+ * fire per record, but at list granularity).
18
+ * 2. Runs all `beforeTransaction` hooks, tracking exactly which involved lists'
19
+ * `beforeTransaction` ran, then — after the caller settles the transaction —
20
+ * runs `afterTransaction` ONLY for those lists (the symmetric-bracket
21
+ * "always-run" rule), surfacing any hook errors afterward.
22
+ */
23
+ /**
24
+ * One list involved in a write, with the data the transaction-boundary hooks
25
+ * receive. Enumerated purely from the input tree (no DB reads).
26
+ *
27
+ * The persisted/pre-write rows (`item`/`originalItem`) are surfaced to
28
+ * `afterTransaction` ONLY for the TOP-LEVEL record (`isTopLevel`). For nested
29
+ * lists the per-record persisted row is not reliably recoverable outside the
30
+ * transaction, so they are passed as `undefined` rather than mis-handing the
31
+ * top-level row as if it were the nested row. `originalItem` here is therefore
32
+ * populated only for the top-level update/delete target (the pipeline resolves
33
+ * it before the transaction opens).
34
+ */
35
+ export interface InvolvedList {
36
+ listKey: string;
37
+ listConfig: ListConfig<any>;
38
+ operation: WriteOperation;
39
+ /** Whether this is the top-level write target (the only list with a reliable persisted row). */
40
+ isTopLevel: boolean;
41
+ /** The input payload for this involvement (create/update); `undefined` for delete. */
42
+ inputData: Record<string, unknown> | undefined;
43
+ /** The existing row for the TOP-LEVEL update/delete target; `undefined` otherwise. */
44
+ originalItem: Record<string, unknown> | undefined;
45
+ }
46
+ /**
47
+ * Enumerate the lists involved in a write — the top-level list plus every
48
+ * nested create/update/delete target reachable from the input tree — WITHOUT
49
+ * any DB reads. The top-level list is always first.
50
+ */
51
+ export declare function enumerateInvolvedLists(args: {
52
+ listName: string;
53
+ listConfig: ListConfig<any>;
54
+ operation: WriteOperation;
55
+ inputData: Record<string, unknown> | undefined;
56
+ /** Top-level existing row (update/delete), resolved before the transaction by the caller. */
57
+ topLevelOriginalItem: Record<string, unknown> | undefined;
58
+ config: OpenSaasConfig;
59
+ }): InvolvedList[];
60
+ /**
61
+ * Aggregated error surfaced when one or more `afterTransaction` hooks throw.
62
+ * The DB state is already final; all compensators still ran.
63
+ */
64
+ export declare class AfterTransactionError extends Error {
65
+ errors: unknown[];
66
+ constructor(errors: unknown[]);
67
+ }
68
+ /**
69
+ * Bracket a write's transaction with the transaction-boundary hooks (#590).
70
+ *
71
+ * Sequence:
72
+ * 1. Run every involved list's `beforeTransaction` in order, tracking which
73
+ * ran. A throw aborts: the transaction is NEVER opened; `afterTransaction`
74
+ * fires (status `rolled-back`, with the throw as `error`) ONLY for the lists
75
+ * whose `beforeTransaction` already ran (symmetric bracket), and the throw
76
+ * is then re-surfaced.
77
+ * 2. Otherwise open the transaction via `runTransaction` (the existing #569
78
+ * machinery). On settle (commit or rollback) run `afterTransaction` for
79
+ * EVERY involved list (all of their `beforeTransaction` ran) with the
80
+ * outcome.
81
+ * 3. If any `afterTransaction` throws, the rest still run; the collected
82
+ * errors are surfaced afterward as an {@link AfterTransactionError}.
83
+ *
84
+ * Sudo does not affect these hooks — they always run; sudo only bypasses access.
85
+ */
86
+ export declare function runWithTransactionBoundary<TPrisma extends PrismaClientLike>(args: {
87
+ involvedLists: InvolvedList[];
88
+ context: AccessContext<TPrisma>;
89
+ runTransaction: () => Promise<Record<string, unknown> | null>;
90
+ }): Promise<Record<string, unknown> | null>;
91
+ //# sourceMappingURL=transaction-boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-boundary.d.ts","sourceRoot":"","sources":["../../src/context/transaction-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IAEf,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,gGAAgG;IAChG,UAAU,EAAE,OAAO,CAAA;IACnB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,sFAAsF;IACtF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAClD;AA0GD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,6FAA6F;IAC7F,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACzD,MAAM,EAAE,cAAc,CAAA;CACvB,GAAG,YAAY,EAAE,CAmBjB;AAsJD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IACvC,MAAM,EAAE,OAAO,EAAE,CAAA;gBACZ,MAAM,EAAE,OAAO,EAAE;CAS9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,SAAS,gBAAgB,EAAE,IAAI,EAAE;IACvF,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CAC9D,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAwD1C"}
@@ -0,0 +1,329 @@
1
+ import { getRelatedListConfig } from '../access/index.js';
2
+ import { executeBeforeTransaction, executeAfterTransaction, executeFieldBeforeTransactionHooks, executeFieldAfterTransactionHooks, } from '../hooks/index.js';
3
+ /** Max nesting depth walked when enumerating involved lists (matches nested-operations). */
4
+ const MAX_DEPTH = 5;
5
+ /** Nested-op kinds whose payloads imply an involved list + operation. */
6
+ const NESTED_OP_OPERATIONS = [
7
+ { kind: 'create', operation: 'create' },
8
+ { kind: 'update', operation: 'update' },
9
+ { kind: 'delete', operation: 'delete' },
10
+ // connectOrCreate's create branch may create; treat as a possible create involvement.
11
+ { kind: 'connectOrCreate', operation: 'create' },
12
+ ];
13
+ function isRelationshipField(fieldConfig) {
14
+ return fieldConfig?.type === 'relationship';
15
+ }
16
+ function asRecordArray(value) {
17
+ if (value == null)
18
+ return [];
19
+ if (Array.isArray(value))
20
+ return value.filter((v) => v && typeof v === 'object');
21
+ if (typeof value === 'object')
22
+ return [value];
23
+ return [];
24
+ }
25
+ /**
26
+ * Extract the create/update payload from a nested-op entry so nested
27
+ * `beforeTransaction` receives meaningful `inputData`.
28
+ *
29
+ * - `create`: the entry itself is the create data.
30
+ * - `update`: the entry's `data`.
31
+ * - `connectOrCreate`: the entry's `create`.
32
+ * - `delete`: no input payload.
33
+ */
34
+ function nestedInputData(kind, entry) {
35
+ if (kind === 'update') {
36
+ const data = entry.data;
37
+ return data && typeof data === 'object' ? data : undefined;
38
+ }
39
+ if (kind === 'connectOrCreate') {
40
+ const create = entry.create;
41
+ return create && typeof create === 'object' ? create : undefined;
42
+ }
43
+ if (kind === 'delete')
44
+ return undefined;
45
+ // create
46
+ return entry;
47
+ }
48
+ /**
49
+ * Recursively walk a write payload's relationship fields, appending one
50
+ * {@link InvolvedList} per nested create/update/delete involvement. De-dups by
51
+ * (listKey, operation) so a list with many nested records of the same operation
52
+ * fires its transaction-boundary bracket once (these hooks are a per-LIST
53
+ * compensation bracket, not per-record).
54
+ */
55
+ function walkNested(data, fieldConfigs, config, out, seen, depth) {
56
+ if (!data || depth >= MAX_DEPTH)
57
+ return;
58
+ for (const [fieldName, value] of Object.entries(data)) {
59
+ const fieldConfig = fieldConfigs[fieldName];
60
+ if (!isRelationshipField(fieldConfig) || value == null || typeof value !== 'object')
61
+ continue;
62
+ const relationshipField = fieldConfig;
63
+ const related = getRelatedListConfig(relationshipField.ref, config);
64
+ if (!related)
65
+ continue;
66
+ const { listName: relatedListName, listConfig: relatedListConfig } = related;
67
+ const valueRecord = value;
68
+ for (const { kind, operation } of NESTED_OP_OPERATIONS) {
69
+ const opValue = valueRecord[kind];
70
+ if (opValue === undefined)
71
+ continue;
72
+ const entries = asRecordArray(opValue);
73
+ // Record the involvement once per (list, operation).
74
+ const dedupeKey = `${relatedListName}:${operation}`;
75
+ if (!seen.has(dedupeKey)) {
76
+ seen.add(dedupeKey);
77
+ out.push({
78
+ listKey: relatedListName,
79
+ listConfig: relatedListConfig,
80
+ operation,
81
+ isTopLevel: false,
82
+ inputData: entries.length > 0 ? nestedInputData(kind, entries[0]) : undefined,
83
+ originalItem: undefined,
84
+ });
85
+ }
86
+ // Recurse into each nested entry's own relationship payload.
87
+ for (const entry of entries) {
88
+ const childData = nestedInputData(kind, entry);
89
+ walkNested(childData, relatedListConfig.fields, config, out, seen, depth + 1);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ /**
95
+ * Enumerate the lists involved in a write — the top-level list plus every
96
+ * nested create/update/delete target reachable from the input tree — WITHOUT
97
+ * any DB reads. The top-level list is always first.
98
+ */
99
+ export function enumerateInvolvedLists(args) {
100
+ const { listName, listConfig, operation, inputData, topLevelOriginalItem, config } = args;
101
+ const out = [
102
+ {
103
+ listKey: listName,
104
+ listConfig,
105
+ operation,
106
+ isTopLevel: true,
107
+ inputData,
108
+ originalItem: topLevelOriginalItem,
109
+ },
110
+ ];
111
+ const seen = new Set([`${listName}:${operation}`]);
112
+ // Delete has no nested payload to walk (inputData is undefined).
113
+ walkNested(inputData, listConfig.fields, config, out, seen, 0);
114
+ return out;
115
+ }
116
+ /**
117
+ * Run the list- and field-level `beforeTransaction` hooks for one involved list.
118
+ * A throw propagates to the caller (which aborts the write).
119
+ */
120
+ async function runBeforeTransactionForList(involved, context) {
121
+ const { listKey, listConfig, operation, inputData, originalItem } = involved;
122
+ if (operation === 'create') {
123
+ await executeBeforeTransaction(listConfig.hooks, {
124
+ listKey,
125
+ operation: 'create',
126
+ inputData: inputData ?? {},
127
+ context,
128
+ });
129
+ }
130
+ else if (operation === 'update') {
131
+ await executeBeforeTransaction(listConfig.hooks, {
132
+ listKey,
133
+ operation: 'update',
134
+ inputData: inputData ?? {},
135
+ item: originalItem,
136
+ context,
137
+ });
138
+ }
139
+ else {
140
+ await executeBeforeTransaction(listConfig.hooks, {
141
+ listKey,
142
+ operation: 'delete',
143
+ item: originalItem,
144
+ context,
145
+ });
146
+ }
147
+ await executeFieldBeforeTransactionHooks(inputData, listConfig.fields, operation, context, listKey, originalItem);
148
+ }
149
+ /**
150
+ * Run the list- and field-level `afterTransaction` hooks for one involved list
151
+ * with the settled {@link TransactionOutcome}. Collects (does not throw) any
152
+ * errors so the caller can keep running the remaining lists' compensators.
153
+ */
154
+ async function runAfterTransactionForList(involved, outcome, context, errors) {
155
+ const { listKey, listConfig, operation, isTopLevel, inputData, originalItem } = involved;
156
+ // On commit, the persisted row (`outcome.item`) is the TOP-LEVEL row. We only
157
+ // surface `item`/`originalItem` for the top-level list — handing the top-level
158
+ // row to a nested list's hook (whose type is the nested list's own item) would
159
+ // be unsound, since the hook would silently read the wrong record. For nested
160
+ // lists we pass `undefined`; per-record nested compensation must use the
161
+ // in-transaction `afterOperation`, which already receives the correct nested row.
162
+ try {
163
+ if (outcome.status === 'committed') {
164
+ // The persisted row is surfaced only for the top-level list (see above).
165
+ const committedItem = isTopLevel ? outcome.item : undefined;
166
+ if (operation === 'create') {
167
+ await executeAfterTransaction(listConfig.hooks, {
168
+ listKey,
169
+ operation: 'create',
170
+ status: 'committed',
171
+ inputData: inputData ?? {},
172
+ item: committedItem,
173
+ context,
174
+ });
175
+ }
176
+ else if (operation === 'update') {
177
+ await executeAfterTransaction(listConfig.hooks, {
178
+ listKey,
179
+ operation: 'update',
180
+ status: 'committed',
181
+ inputData: inputData ?? {},
182
+ originalItem: isTopLevel ? originalItem : undefined,
183
+ item: committedItem,
184
+ context,
185
+ });
186
+ }
187
+ else {
188
+ await executeAfterTransaction(listConfig.hooks, {
189
+ listKey,
190
+ operation: 'delete',
191
+ status: 'committed',
192
+ originalItem: isTopLevel ? originalItem : undefined,
193
+ context,
194
+ });
195
+ }
196
+ }
197
+ else {
198
+ // rolled-back: no persisted item.
199
+ if (operation === 'create') {
200
+ await executeAfterTransaction(listConfig.hooks, {
201
+ listKey,
202
+ operation: 'create',
203
+ status: 'rolled-back',
204
+ inputData: inputData ?? {},
205
+ error: outcome.error,
206
+ context,
207
+ });
208
+ }
209
+ else if (operation === 'update') {
210
+ await executeAfterTransaction(listConfig.hooks, {
211
+ listKey,
212
+ operation: 'update',
213
+ status: 'rolled-back',
214
+ inputData: inputData ?? {},
215
+ originalItem,
216
+ error: outcome.error,
217
+ context,
218
+ });
219
+ }
220
+ else {
221
+ await executeAfterTransaction(listConfig.hooks, {
222
+ listKey,
223
+ operation: 'delete',
224
+ status: 'rolled-back',
225
+ originalItem,
226
+ error: outcome.error,
227
+ context,
228
+ });
229
+ }
230
+ }
231
+ }
232
+ catch (err) {
233
+ // A throwing afterTransaction must NOT stop the remaining compensators.
234
+ errors.push(err);
235
+ }
236
+ try {
237
+ await executeFieldAfterTransactionHooks(outcome, inputData, listConfig.fields, operation, context, listKey, isTopLevel, originalItem);
238
+ }
239
+ catch (err) {
240
+ errors.push(err);
241
+ }
242
+ }
243
+ /**
244
+ * Aggregated error surfaced when one or more `afterTransaction` hooks throw.
245
+ * The DB state is already final; all compensators still ran.
246
+ */
247
+ export class AfterTransactionError extends Error {
248
+ errors;
249
+ constructor(errors) {
250
+ super(`afterTransaction hook(s) failed: ${errors
251
+ .map((e) => (e instanceof Error ? e.message : String(e)))
252
+ .join('; ')}`);
253
+ this.name = 'AfterTransactionError';
254
+ this.errors = errors;
255
+ }
256
+ }
257
+ /**
258
+ * Bracket a write's transaction with the transaction-boundary hooks (#590).
259
+ *
260
+ * Sequence:
261
+ * 1. Run every involved list's `beforeTransaction` in order, tracking which
262
+ * ran. A throw aborts: the transaction is NEVER opened; `afterTransaction`
263
+ * fires (status `rolled-back`, with the throw as `error`) ONLY for the lists
264
+ * whose `beforeTransaction` already ran (symmetric bracket), and the throw
265
+ * is then re-surfaced.
266
+ * 2. Otherwise open the transaction via `runTransaction` (the existing #569
267
+ * machinery). On settle (commit or rollback) run `afterTransaction` for
268
+ * EVERY involved list (all of their `beforeTransaction` ran) with the
269
+ * outcome.
270
+ * 3. If any `afterTransaction` throws, the rest still run; the collected
271
+ * errors are surfaced afterward as an {@link AfterTransactionError}.
272
+ *
273
+ * Sudo does not affect these hooks — they always run; sudo only bypasses access.
274
+ */
275
+ export async function runWithTransactionBoundary(args) {
276
+ const { involvedLists, context, runTransaction } = args;
277
+ // Lists whose beforeTransaction ran (in order), for the symmetric bracket. A
278
+ // list is marked as "ran" the moment its beforeTransaction BEGINS, so even a
279
+ // list whose beforeTransaction throws gets its afterTransaction (it may have
280
+ // taken a partial external action that needs compensating).
281
+ const ran = [];
282
+ let beforeError;
283
+ for (const involved of involvedLists) {
284
+ ran.push(involved);
285
+ try {
286
+ await runBeforeTransactionForList(involved, context);
287
+ }
288
+ catch (err) {
289
+ beforeError = err;
290
+ break;
291
+ }
292
+ }
293
+ // beforeTransaction threw → abort: never open the transaction, compensate the
294
+ // lists whose beforeTransaction ran, then surface the original error.
295
+ if (beforeError !== undefined) {
296
+ const outcome = { status: 'rolled-back', error: beforeError };
297
+ const afterErrors = [];
298
+ for (const involved of ran) {
299
+ await runAfterTransactionForList(involved, outcome, context, afterErrors);
300
+ }
301
+ throw beforeError;
302
+ }
303
+ // Open the transaction and capture the settle outcome.
304
+ let outcome;
305
+ let result = null;
306
+ let txError;
307
+ try {
308
+ result = await runTransaction();
309
+ outcome = { status: 'committed', item: result ?? {} };
310
+ }
311
+ catch (err) {
312
+ txError = err;
313
+ outcome = { status: 'rolled-back', error: err };
314
+ }
315
+ // afterTransaction always runs for every list whose beforeTransaction ran
316
+ // (here: all involved lists). All compensators run even if one throws.
317
+ const afterErrors = [];
318
+ for (const involved of ran) {
319
+ await runAfterTransactionForList(involved, outcome, context, afterErrors);
320
+ }
321
+ // Surface errors: the transaction's own error takes precedence (the write
322
+ // failed); otherwise any afterTransaction errors.
323
+ if (txError !== undefined)
324
+ throw txError;
325
+ if (afterErrors.length > 0)
326
+ throw new AfterTransactionError(afterErrors);
327
+ return result;
328
+ }
329
+ //# sourceMappingURL=transaction-boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-boundary.js","sourceRoot":"","sources":["../../src/context/transaction-boundary.ts"],"names":[],"mappings":"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"}
@@ -44,10 +44,12 @@ export interface PrismaModel {
44
44
  count: () => Promise<number>;
45
45
  create: (args: {
46
46
  data: Record<string, unknown>;
47
+ include?: Record<string, unknown>;
47
48
  }) => Promise<Record<string, unknown>>;
48
49
  update: (args: {
49
50
  where: Record<string, unknown>;
50
51
  data: Record<string, unknown>;
52
+ include?: Record<string, unknown>;
51
53
  }) => Promise<Record<string, unknown>>;
52
54
  delete: (args: {
53
55
  where: Record<string, unknown>;
@@ -80,8 +82,10 @@ export interface WriteStrategy {
80
82
  /**
81
83
  * Axis 3: execute the database write and return the persisted/deleted row.
82
84
  * `data` is the fully-resolved write payload (empty object for delete).
85
+ * `include` (create/update) asks the DB to return nested relations so nested
86
+ * `afterOperation` can recover its persisted `item`; delete ignores it.
83
87
  */
84
- persist(model: PrismaModel, data: Record<string, unknown>): Promise<Record<string, unknown>>;
88
+ persist(model: PrismaModel, data: Record<string, unknown>, include?: Record<string, unknown>): Promise<Record<string, unknown>>;
85
89
  }
86
90
  /**
87
91
  * Arguments shared by every write pipeline run.
@@ -96,6 +100,16 @@ export interface WritePipelineArgs<TPrisma extends PrismaClientLike> {
96
100
  inputData: Record<string, unknown> | undefined;
97
101
  /** The per-operation strategy supplying the three variation axes. */
98
102
  strategy: WriteStrategy;
103
+ /**
104
+ * The target resolution computed ONCE before the transaction opened (#590).
105
+ *
106
+ * The transaction-boundary bracket resolves the top-level target + access
107
+ * before opening the transaction (both to gate silent-failures without firing
108
+ * boundary hooks, and to supply `originalItem` to `beforeTransaction`). To
109
+ * avoid a second resolution inside the transaction, the in-transaction body
110
+ * reuses this result instead of calling `strategy.resolveTarget` again.
111
+ */
112
+ preResolvedTarget?: TargetResolution;
99
113
  }
100
114
  /**
101
115
  * Run the canonical secured write sequence once.
@@ -1 +1 @@
1
- {"version":3,"file":"write-pipeline.d.ts","sourceRoot":"","sources":["../../src/context/write-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-pipeline.d.ts","sourceRoot":"","sources":["../../src/context/write-pipeline.ts"],"names":[],"mappings":"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"}