@opensaas/stack-core 0.25.0 → 0.26.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 +40 -0
- package/CLAUDE.md +50 -0
- package/dist/context/apply-defaults.d.ts +36 -0
- package/dist/context/apply-defaults.d.ts.map +1 -0
- package/dist/context/apply-defaults.js +70 -0
- package/dist/context/apply-defaults.js.map +1 -0
- package/dist/context/hook-pipeline.d.ts.map +1 -1
- package/dist/context/hook-pipeline.js +10 -0
- package/dist/context/hook-pipeline.js.map +1 -1
- package/dist/context/index.d.ts +60 -17
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +41 -13
- package/dist/context/index.js.map +1 -1
- package/dist/context/nested-operations.d.ts.map +1 -1
- package/dist/context/nested-operations.js +6 -0
- package/dist/context/nested-operations.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/context/apply-defaults.ts +79 -0
- package/src/context/hook-pipeline.ts +11 -0
- package/src/context/index.ts +133 -31
- package/src/context/nested-operations.ts +7 -0
- package/src/index.ts +5 -0
- package/tests/apply-defaults.test.ts +119 -0
- package/tests/default-value-create.test.ts +299 -0
- package/tests/interactive-transaction.test.ts +444 -0
- package/tests/sudo.test.ts +7 -3
- 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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { config, list } from './config/index.js';
|
|
|
2
2
|
export type { OpenSaasConfig, OutputConfig, ListConfig, DatabaseConfig, FieldConfig, OperationAccess, } from './config/index.js';
|
|
3
3
|
export type { AccessControl, FieldAccess, Session, AccessContext, PrismaFilter, } from './access/index.js';
|
|
4
4
|
export { getContext } from './context/index.js';
|
|
5
|
+
export type { StackContext, TransactionOptions, TransactionIsolationLevel, } from './context/index.js';
|
|
5
6
|
export { getDbKey, getUrlKey, getListKeyFromUrl } from './lib/case-utils.js';
|
|
6
7
|
export { ValidationError } from './hooks/index.js';
|
|
7
8
|
export { validateFieldConfig, validateConfigFields } from './validation/field-config.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAKhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAKhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAMlD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxF,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAQ9E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACxE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,8CAA8C;AAC9C,EAAE;AACF,kEAAkE;AAClE,gEAAgE;AAChE,gEAAgE;AAChE,6DAA6D;AAC7D,yEAAyE;AACzE,kEAAkE;AAElE,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAuBhD,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,8CAA8C;AAC9C,EAAE;AACF,kEAAkE;AAClE,gEAAgE;AAChE,gEAAgE;AAChE,6DAA6D;AAC7D,yEAAyE;AACzE,kEAAkE;AAElE,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAuBhD,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,gDAAgD;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,oEAAoE;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxF,qEAAqE;AACrE,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,gEAAgE;AAChE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { FieldConfig } from '../config/types.js'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Apply field `defaultValue`s to omitted inputs on CREATE — the runtime half of
|
|
5
|
+
* the resolve-then-validate ordering (Keystone 6 parity, issue #615).
|
|
6
|
+
*
|
|
7
|
+
* A field's `defaultValue` is otherwise only realised as a Prisma `@default(...)`
|
|
8
|
+
* applied by the database at write time, which is AFTER the write pipeline's
|
|
9
|
+
* validation phase has already run. That ordering means a required-with-default
|
|
10
|
+
* field (e.g. `select({ validation: { isRequired: true }, defaultValue: 'X' })`)
|
|
11
|
+
* fails `isRequired` validation on an omitted input even though a default exists.
|
|
12
|
+
*
|
|
13
|
+
* This helper closes that gap: in the resolve phase (after `resolveInput` hooks,
|
|
14
|
+
* before validation) it fills `resolvedData[field]` with the field's
|
|
15
|
+
* `defaultValue` ONLY when the field was OMITTED (value is `undefined`). It is a
|
|
16
|
+
* SINGLE shared mechanism used by both the top-level create path (Hook Pipeline)
|
|
17
|
+
* and the nested-relation create path.
|
|
18
|
+
*
|
|
19
|
+
* Guard rails (each acceptance-criteria-driven):
|
|
20
|
+
* - CREATE only. Update never injects defaults for omitted fields (the caller
|
|
21
|
+
* only invokes this for `operation === 'create'`).
|
|
22
|
+
* - Explicitly-provided values are preserved. A key present in `resolvedData`
|
|
23
|
+
* — INCLUDING an explicit `null` — is left untouched; only `undefined`
|
|
24
|
+
* (omitted) keys are filled.
|
|
25
|
+
* - Virtual, system (`id`/`createdAt`/`updatedAt`) and relationship fields are
|
|
26
|
+
* skipped — they have no scalar `defaultValue` to inject and relationships
|
|
27
|
+
* carry connect/create payloads rather than literal defaults.
|
|
28
|
+
* - The timestamp `{ kind: 'now' }` sentinel is NOT injected: it is not a
|
|
29
|
+
* literal value but a request for the DB-level `@default(now())`, which still
|
|
30
|
+
* applies at write time. Injecting the sentinel object would corrupt the
|
|
31
|
+
* payload. (A concrete `Date` default is a real literal and IS injected.)
|
|
32
|
+
*
|
|
33
|
+
* The function mutates and returns `resolvedData` (consistent with the other
|
|
34
|
+
* resolve-phase helpers that thread `resolvedData` through the pipeline).
|
|
35
|
+
*/
|
|
36
|
+
export function applyCreateDefaults(
|
|
37
|
+
resolvedData: Record<string, unknown>,
|
|
38
|
+
fieldConfigs: Record<string, FieldConfig>,
|
|
39
|
+
): Record<string, unknown> {
|
|
40
|
+
for (const [fieldKey, fieldConfig] of Object.entries(fieldConfigs)) {
|
|
41
|
+
// Skip virtual fields — not stored in the database.
|
|
42
|
+
if (fieldConfig.virtual) continue
|
|
43
|
+
|
|
44
|
+
// Skip system fields — always managed by the framework/DB.
|
|
45
|
+
if (fieldKey === 'id' || fieldKey === 'createdAt' || fieldKey === 'updatedAt') continue
|
|
46
|
+
|
|
47
|
+
// Skip relationships — they carry connect/create payloads, not literal defaults.
|
|
48
|
+
if (fieldConfig.type === 'relationship') continue
|
|
49
|
+
|
|
50
|
+
// No declared default → nothing to inject.
|
|
51
|
+
if (!('defaultValue' in fieldConfig) || fieldConfig.defaultValue === undefined) continue
|
|
52
|
+
|
|
53
|
+
// Only fill OMITTED keys. An explicitly-provided value (including explicit
|
|
54
|
+
// `null`) is preserved and must not be overwritten by the default.
|
|
55
|
+
if (resolvedData[fieldKey] !== undefined) continue
|
|
56
|
+
|
|
57
|
+
const defaultValue = fieldConfig.defaultValue
|
|
58
|
+
|
|
59
|
+
// The timestamp `{ kind: 'now' }` sentinel is a DB-level `@default(now())`
|
|
60
|
+
// request, not a literal — leave it for Prisma to apply at write time.
|
|
61
|
+
if (isNowSentinel(defaultValue)) continue
|
|
62
|
+
|
|
63
|
+
resolvedData[fieldKey] = defaultValue
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return resolvedData
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Detect the timestamp `{ kind: 'now' }` default sentinel.
|
|
71
|
+
*/
|
|
72
|
+
function isNowSentinel(value: unknown): boolean {
|
|
73
|
+
return (
|
|
74
|
+
typeof value === 'object' &&
|
|
75
|
+
value !== null &&
|
|
76
|
+
'kind' in value &&
|
|
77
|
+
(value as { kind: unknown }).kind === 'now'
|
|
78
|
+
)
|
|
79
|
+
}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
validateFieldRules,
|
|
9
9
|
ValidationError,
|
|
10
10
|
} from '../hooks/index.js'
|
|
11
|
+
import { applyCreateDefaults } from './apply-defaults.js'
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Hook Pipeline — the single module that runs the transform+validate span of a
|
|
@@ -109,6 +110,16 @@ async function runHookPipeline(args: HookPipelineArgs): Promise<HookPipelineResu
|
|
|
109
110
|
item,
|
|
110
111
|
)
|
|
111
112
|
|
|
113
|
+
// ── Phase 1.75: apply field defaults to omitted inputs (CREATE only) ───────
|
|
114
|
+
// Resolve-then-validate (Keystone parity, #615): a field declaring a
|
|
115
|
+
// `defaultValue` is filled into `resolvedData` here — AFTER resolveInput hooks
|
|
116
|
+
// and BEFORE validation — but only when the field was OMITTED, so a
|
|
117
|
+
// required-with-default field passes `isRequired` instead of failing it.
|
|
118
|
+
// Update is untouched (no default injection on update).
|
|
119
|
+
if (operation === 'create') {
|
|
120
|
+
resolvedData = applyCreateDefaults(resolvedData, listConfig.fields)
|
|
121
|
+
}
|
|
122
|
+
|
|
112
123
|
// ── Phase 2: list-level validate ──────────────────────────────────────────
|
|
113
124
|
await executeValidate(
|
|
114
125
|
listConfig.hooks,
|
package/src/context/index.ts
CHANGED
|
@@ -230,6 +230,91 @@ function parsePrismaError(error: unknown, listConfig: ListConfig<any>): Error {
|
|
|
230
230
|
return new Error('An unknown error occurred')
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Database transaction isolation levels.
|
|
235
|
+
*
|
|
236
|
+
* Mirrors Prisma's `TransactionIsolationLevel`. The level passed to
|
|
237
|
+
* {@link StackContext.transaction} is forwarded to the underlying interactive
|
|
238
|
+
* transaction; provider support varies (e.g. `Serializable` is supported by
|
|
239
|
+
* PostgreSQL — required for the concurrency-sensitive capacity-gate pattern).
|
|
240
|
+
*/
|
|
241
|
+
export type TransactionIsolationLevel =
|
|
242
|
+
| 'ReadUncommitted'
|
|
243
|
+
| 'ReadCommitted'
|
|
244
|
+
| 'RepeatableRead'
|
|
245
|
+
| 'Serializable'
|
|
246
|
+
| 'Snapshot'
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Options for {@link StackContext.transaction}, forwarded verbatim to the
|
|
250
|
+
* underlying Prisma interactive transaction.
|
|
251
|
+
*/
|
|
252
|
+
export interface TransactionOptions {
|
|
253
|
+
/** Max ms to wait to acquire a transaction from the pool. */
|
|
254
|
+
maxWait?: number
|
|
255
|
+
/** Max ms the interactive transaction may run before timing out. */
|
|
256
|
+
timeout?: number
|
|
257
|
+
/** Isolation level for the transaction (e.g. `'Serializable'`). */
|
|
258
|
+
isolationLevel?: TransactionIsolationLevel
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Minimal shape of a Prisma client that can open an interactive transaction.
|
|
263
|
+
* A Prisma transaction client (the `tx` handed to the callback) intentionally
|
|
264
|
+
* does NOT expose `$transaction`, which is how nested writes detect they are
|
|
265
|
+
* already inside a transaction and join it rather than opening another.
|
|
266
|
+
*/
|
|
267
|
+
interface TransactionCapable<TPrisma> {
|
|
268
|
+
$transaction?: (
|
|
269
|
+
fn: (tx: TPrisma) => Promise<unknown>,
|
|
270
|
+
options?: TransactionOptions,
|
|
271
|
+
) => Promise<unknown>
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* The access-controlled context returned by {@link getContext}.
|
|
276
|
+
*
|
|
277
|
+
* Exposes the secured `db` delegate plus the session, raw `prisma`, storage,
|
|
278
|
+
* plugin services, the generic `serverAction` handler, `sudo()` (bypasses access
|
|
279
|
+
* control but still runs hooks), and `transaction()` (interactive, hook-firing
|
|
280
|
+
* transaction). All access-checked operations run their list/field hooks.
|
|
281
|
+
*/
|
|
282
|
+
export interface StackContext<TPrisma extends PrismaClientLike = PrismaClientLike> {
|
|
283
|
+
db: AccessControlledDB<TPrisma>
|
|
284
|
+
session: Session | null
|
|
285
|
+
prisma: TPrisma
|
|
286
|
+
storage: StorageUtils
|
|
287
|
+
plugins: Record<string, unknown>
|
|
288
|
+
serverAction: (props: ServerActionProps) => Promise<unknown>
|
|
289
|
+
/**
|
|
290
|
+
* Run `fn` inside ONE interactive transaction. The `txContext` handed to `fn`
|
|
291
|
+
* is a full {@link StackContext} whose `db.*` operations are access-checked and
|
|
292
|
+
* hook-firing (identical to this context) but persist against the transaction
|
|
293
|
+
* client, so every write in the callback is atomic — a throw anywhere rolls the
|
|
294
|
+
* whole transaction back.
|
|
295
|
+
*
|
|
296
|
+
* `options` (notably `isolationLevel`) is forwarded to the underlying Prisma
|
|
297
|
+
* transaction. Serialization failures (e.g. Prisma `P2034`) propagate to the
|
|
298
|
+
* caller rather than being swallowed, so the caller can own a retry loop. If
|
|
299
|
+
* the client cannot open an interactive transaction (e.g. a plain mock, or we
|
|
300
|
+
* are already inside a transaction), `fn` runs directly against the current
|
|
301
|
+
* client with identical hook/access semantics.
|
|
302
|
+
*
|
|
303
|
+
* Caveat: plugin runtime services (`txContext.plugins`) stay bound to the
|
|
304
|
+
* top-level (non-transaction) client — they are shared services initialised
|
|
305
|
+
* once per request. Reads through a plugin service therefore won't see this
|
|
306
|
+
* transaction's uncommitted writes, and a plugin service that WRITES would
|
|
307
|
+
* escape the transaction and survive a rollback. Use `txContext.db` (not a
|
|
308
|
+
* plugin service) for writes that must be atomic with the transaction.
|
|
309
|
+
*/
|
|
310
|
+
transaction: <T>(
|
|
311
|
+
fn: (txContext: StackContext<TPrisma>) => Promise<T>,
|
|
312
|
+
options?: TransactionOptions,
|
|
313
|
+
) => Promise<T>
|
|
314
|
+
sudo: () => StackContext<TPrisma>
|
|
315
|
+
_isSudo: boolean
|
|
316
|
+
}
|
|
317
|
+
|
|
233
318
|
/**
|
|
234
319
|
* Create an access-controlled context
|
|
235
320
|
*
|
|
@@ -247,25 +332,10 @@ export function getContext<
|
|
|
247
332
|
session: Session | null,
|
|
248
333
|
storage?: StorageUtils,
|
|
249
334
|
_isSudo: boolean = false,
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
storage: StorageUtils
|
|
255
|
-
plugins: Record<string, unknown>
|
|
256
|
-
serverAction: (props: ServerActionProps) => Promise<unknown>
|
|
257
|
-
_isSudo: boolean
|
|
258
|
-
sudo: () => {
|
|
259
|
-
db: AccessControlledDB<TPrisma>
|
|
260
|
-
session: Session | null
|
|
261
|
-
prisma: TPrisma
|
|
262
|
-
storage: StorageUtils
|
|
263
|
-
plugins: Record<string, unknown>
|
|
264
|
-
serverAction: (props: ServerActionProps) => Promise<unknown>
|
|
265
|
-
sudo: () => unknown
|
|
266
|
-
_isSudo: boolean
|
|
267
|
-
}
|
|
268
|
-
} {
|
|
335
|
+
// Internal: when rebuilding the context against a transaction client, reuse the
|
|
336
|
+
// already-initialised plugin services rather than re-running plugin runtimes.
|
|
337
|
+
_sharedPlugins?: Record<string, unknown>,
|
|
338
|
+
): StackContext<TPrisma> {
|
|
269
339
|
// Initialize db object - will be populated with access-controlled operations
|
|
270
340
|
// Type is intentionally broad to allow dynamic model access
|
|
271
341
|
const db: Record<string, unknown> = {}
|
|
@@ -298,7 +368,9 @@ export function getContext<
|
|
|
298
368
|
)
|
|
299
369
|
},
|
|
300
370
|
},
|
|
301
|
-
|
|
371
|
+
// Reuse already-initialised plugin services when rebinding to a transaction
|
|
372
|
+
// client, otherwise start empty and populate via plugin runtimes below.
|
|
373
|
+
plugins: _sharedPlugins ?? {},
|
|
302
374
|
_isSudo,
|
|
303
375
|
_resolveOutputCounter: { depth: 0 },
|
|
304
376
|
}
|
|
@@ -306,16 +378,20 @@ export function getContext<
|
|
|
306
378
|
// Create access-controlled operations for each list, populating `db` in place.
|
|
307
379
|
populateDbDelegate(db, config, prisma, context)
|
|
308
380
|
|
|
309
|
-
// Execute plugin runtime functions and populate context.plugins
|
|
381
|
+
// Execute plugin runtime functions and populate context.plugins.
|
|
382
|
+
// Skipped when reusing shared plugins (transaction rebind) so runtimes — and
|
|
383
|
+
// any side effects they carry — run exactly once per top-level context.
|
|
310
384
|
// Use _plugins (sorted by dependencies) if available, otherwise fall back to plugins array
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
385
|
+
if (!_sharedPlugins) {
|
|
386
|
+
const pluginsToExecute = config._plugins || config.plugins || []
|
|
387
|
+
for (const plugin of pluginsToExecute) {
|
|
388
|
+
if (plugin.runtime) {
|
|
389
|
+
try {
|
|
390
|
+
context.plugins[plugin.name] = plugin.runtime(context)
|
|
391
|
+
} catch (error) {
|
|
392
|
+
console.error(`Error executing runtime for plugin "${plugin.name}":`, error)
|
|
393
|
+
// Continue with other plugins even if one fails
|
|
394
|
+
}
|
|
319
395
|
}
|
|
320
396
|
}
|
|
321
397
|
}
|
|
@@ -411,11 +487,35 @@ export function getContext<
|
|
|
411
487
|
|
|
412
488
|
// Sudo function - creates a new context that bypasses access control
|
|
413
489
|
// but still executes all hooks and validation
|
|
414
|
-
function sudo() {
|
|
490
|
+
function sudo(): StackContext<TPrisma> {
|
|
415
491
|
return getContext(config, prisma, session, context.storage, true)
|
|
416
492
|
}
|
|
417
493
|
|
|
418
|
-
|
|
494
|
+
// Interactive, hook-firing transaction (#614). Rebinds the access-controlled
|
|
495
|
+
// context to the transaction client so every `txContext.db.*` write runs its
|
|
496
|
+
// access checks + hooks but persists inside ONE transaction (atomic). The
|
|
497
|
+
// transaction `options` (e.g. `isolationLevel`) pass through to Prisma, and a
|
|
498
|
+
// serialization failure thrown inside the callback propagates to the caller
|
|
499
|
+
// for retry (it is never converted to a silent `null`).
|
|
500
|
+
function transaction<T>(
|
|
501
|
+
fn: (txContext: StackContext<TPrisma>) => Promise<T>,
|
|
502
|
+
options?: TransactionOptions,
|
|
503
|
+
): Promise<T> {
|
|
504
|
+
const client = prisma as unknown as TransactionCapable<TPrisma>
|
|
505
|
+
if (typeof client.$transaction !== 'function') {
|
|
506
|
+
// No interactive transaction available — either a plain client/mock or we
|
|
507
|
+
// are already inside a transaction (a Prisma tx client exposes no
|
|
508
|
+
// `$transaction`). Run directly: hook/access semantics are identical and
|
|
509
|
+
// atomicity is provided by any enclosing transaction.
|
|
510
|
+
return fn(returned)
|
|
511
|
+
}
|
|
512
|
+
return client.$transaction(
|
|
513
|
+
(tx) => fn(getContext(config, tx, session, context.storage, _isSudo, context.plugins)),
|
|
514
|
+
options,
|
|
515
|
+
) as Promise<T>
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
const returned: StackContext<TPrisma> = {
|
|
419
519
|
db: db as AccessControlledDB<TPrisma>,
|
|
420
520
|
session,
|
|
421
521
|
prisma,
|
|
@@ -423,8 +523,10 @@ export function getContext<
|
|
|
423
523
|
plugins: context.plugins,
|
|
424
524
|
serverAction,
|
|
425
525
|
sudo,
|
|
526
|
+
transaction,
|
|
426
527
|
_isSudo,
|
|
427
528
|
}
|
|
529
|
+
return returned
|
|
428
530
|
}
|
|
429
531
|
|
|
430
532
|
/**
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
ValidationError,
|
|
16
16
|
} from '../hooks/index.js'
|
|
17
17
|
import { getDbKey } from '../lib/case-utils.js'
|
|
18
|
+
import { applyCreateDefaults } from './apply-defaults.js'
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Nested writes (#569 / ADR-0010).
|
|
@@ -273,6 +274,12 @@ async function processNestedCreate(
|
|
|
273
274
|
relatedListName,
|
|
274
275
|
)
|
|
275
276
|
|
|
277
|
+
// 3.5 Apply field defaults to omitted inputs (resolve-then-validate, #615).
|
|
278
|
+
// Mirrors the top-level Hook Pipeline so a nested required-with-default
|
|
279
|
+
// field resolves to its default before validation instead of failing
|
|
280
|
+
// `isRequired`. Create-only; explicit values (incl. null) are preserved.
|
|
281
|
+
resolvedData = applyCreateDefaults(resolvedData, relatedListConfig.fields)
|
|
282
|
+
|
|
276
283
|
// 4. Execute validate hook
|
|
277
284
|
await executeValidate(relatedListConfig.hooks, {
|
|
278
285
|
listKey: relatedListName,
|
package/src/index.ts
CHANGED
|
@@ -34,6 +34,11 @@ export type {
|
|
|
34
34
|
|
|
35
35
|
// Context factory
|
|
36
36
|
export { getContext } from './context/index.js'
|
|
37
|
+
export type {
|
|
38
|
+
StackContext,
|
|
39
|
+
TransactionOptions,
|
|
40
|
+
TransactionIsolationLevel,
|
|
41
|
+
} from './context/index.js'
|
|
37
42
|
|
|
38
43
|
// Naming utilities (documented public helpers; used for URLs and db keys)
|
|
39
44
|
export { getDbKey, getUrlKey, getListKeyFromUrl } from './lib/case-utils.js'
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { applyCreateDefaults } from '../src/context/apply-defaults.js'
|
|
3
|
+
import { text, integer, checkbox, timestamp, virtual, relationship } from '../src/fields/index.js'
|
|
4
|
+
import type { FieldConfig } from '../src/config/types.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Direct unit tests for `applyCreateDefaults` (#615). These exercise every guard
|
|
8
|
+
* rail of the real helper — virtual / system / relationship skips, the
|
|
9
|
+
* no-`defaultValue` skip, explicit-value and explicit-`null` preservation, the
|
|
10
|
+
* timestamp `{ kind: 'now' }` sentinel skip, and concrete `Date` injection — so
|
|
11
|
+
* the resolve-then-validate helper is fully covered without mocking its logic.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function fields(config: Record<string, FieldConfig>): Record<string, FieldConfig> {
|
|
15
|
+
return config
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
describe('applyCreateDefaults', () => {
|
|
19
|
+
it('injects a declared defaultValue into an omitted field', () => {
|
|
20
|
+
const resolved = applyCreateDefaults(
|
|
21
|
+
{},
|
|
22
|
+
fields({
|
|
23
|
+
label: text({ defaultValue: 'PLACEHOLDER' }),
|
|
24
|
+
count: integer({ defaultValue: 7 }),
|
|
25
|
+
active: checkbox({ defaultValue: true }),
|
|
26
|
+
}),
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
expect(resolved).toEqual({ label: 'PLACEHOLDER', count: 7, active: true })
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
it('leaves a field with NO defaultValue untouched (key stays absent)', () => {
|
|
33
|
+
const resolved = applyCreateDefaults({}, fields({ label: text() }))
|
|
34
|
+
|
|
35
|
+
expect('label' in resolved).toBe(false)
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
it('preserves an explicitly-provided value over the default', () => {
|
|
39
|
+
const resolved = applyCreateDefaults(
|
|
40
|
+
{ count: 99 },
|
|
41
|
+
fields({ count: integer({ defaultValue: 7 }) }),
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
expect(resolved.count).toBe(99)
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
it('preserves an explicit null and does not overwrite it with the default', () => {
|
|
48
|
+
const resolved = applyCreateDefaults(
|
|
49
|
+
{ note: null },
|
|
50
|
+
fields({ note: text({ defaultValue: 'DEFAULT_NOTE' }) }),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
expect(resolved.note).toBeNull()
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
it('skips virtual fields (no scalar default to inject)', () => {
|
|
57
|
+
const resolved = applyCreateDefaults(
|
|
58
|
+
{},
|
|
59
|
+
fields({
|
|
60
|
+
// A virtual field cannot carry a stored default; it must be skipped.
|
|
61
|
+
computed: virtual({
|
|
62
|
+
type: 'string',
|
|
63
|
+
hooks: { resolveOutput: () => 'x' },
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
|
+
}) as any,
|
|
66
|
+
}),
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
expect('computed' in resolved).toBe(false)
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
it('skips system fields (id/createdAt/updatedAt)', () => {
|
|
73
|
+
const resolved = applyCreateDefaults(
|
|
74
|
+
{},
|
|
75
|
+
fields({
|
|
76
|
+
id: text({ defaultValue: 'SHOULD_NOT_INJECT' }),
|
|
77
|
+
createdAt: timestamp({ defaultValue: new Date('2020-01-01T00:00:00Z') }),
|
|
78
|
+
updatedAt: timestamp({ defaultValue: new Date('2020-01-01T00:00:00Z') }),
|
|
79
|
+
}),
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
expect(resolved).toEqual({})
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
it('skips relationship fields (they carry connect/create payloads, not literals)', () => {
|
|
86
|
+
const resolved = applyCreateDefaults(
|
|
87
|
+
{},
|
|
88
|
+
fields({
|
|
89
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
+
owner: relationship({ ref: 'User' }) as any,
|
|
91
|
+
}),
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
expect('owner' in resolved).toBe(false)
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
it("does NOT inject the timestamp { kind: 'now' } sentinel (left for the DB @default(now()))", () => {
|
|
98
|
+
const resolved = applyCreateDefaults(
|
|
99
|
+
{},
|
|
100
|
+
fields({ when: timestamp({ defaultValue: { kind: 'now' } }) }),
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
expect('when' in resolved).toBe(false)
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
it('DOES inject a concrete Date default (a real literal, unlike the now sentinel)', () => {
|
|
107
|
+
const date = new Date('2021-06-15T12:00:00Z')
|
|
108
|
+
const resolved = applyCreateDefaults({}, fields({ when: timestamp({ defaultValue: date }) }))
|
|
109
|
+
|
|
110
|
+
expect(resolved.when).toBe(date)
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
it('returns the same resolvedData object it was given (mutation contract)', () => {
|
|
114
|
+
const input: Record<string, unknown> = {}
|
|
115
|
+
const result = applyCreateDefaults(input, fields({ label: text({ defaultValue: 'x' }) }))
|
|
116
|
+
|
|
117
|
+
expect(result).toBe(input)
|
|
118
|
+
})
|
|
119
|
+
})
|