@opensaas/stack-core 0.42.2 → 0.43.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 +33 -0
- package/dist/access/types.d.ts +3 -0
- package/dist/access/types.d.ts.map +1 -1
- package/dist/context/index.d.ts +2 -2
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +7 -0
- package/dist/context/index.js.map +1 -1
- package/dist/context/nested-operations.d.ts +27 -0
- package/dist/context/nested-operations.d.ts.map +1 -1
- package/dist/context/nested-operations.js +140 -24
- 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 +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/access/types.ts +16 -0
- package/src/context/index.ts +26 -10
- package/src/context/nested-operations.ts +168 -23
- package/src/index.ts +8 -0
- package/tests/context.test.ts +5 -0
- package/tests/nested-operation-registry.test.ts +110 -24
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @opensaas/stack-core
|
|
2
2
|
|
|
3
|
+
## 0.43.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1385](https://github.com/OpenSaasAU/stack/pull/1385) [`1da6535`](https://github.com/OpenSaasAU/stack/commit/1da6535a840596a7ef4ec3f7ba742da62ef117df) Thanks [@borisno2](https://github.com/borisno2)! - Close an access-control gap in nested relationship writes ([#1384](https://github.com/OpenSaasAU/stack/issues/1384)). Non-sudo `context.db` writes carrying a nested `set`, `updateMany` or `deleteMany` under a relationship key previously reached Prisma as an unchecked pass-through — the target list's `operation.update`/`operation.delete` access was never consulted, no hooks ran, and an unscoped `where` could reach rows well outside the parent's own subtree. These three kinds are now refused outright for non-sudo contexts, throwing a new `NestedRelationInputError` (exported from `@opensaas/stack-core`) that names the list, the relationship field, and the offending kind(s):
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { NestedRelationInputError } from '@opensaas/stack-core'
|
|
11
|
+
|
|
12
|
+
try {
|
|
13
|
+
await context.db.post.update({
|
|
14
|
+
where: { id },
|
|
15
|
+
data: { tags: { deleteMany: {} } },
|
|
16
|
+
})
|
|
17
|
+
} catch (err) {
|
|
18
|
+
if (err instanceof NestedRelationInputError) {
|
|
19
|
+
// err.listKey / err.fieldKey / err.kinds
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Replace a nested `set`/`updateMany`/`deleteMany` with writes against the target list directly (`context.db.<targetList>`), wrapped in `context.transaction()` when they must land atomically with the parent write. `context.sudo()` still accepts all three kinds unchanged, matching every other access-control escape hatch in the write pipeline.
|
|
25
|
+
|
|
26
|
+
Nested `disconnect`'s target-row form (`{ disconnect: { id } }`, as opposed to the to-one `{ disconnect: true }`) is now gated by the target list's `operation.query` access, the same reachability check `connect` already applies — a caller can no longer disconnect a row it cannot read. This closes the last unchecked nested-write shape from the same report.
|
|
27
|
+
|
|
28
|
+
## 0.42.3
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- [#1337](https://github.com/OpenSaasAU/stack/pull/1337) [`1a616c1`](https://github.com/OpenSaasAU/stack/commit/1a616c1e2ff31de1afe970a5fcfcc25ea7cbedb0) Thanks [@borisno2](https://github.com/borisno2)! - Core's `AugmentedFindUnique`/`AugmentedFindFirst`/`AugmentedFindMany` now carry the same trailing non-generic overload the generator's `CustomDB` already emits ([#1287](https://github.com/OpenSaasAU/stack/issues/1287)), and `getContext` takes a third, unconstrained, defaulted `TDb` type parameter so a caller can ask for `StackContext<TPrisma, CustomDB>` directly. The generated `.opensaas/context.ts` factory uses this to drop its `as unknown as Context<TSession>` casts down to a single, honest `as Context<TSession>`.
|
|
33
|
+
|
|
34
|
+
Observable side effect: since `Parameters<>`/`ReturnType<>` resolve against an overloaded type's LAST member, `Parameters<AccessControlledDB<P>[K]['findMany' | 'findFirst' | 'findUnique']>[0]` now resolves to the new trailing member's argument type (Prisma's args shape minus `select`/`include`/`query`) instead of the full original Prisma args — anyone introspecting these types directly via `Parameters<>` will see this narrower shape.
|
|
35
|
+
|
|
3
36
|
## 0.42.2
|
|
4
37
|
|
|
5
38
|
## 0.42.1
|
package/dist/access/types.d.ts
CHANGED
|
@@ -87,6 +87,7 @@ export interface AugmentedFindMany<TOriginal extends (...args: any[]) => any> {
|
|
|
87
87
|
query: Fragment<TItem, TFields>;
|
|
88
88
|
}): Promise<ResultOf<Fragment<TItem, TFields>>[]>;
|
|
89
89
|
(...args: Parameters<TOriginal>): ReturnType<TOriginal>;
|
|
90
|
+
(args?: Omit<Parameters<TOriginal>[0], 'select' | 'include' | 'query'>): ReturnType<TOriginal>;
|
|
90
91
|
}
|
|
91
92
|
/**
|
|
92
93
|
* Extra query arguments accepted when a `query` Fragment is provided alongside
|
|
@@ -124,6 +125,7 @@ export interface AugmentedFindFirst<TOriginal extends (...args: any[]) => any> {
|
|
|
124
125
|
query: Fragment<TItem, TFields>;
|
|
125
126
|
}): Promise<ResultOf<Fragment<TItem, TFields>> | null>;
|
|
126
127
|
(...args: Parameters<TOriginal>): ReturnType<TOriginal>;
|
|
128
|
+
(args?: Omit<Parameters<TOriginal>[0], 'select' | 'include' | 'query'>): ReturnType<TOriginal>;
|
|
127
129
|
}
|
|
128
130
|
/**
|
|
129
131
|
* Overloaded `findUnique` that accepts an optional `query` Fragment.
|
|
@@ -148,6 +150,7 @@ export interface AugmentedFindUnique<TOriginal extends (...args: any[]) => any>
|
|
|
148
150
|
query: Fragment<TItem, TFields>;
|
|
149
151
|
}): Promise<ResultOf<Fragment<TItem, TFields>> | null>;
|
|
150
152
|
(...args: Parameters<TOriginal>): ReturnType<TOriginal>;
|
|
153
|
+
(args: Pick<Parameters<TOriginal>[0], 'where'>): ReturnType<TOriginal>;
|
|
151
154
|
}
|
|
152
155
|
export type AccessControlledDB<TPrisma extends PrismaClientLike> = {
|
|
153
156
|
[K in keyof TPrisma]: TPrisma[K] extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/access/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3C,CAAA;AAKD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAMlC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IAChF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG;IAC1E,CAAC,KAAK,EAAE,OAAO,SAAS,cAAc,CAAC,KAAK,CAAC,EAC3C,IAAI,EAAE,iBAAiB,GAAG;QAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;KAAE,GAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/access/types.ts"],"names":[],"mappings":"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"}
|
package/dist/context/index.d.ts
CHANGED
|
@@ -138,10 +138,10 @@ export interface StackContext<TPrisma extends PrismaClientLike = PrismaClientLik
|
|
|
138
138
|
/** @internal See `_transactionOwner` on `AccessContext`. */
|
|
139
139
|
_transactionOwner?: TransactionRegistry;
|
|
140
140
|
}
|
|
141
|
-
export declare function getContext<TConfig extends OpenSaasConfig, TPrisma extends PrismaClientLike = PrismaClientLike
|
|
141
|
+
export declare function getContext<TConfig extends OpenSaasConfig, TPrisma extends PrismaClientLike = PrismaClientLike, TDb = AccessControlledDB<TPrisma>>(config: TConfig, prisma: TPrisma, session: Session | null, storage?: StorageUtils, _isSudo?: boolean, _sharedPlugins?: Record<string, unknown>, _transactionOwner?: TransactionRegistry, _resolveOutputChain?: readonly {
|
|
142
142
|
listKey: string;
|
|
143
143
|
fieldKey: string;
|
|
144
|
-
}[]): StackContext<TPrisma>;
|
|
144
|
+
}[]): StackContext<TPrisma, TDb>;
|
|
145
145
|
/**
|
|
146
146
|
* Populate `target` with the access-controlled CRUD operations for every list,
|
|
147
147
|
* each bound to `prisma` and `context`. Used both by {@link getContext} (at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAuBlG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAW1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAGvE,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACpE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAChF;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,GAOxD;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,GAUrE;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAKD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;CACf,GAOD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AA+KL;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GACnC,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,GAAG,cAAc,GAAG,UAAU,CAAA;AAEtF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,cAAc,CAAC,EAAE,yBAAyB,CAAA;CAC3C;AAeD;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY,CAC3B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAUnD,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAEjC,EAAE,EAAE,GAAG,CAAA;IACP,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,EAAE,CAAC,CAAC,EACb,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,CAAC,CAAC,CAAA;IACf,IAAI,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACtC;;;;;;;;;;;;;;;OAeG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,mBAAmB,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACrE,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,mBAAmB,CAAA;CACxC;AA+BD,wBAAgB,UAAU,CACxB,OAAO,SAAS,cAAc,EAC9B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EASnD,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAEjC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE,YAAY,EACtB,OAAO,GAAE,OAAe,EAGxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAIxC,iBAAiB,CAAC,EAAE,mBAAmB,EAKvC,mBAAmB,CAAC,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,GACrE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAgf5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,gBAAgB,EACjE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,IAAI,CAiCN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,gBAAgB,EAC9D,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,kBAAkB,CAAC,OAAO,CAAC,CAI7B"}
|
package/dist/context/index.js
CHANGED
|
@@ -559,6 +559,13 @@ _resolveOutputChain) {
|
|
|
559
559
|
return settleTransactionOwner(settled, registry);
|
|
560
560
|
}
|
|
561
561
|
const returned = {
|
|
562
|
+
// The one place that legitimately knows `db` is shaped as the caller's
|
|
563
|
+
// `TDb` says: `populateDbDelegate` above always builds the plain
|
|
564
|
+
// `AccessControlledDB<TPrisma>` runtime shape, and a caller asking for a
|
|
565
|
+
// richer description (e.g. the generated `CustomDB`) is asserting that
|
|
566
|
+
// description is compatible with what actually comes back at runtime.
|
|
567
|
+
// This is the single internal cast `TDb` exists to replace every
|
|
568
|
+
// consumer-side `as unknown as` with (#1328).
|
|
562
569
|
db: db,
|
|
563
570
|
session,
|
|
564
571
|
prisma,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,33 @@ import type { StackContext } from './index.js';
|
|
|
8
8
|
* {@link AfterTask}s that {@link runAfterTasks} runs once the parent has
|
|
9
9
|
* persisted. See ADR-0010 for the full mechanism.
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* Thrown when a non-sudo write's payload carries a nested `set`, `updateMany`
|
|
13
|
+
* or `deleteMany` under a relationship key (#1384). These three kinds were
|
|
14
|
+
* historically a pass-through straight to Prisma: the target list's
|
|
15
|
+
* `operation.update`/`operation.delete` access was never consulted, no hooks
|
|
16
|
+
* ran, and an unscoped `updateMany`/`deleteMany` `where` reached rows well
|
|
17
|
+
* outside the parent's own subtree. ADR-0050 removes nested relation input
|
|
18
|
+
* from the secured write surface entirely on the `prisma-8` line, so building
|
|
19
|
+
* per-kind access machinery for these three kinds on `main` would be work
|
|
20
|
+
* that major deletes wholesale — this refuses them instead, an interim
|
|
21
|
+
* fail-closed fix mirroring ADR-0050's own refusal shape.
|
|
22
|
+
*
|
|
23
|
+
* The refusal fires before any part of the write executes, so a payload
|
|
24
|
+
* mixing a refused kind with a permitted one persists nothing. `sudo()`
|
|
25
|
+
* still accepts all three kinds unchanged — the same escape hatch every
|
|
26
|
+
* other access-control refusal in this module leans on.
|
|
27
|
+
*
|
|
28
|
+
* Replacement: author the writes against the target list directly, via
|
|
29
|
+
* `context.db.<targetList>`, wrapped in `context.transaction` when they must
|
|
30
|
+
* land atomically with this write.
|
|
31
|
+
*/
|
|
32
|
+
export declare class NestedRelationInputError extends Error {
|
|
33
|
+
listKey: string;
|
|
34
|
+
fieldKey: string;
|
|
35
|
+
kinds: readonly string[];
|
|
36
|
+
constructor(listKey: string, fieldKey: string, kinds: readonly string[]);
|
|
37
|
+
}
|
|
11
38
|
/** A deferred nested `afterOperation` task, run once the parent has persisted. */
|
|
12
39
|
export interface AfterTask {
|
|
13
40
|
/** Field name on the parent linking to the related list (for include lookup). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested-operations.d.ts","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA0B9C;;;;;;;GAOG;AAEH,kFAAkF;AAClF,MAAM,WAAW,SAAS;IACxB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,uEAAuE;IACvE,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,wEAAwE;IACxE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B;
|
|
1
|
+
{"version":3,"file":"nested-operations.d.ts","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA0B9C;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IAE/B,YAAY,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EActE;CACF;AAKD,kFAAkF;AAClF,MAAM,WAAW,SAAS;IACxB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,uEAAuE;IACvE,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,wEAAwE;IACxE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B;AA+tCD;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,EAC3C,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAGvD,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAqB,GAC/D,OAAO,CAAC,eAAe,CAAC,CAuF1B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,SAAS,EAAE,EACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -3,6 +3,55 @@ import { checkFieldAccess } from '../access/field-access.js';
|
|
|
3
3
|
import { executeResolveInput, executeValidate, executeFieldResolveInputHooks, executeBeforeOperation, executeAfterOperation, executeFieldBeforeOperationHooks, executeFieldAfterOperationHooks, executeFieldValidateHooks, validateFieldRules, splitMultiColumnFields, ValidationError, } from '../hooks/index.js';
|
|
4
4
|
import { getDbKey } from '../lib/case-utils.js';
|
|
5
5
|
import { applyCreateDefaults } from './apply-defaults.js';
|
|
6
|
+
/**
|
|
7
|
+
* Nested writes (#569 / ADR-0010): give nested `create`/`update`/`delete` the
|
|
8
|
+
* same before/afterOperation hooks as an equivalent top-level write, inside
|
|
9
|
+
* the one transaction the Write Pipeline opens. `processNestedOperations`
|
|
10
|
+
* transforms the payload and runs `beforeOperation`, returning deferred
|
|
11
|
+
* {@link AfterTask}s that {@link runAfterTasks} runs once the parent has
|
|
12
|
+
* persisted. See ADR-0010 for the full mechanism.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Thrown when a non-sudo write's payload carries a nested `set`, `updateMany`
|
|
16
|
+
* or `deleteMany` under a relationship key (#1384). These three kinds were
|
|
17
|
+
* historically a pass-through straight to Prisma: the target list's
|
|
18
|
+
* `operation.update`/`operation.delete` access was never consulted, no hooks
|
|
19
|
+
* ran, and an unscoped `updateMany`/`deleteMany` `where` reached rows well
|
|
20
|
+
* outside the parent's own subtree. ADR-0050 removes nested relation input
|
|
21
|
+
* from the secured write surface entirely on the `prisma-8` line, so building
|
|
22
|
+
* per-kind access machinery for these three kinds on `main` would be work
|
|
23
|
+
* that major deletes wholesale — this refuses them instead, an interim
|
|
24
|
+
* fail-closed fix mirroring ADR-0050's own refusal shape.
|
|
25
|
+
*
|
|
26
|
+
* The refusal fires before any part of the write executes, so a payload
|
|
27
|
+
* mixing a refused kind with a permitted one persists nothing. `sudo()`
|
|
28
|
+
* still accepts all three kinds unchanged — the same escape hatch every
|
|
29
|
+
* other access-control refusal in this module leans on.
|
|
30
|
+
*
|
|
31
|
+
* Replacement: author the writes against the target list directly, via
|
|
32
|
+
* `context.db.<targetList>`, wrapped in `context.transaction` when they must
|
|
33
|
+
* land atomically with this write.
|
|
34
|
+
*/
|
|
35
|
+
export class NestedRelationInputError extends Error {
|
|
36
|
+
listKey;
|
|
37
|
+
fieldKey;
|
|
38
|
+
kinds;
|
|
39
|
+
constructor(listKey, fieldKey, kinds) {
|
|
40
|
+
const kindList = kinds.map((kind) => `"${kind}"`).join(', ');
|
|
41
|
+
super(`Cannot write "${listKey}.${fieldKey}" — this payload carries a nested ${kindList} ` +
|
|
42
|
+
`operation, which non-sudo contexts no longer accept (#1384): the target list's access ` +
|
|
43
|
+
`rules were never consulted for these kinds. Author the writes against the target list ` +
|
|
44
|
+
`directly (\`context.db.<targetList>\`), wrapped in \`context.transaction\` when they must ` +
|
|
45
|
+
`land atomically with this write, or use \`context.sudo()\` if this write is trusted to ` +
|
|
46
|
+
`bypass the target list's access entirely.`);
|
|
47
|
+
this.name = 'NestedRelationInputError';
|
|
48
|
+
this.listKey = listKey;
|
|
49
|
+
this.fieldKey = fieldKey;
|
|
50
|
+
this.kinds = kinds;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Nested-op kinds refused outright for non-sudo contexts. See {@link NestedRelationInputError}. */
|
|
54
|
+
const REFUSED_KINDS = ['set', 'updateMany', 'deleteMany'];
|
|
6
55
|
function isRelationshipField(fieldConfig) {
|
|
7
56
|
return fieldConfig?.type === 'relationship';
|
|
8
57
|
}
|
|
@@ -197,29 +246,42 @@ relatedListConfig, context, config, prisma, afterTasks, recovery) {
|
|
|
197
246
|
return Array.isArray(items) ? processedItems : processedItems[0];
|
|
198
247
|
}
|
|
199
248
|
/**
|
|
200
|
-
* Verify that a single connection
|
|
249
|
+
* Verify that a single connection (or, for `disconnect`, disconnection)
|
|
250
|
+
* target is reachable for the caller.
|
|
251
|
+
*
|
|
252
|
+
* Both directions reference an existing row rather than modifying it, so —
|
|
253
|
+
* mirroring Keystone — they require **read/query** access on the target
|
|
254
|
+
* (#578/#1384), not update. A filter-result query access is evaluated in the
|
|
255
|
+
* DATABASE via `findFirst({ where: { AND: [connection, accessFilter] } })`
|
|
256
|
+
* rather than in memory, so it correctly handles arbitrary nested-relation
|
|
257
|
+
* predicates and boolean combinators; a non-existent id is folded into the
|
|
258
|
+
* same check.
|
|
201
259
|
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
* boolean combinators; a non-existent id is folded into the same check.
|
|
260
|
+
* For `connect` (the default, `action: 'connect'`), the OWNING relationship
|
|
261
|
+
* field's field-level access (e.g. `Post.author`'s `create`/`update` access)
|
|
262
|
+
* must ADDITIONALLY permit the connect (#588) — the other half Keystone
|
|
263
|
+
* requires: read access on the target AND write access on the owning field. A
|
|
264
|
+
* deny here denies the connect even when the target row is readable/reachable.
|
|
208
265
|
*
|
|
209
|
-
*
|
|
210
|
-
* `
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
266
|
+
* For `disconnect` (`action: 'disconnect'`), the caller passes
|
|
267
|
+
* `owningFieldAccess: undefined`, which makes this second gate a no-op
|
|
268
|
+
* (`checkFieldAccess` defaults an absent rule to allow) — deliberately: the
|
|
269
|
+
* owning field's write access is already enforced by Phase 5's
|
|
270
|
+
* `filterWritableFields` before nested-op processing ever sees this payload,
|
|
271
|
+
* so re-running it here would only duplicate that gate, not add one. See
|
|
272
|
+
* {@link processNestedDisconnect}.
|
|
214
273
|
*
|
|
215
274
|
* Sudo bypasses the entire check (handled by the caller).
|
|
216
275
|
*/
|
|
217
276
|
async function verifyConnectReachable(connection, relatedListName,
|
|
218
277
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
219
|
-
relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclosingItem, enclosingInputData) {
|
|
278
|
+
relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclosingItem, enclosingInputData, action = 'connect') {
|
|
220
279
|
// Access Prisma model dynamically - required because model names are generated at runtime
|
|
221
280
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
222
281
|
const model = prisma[getDbKey(relatedListName)];
|
|
282
|
+
const deniedMessage = action === 'connect'
|
|
283
|
+
? 'Access denied: Cannot connect to this item'
|
|
284
|
+
: 'Access denied: Cannot disconnect from this item';
|
|
223
285
|
// #588 owning-field gate (see docblock above). `item`/`inputData` are the
|
|
224
286
|
// ENCLOSING write's `originalItem`/`inputData` — the same values the canonical
|
|
225
287
|
// Phase-5 `filterWritableFields` call passes for this field — so an
|
|
@@ -231,7 +293,7 @@ relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclo
|
|
|
231
293
|
context,
|
|
232
294
|
});
|
|
233
295
|
if (!owningFieldAllowed) {
|
|
234
|
-
throw new Error(
|
|
296
|
+
throw new Error(deniedMessage);
|
|
235
297
|
}
|
|
236
298
|
const queryAccess = relatedListConfig.access?.operation?.query;
|
|
237
299
|
const accessResult = await checkAccess(queryAccess, {
|
|
@@ -239,13 +301,13 @@ relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclo
|
|
|
239
301
|
context,
|
|
240
302
|
});
|
|
241
303
|
if (accessResult === false) {
|
|
242
|
-
throw new Error(
|
|
304
|
+
throw new Error(deniedMessage);
|
|
243
305
|
}
|
|
244
306
|
// Full access still verifies the row exists, to keep "Item not found" behaviour.
|
|
245
307
|
if (accessResult === true) {
|
|
246
308
|
const item = await model.findUnique({ where: connection });
|
|
247
309
|
if (!item) {
|
|
248
|
-
throw new Error(`Cannot
|
|
310
|
+
throw new Error(`Cannot ${action}: Item not found`);
|
|
249
311
|
}
|
|
250
312
|
return;
|
|
251
313
|
}
|
|
@@ -255,7 +317,7 @@ relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclo
|
|
|
255
317
|
where: { AND: [connection, accessResult] },
|
|
256
318
|
});
|
|
257
319
|
if (!reachable) {
|
|
258
|
-
throw new Error(
|
|
320
|
+
throw new Error(deniedMessage);
|
|
259
321
|
}
|
|
260
322
|
}
|
|
261
323
|
/**
|
|
@@ -274,6 +336,35 @@ relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclo
|
|
|
274
336
|
}
|
|
275
337
|
return connections;
|
|
276
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Process a nested `disconnect` (#1384).
|
|
341
|
+
*
|
|
342
|
+
* `{ disconnect: true }` — the to-one boolean form — nulls the foreign key on
|
|
343
|
+
* the row already being updated; that row's own update access has already
|
|
344
|
+
* been checked (by the enclosing write), so it is left permitted, unchanged,
|
|
345
|
+
* with no target-list check. This is the form the admin UI's `removeRelated`
|
|
346
|
+
* action emits for a to-one back-reference (ADR-0018).
|
|
347
|
+
*
|
|
348
|
+
* `{ disconnect: { <criteria> } }` — or an array of criteria, for a to-many —
|
|
349
|
+
* names a target row on the OTHER list. This requires that target's
|
|
350
|
+
* `operation.query` access, Keystone's semantic, reusing `verifyConnectReachable`
|
|
351
|
+
* (see its docblock for why the owning-field gate is skipped here) rather than
|
|
352
|
+
* a second reachability check.
|
|
353
|
+
*/
|
|
354
|
+
async function processNestedDisconnect(value, relatedListName,
|
|
355
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
356
|
+
relatedListConfig, context, prisma, enclosingOperation) {
|
|
357
|
+
if (value === true || context._isSudo) {
|
|
358
|
+
return value;
|
|
359
|
+
}
|
|
360
|
+
const criteriaArray = Array.isArray(value)
|
|
361
|
+
? value
|
|
362
|
+
: [value];
|
|
363
|
+
for (const criteria of criteriaArray) {
|
|
364
|
+
await verifyConnectReachable(criteria, relatedListName, relatedListConfig, context, prisma, undefined, enclosingOperation, undefined, undefined, 'disconnect');
|
|
365
|
+
}
|
|
366
|
+
return value;
|
|
367
|
+
}
|
|
277
368
|
/**
|
|
278
369
|
* Re-check a nested update/delete access result against the target row,
|
|
279
370
|
* mirroring the Write Pipeline's `resolveExistingTarget` (#1081): `false`
|
|
@@ -549,10 +640,19 @@ const CREATING_KINDS = new Set(['create', 'connectOrCreate']);
|
|
|
549
640
|
*
|
|
550
641
|
* Kinds that run the full hook pipeline (`create`, `update`, `delete`, and the
|
|
551
642
|
* create branch of `connectOrCreate`) run `beforeOperation` inline and register
|
|
552
|
-
* deferred `afterOperation` tasks. `connect`/`connectOrCreate`'s connect branch
|
|
553
|
-
* enforce access only
|
|
554
|
-
*
|
|
555
|
-
*
|
|
643
|
+
* deferred `afterOperation` tasks. `connect`/`connectOrCreate`'s connect branch,
|
|
644
|
+
* and `disconnect`'s target-row form, enforce access only — no hooks (#1384;
|
|
645
|
+
* this settles the `disconnect` half of #569's original scope note, which is
|
|
646
|
+
* now closed).
|
|
647
|
+
*
|
|
648
|
+
* `set`, `updateMany` and `deleteMany` are refused outright for non-sudo
|
|
649
|
+
* contexts before dispatch even reaches this registry (see `REFUSED_KINDS` /
|
|
650
|
+
* {@link NestedRelationInputError} near the top of this file) rather than
|
|
651
|
+
* given their own access machinery — ADR-0050 removes nested relation input
|
|
652
|
+
* from the secured write surface entirely on the `prisma-8` line, so that
|
|
653
|
+
* machinery would be built into a module the next major deletes wholesale.
|
|
654
|
+
* Their entries below therefore only ever run under `sudo()`, where they
|
|
655
|
+
* remain an unchecked, hook-free pass-through to Prisma, unchanged.
|
|
556
656
|
*/
|
|
557
657
|
const nestedOpRegistry = {
|
|
558
658
|
create: {
|
|
@@ -576,9 +676,14 @@ const nestedOpRegistry = {
|
|
|
576
676
|
needsInclude: false,
|
|
577
677
|
execute: ({ value, relatedListName, relatedListConfig, context, prisma, afterTasks }) => processNestedDelete(value, relatedListName, relatedListConfig, context, prisma, afterTasks),
|
|
578
678
|
},
|
|
579
|
-
//
|
|
580
|
-
//
|
|
581
|
-
disconnect: {
|
|
679
|
+
// Gated pass-through: no hooks, but the target-row form requires the target
|
|
680
|
+
// list's operation.query access (#1384). See processNestedDisconnect.
|
|
681
|
+
disconnect: {
|
|
682
|
+
needsInclude: false,
|
|
683
|
+
execute: ({ value, relatedListName, relatedListConfig, context, prisma, enclosingOperation }) => processNestedDisconnect(value, relatedListName, relatedListConfig, context, prisma, enclosingOperation),
|
|
684
|
+
},
|
|
685
|
+
// Refused for non-sudo before dispatch reaches here (see REFUSED_KINDS) —
|
|
686
|
+
// these entries only ever run under sudo, as an unchecked pass-through.
|
|
582
687
|
deleteMany: { needsInclude: false, execute: ({ value }) => Promise.resolve(value) },
|
|
583
688
|
set: { needsInclude: false, execute: ({ value }) => Promise.resolve(value) },
|
|
584
689
|
updateMany: { needsInclude: false, execute: ({ value }) => Promise.resolve(value) },
|
|
@@ -603,6 +708,17 @@ const nestedOpOrder = [
|
|
|
603
708
|
* the {@link nestedOpRegistry}.
|
|
604
709
|
*/
|
|
605
710
|
async function processFieldNestedOps(fieldName, valueRecord, args, includeFields, parentListName, parentOriginalItem) {
|
|
711
|
+
// Refuse a non-sudo payload carrying a refused kind BEFORE any part of the
|
|
712
|
+
// write executes — including before another kind on this same field
|
|
713
|
+
// dispatches (see NestedRelationInputError's docblock). Collects every
|
|
714
|
+
// refused kind present so a payload mixing e.g. `set` and `updateMany`
|
|
715
|
+
// reports both in one error, not just the first found.
|
|
716
|
+
if (!args.context._isSudo) {
|
|
717
|
+
const refusedKinds = REFUSED_KINDS.filter((kind) => valueRecord[kind] !== undefined);
|
|
718
|
+
if (refusedKinds.length > 0) {
|
|
719
|
+
throw new NestedRelationInputError(parentListName, fieldName, refusedKinds);
|
|
720
|
+
}
|
|
721
|
+
}
|
|
606
722
|
const nestedOp = {};
|
|
607
723
|
// Created-row recovery is only needed when this field has a creating kind
|
|
608
724
|
// (`create`/`connectOrCreate`). When present it requires a pre-persist read of
|