@opensaas/stack-core 0.40.0 → 0.42.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 +65 -0
- package/CLAUDE.md +52 -0
- package/dist/access/access-filter.d.ts +88 -18
- package/dist/access/access-filter.d.ts.map +1 -1
- package/dist/access/access-filter.js +343 -36
- package/dist/access/access-filter.js.map +1 -1
- package/dist/access/access-filter.test.js +759 -6
- package/dist/access/access-filter.test.js.map +1 -1
- package/dist/access/denied-relation-visibility.test.d.ts +2 -0
- package/dist/access/denied-relation-visibility.test.d.ts.map +1 -0
- package/dist/access/denied-relation-visibility.test.js +114 -0
- package/dist/access/denied-relation-visibility.test.js.map +1 -0
- package/dist/access/engine.d.ts +11 -0
- package/dist/access/engine.d.ts.map +1 -1
- package/dist/access/engine.js +26 -0
- package/dist/access/engine.js.map +1 -1
- package/dist/access/errors.d.ts +34 -0
- package/dist/access/errors.d.ts.map +1 -1
- package/dist/access/errors.js +47 -0
- package/dist/access/errors.js.map +1 -1
- package/dist/access/field-visibility.d.ts +2 -2
- package/dist/access/field-visibility.d.ts.map +1 -1
- package/dist/access/field-visibility.js +73 -23
- package/dist/access/field-visibility.js.map +1 -1
- package/dist/access/index.d.ts +7 -3
- package/dist/access/index.d.ts.map +1 -1
- package/dist/access/index.js +9 -2
- package/dist/access/index.js.map +1 -1
- package/dist/access/multi-column-read-write.test.js.map +1 -1
- package/dist/access/query-validation.d.ts +31 -0
- package/dist/access/query-validation.d.ts.map +1 -1
- package/dist/access/query-validation.js +75 -16
- package/dist/access/query-validation.js.map +1 -1
- package/dist/access/relationship-count.d.ts +41 -3
- package/dist/access/relationship-count.d.ts.map +1 -1
- package/dist/access/relationship-count.js +44 -7
- package/dist/access/relationship-count.js.map +1 -1
- package/dist/access/relationship-count.test.js +62 -0
- package/dist/access/relationship-count.test.js.map +1 -1
- package/dist/access/synthetic-include-read.test.d.ts +2 -0
- package/dist/access/synthetic-include-read.test.d.ts.map +1 -0
- package/dist/access/synthetic-include-read.test.js +121 -0
- package/dist/access/synthetic-include-read.test.js.map +1 -0
- package/dist/config/types.d.ts +70 -58
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context/hook-pipeline.d.ts +2 -2
- package/dist/context/hook-pipeline.d.ts.map +1 -1
- package/dist/context/hook-pipeline.js.map +1 -1
- package/dist/context/index.d.ts +16 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +76 -26
- package/dist/context/index.js.map +1 -1
- package/dist/context/nested-operations.d.ts +2 -2
- package/dist/context/nested-operations.d.ts.map +1 -1
- package/dist/context/nested-operations.js +21 -3
- package/dist/context/nested-operations.js.map +1 -1
- package/dist/context/write-pipeline.d.ts.map +1 -1
- package/dist/context/write-pipeline.js +23 -29
- package/dist/context/write-pipeline.js.map +1 -1
- package/dist/hooks/index.d.ts +16 -15
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/package.json +2 -2
- package/src/access/access-filter.test.ts +1403 -159
- package/src/access/access-filter.ts +525 -47
- package/src/access/denied-relation-visibility.test.ts +173 -0
- package/src/access/engine.ts +28 -0
- package/src/access/errors.ts +55 -0
- package/src/access/field-visibility.ts +105 -24
- package/src/access/index.ts +11 -0
- package/src/access/multi-column-read-write.test.ts +3 -2
- package/src/access/query-validation.ts +136 -9
- package/src/access/relationship-count.test.ts +75 -0
- package/src/access/relationship-count.ts +53 -10
- package/src/access/synthetic-include-read.test.ts +179 -0
- package/src/config/types.ts +76 -50
- package/src/context/hook-pipeline.ts +4 -2
- package/src/context/index.ts +120 -39
- package/src/context/nested-operations.ts +35 -11
- package/src/context/write-pipeline.ts +52 -32
- package/src/hooks/index.ts +22 -15
- package/tests/context.test.ts +193 -5
- package/tests/hook-context-secured.test.ts +424 -0
- package/tests/nested-access-and-hooks.test.ts +324 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ListConfig } from '../config/types.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { StackContext } from './index.js';
|
|
3
3
|
/**
|
|
4
4
|
* The transform+validate span of a write. See the "Hook Pipeline" and "Write
|
|
5
5
|
* Pipeline" glossary terms in CONTEXT.md for the full phase order and the
|
|
@@ -12,7 +12,7 @@ export interface HookPipelineArgs {
|
|
|
12
12
|
listConfig: ListConfig<any>;
|
|
13
13
|
inputData: Record<string, unknown>;
|
|
14
14
|
item: Record<string, unknown> | undefined;
|
|
15
|
-
context:
|
|
15
|
+
context: StackContext;
|
|
16
16
|
}
|
|
17
17
|
export interface HookPipelineResult {
|
|
18
18
|
resolvedData: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-pipeline.d.ts","sourceRoot":"","sources":["../../src/context/hook-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"hook-pipeline.d.ts","sourceRoot":"","sources":["../../src/context/hook-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAY9C;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAEhB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAGzC,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACzD;AAgGD,eAAO,MAAM,YAAY,EAAE,YAE1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-pipeline.js","sourceRoot":"","sources":["../../src/context/hook-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"hook-pipeline.js","sourceRoot":"","sources":["../../src/context/hook-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AA6BzD,KAAK,UAAU,eAAe,CAAC,IAAsB;IACnD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAE1E,IAAI,YAAY,GAAG,MAAM,mBAAmB,CAC1C,UAAU,CAAC,KAAK,EAChB,SAAS,KAAK,QAAQ;QACpB,CAAC,CAAC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,SAAS;YACT,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,SAAS;YACf,OAAO;SACR;QACH,CAAC,CAAC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,SAAS;YACT,YAAY,EAAE,SAAS;YACvB,IAAI;YACJ,OAAO;SACR,CACN,CAAA;IAED,YAAY,GAAG,MAAM,6BAA6B,CAChD,SAAS,EACT,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,CACL,CAAA;IAED,gEAAgE;IAChE,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,eAAe,CACnB,UAAU,CAAC,KAAK,EAChB,SAAS,KAAK,QAAQ;QACpB,CAAC,CAAC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,SAAS;YACT,YAAY;YACZ,IAAI,EAAE,SAAS;YACf,OAAO;SACR;QACH,CAAC,CAAC;YACE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,SAAS;YACT,YAAY;YACZ,IAAI;YACJ,OAAO;SACR,CACN,CAAA;IAED,MAAM,yBAAyB,CAC7B,SAAS,EACT,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,CACL,CAAA;IAED,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACjF,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IACtE,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,oEAAoE;IACpE,YAAY,GAAG,MAAM,sBAAsB,CACzC,SAAS,EACT,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,SAAS,EACT,OAAO,EACP,IAAI,CACL,CAAA;IAED,OAAO,EAAE,YAAY,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,GAAG,EAAE,eAAe;CACrB,CAAA"}
|
package/dist/context/index.d.ts
CHANGED
|
@@ -125,8 +125,23 @@ export interface StackContext<TPrisma extends PrismaClientLike = PrismaClientLik
|
|
|
125
125
|
*/
|
|
126
126
|
withSession: (session: Session | null) => StackContext<TPrisma>;
|
|
127
127
|
_isSudo: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* @internal Present so a hook-bound `StackContext` (issue #1176) satisfies
|
|
130
|
+
* {@link AccessContext} and can be threaded through the same internal
|
|
131
|
+
* write-pipeline/access plumbing that a plain `AccessContext` is — see
|
|
132
|
+
* `_resolveOutputChain` on `AccessContext` for what this tracks.
|
|
133
|
+
*/
|
|
134
|
+
_resolveOutputChain: readonly {
|
|
135
|
+
listKey: string;
|
|
136
|
+
fieldKey: string;
|
|
137
|
+
}[];
|
|
138
|
+
/** @internal See `_transactionOwner` on `AccessContext`. */
|
|
139
|
+
_transactionOwner?: TransactionRegistry;
|
|
128
140
|
}
|
|
129
|
-
export declare function getContext<TConfig extends OpenSaasConfig, TPrisma extends PrismaClientLike = PrismaClientLike>(config: TConfig, prisma: TPrisma, session: Session | null, storage?: StorageUtils, _isSudo?: boolean, _sharedPlugins?: Record<string, unknown>, _transactionOwner?: TransactionRegistry
|
|
141
|
+
export declare function getContext<TConfig extends OpenSaasConfig, TPrisma extends PrismaClientLike = PrismaClientLike>(config: TConfig, prisma: TPrisma, session: Session | null, storage?: StorageUtils, _isSudo?: boolean, _sharedPlugins?: Record<string, unknown>, _transactionOwner?: TransactionRegistry, _resolveOutputChain?: readonly {
|
|
142
|
+
listKey: string;
|
|
143
|
+
fieldKey: string;
|
|
144
|
+
}[]): StackContext<TPrisma>;
|
|
130
145
|
/**
|
|
131
146
|
* Populate `target` with the access-controlled CRUD operations for every list,
|
|
132
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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
|
package/dist/context/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkAccess, mergeFilters, filterReadableFields, buildAccessScopedInclude, buildAccessScopedWhere, stripVirtualFieldsFromInclude, foldDeclaredDependencies, validateQueryKeys, validateQueryFieldReadAccess, resolveToOneAccessVisibility, emptyToOneAccessFilterTree, } from '../access/index.js';
|
|
1
|
+
import { checkAccess, mergeFilters, filterReadableFields, buildAccessScopedInclude, buildAccessScopedWhere, stripVirtualFieldsFromInclude, foldDeclaredDependencies, validateQueryKeys, validateQueryFieldReadAccess, resolveToOneAccessVisibility, emptyToOneAccessFilterTree, emptyCountAccessDenialTree, } from '../access/index.js';
|
|
2
2
|
import { ValidationError, DatabaseError } from '../hooks/index.js';
|
|
3
3
|
import { getDbKey } from '../lib/case-utils.js';
|
|
4
4
|
import { uniqueConstraintOf } from '../lib/prisma-errors.js';
|
|
@@ -174,7 +174,12 @@ _sharedPlugins,
|
|
|
174
174
|
// Internal (ADR-0028, #899): when rebuilding the context for a transaction
|
|
175
175
|
// owner's callback body, carry the deferral registry so writes reached
|
|
176
176
|
// through this context join it instead of firing afterTransaction eagerly.
|
|
177
|
-
_transactionOwner
|
|
177
|
+
_transactionOwner,
|
|
178
|
+
// Internal (ADR-0023, issue #1176): when rebuilding the context for a
|
|
179
|
+
// hook-bound write (or a derived `sudo()`/`withSession()` of one), carry the
|
|
180
|
+
// resolve chain forward so a write issued from inside a `resolveOutput` hook
|
|
181
|
+
// keeps that hook's cycle-guard chain instead of resetting to empty.
|
|
182
|
+
_resolveOutputChain) {
|
|
178
183
|
// Broad type to allow dynamic model access; populated by populateDbDelegate below.
|
|
179
184
|
const db = {};
|
|
180
185
|
const context = {
|
|
@@ -199,7 +204,7 @@ _transactionOwner) {
|
|
|
199
204
|
// client, otherwise start empty and populate via plugin runtimes below.
|
|
200
205
|
plugins: _sharedPlugins ?? {},
|
|
201
206
|
_isSudo,
|
|
202
|
-
_resolveOutputChain: [],
|
|
207
|
+
_resolveOutputChain: _resolveOutputChain ?? [],
|
|
203
208
|
_transactionOwner,
|
|
204
209
|
};
|
|
205
210
|
populateDbDelegate(db, config, prisma, context);
|
|
@@ -511,7 +516,11 @@ _transactionOwner) {
|
|
|
511
516
|
return getContext(config, prisma, session, context.storage, true, undefined,
|
|
512
517
|
// ADR-0028: a sudo write issued from inside an owned transaction (e.g.
|
|
513
518
|
// `tx.sudo().db.x.create()`) must still defer to that owner.
|
|
514
|
-
context._transactionOwner
|
|
519
|
+
context._transactionOwner,
|
|
520
|
+
// #1176: carry the resolve chain forward so a `context.sudo()` called
|
|
521
|
+
// from inside a `resolveOutput` hook keeps that hook's cycle-guard
|
|
522
|
+
// chain (ADR-0023) rather than resetting to empty.
|
|
523
|
+
context._resolveOutputChain);
|
|
515
524
|
}
|
|
516
525
|
// Substitutes the session; access control and hooks still run against it
|
|
517
526
|
// (orthogonal to `sudo`, so the receiver's sudo state is preserved).
|
|
@@ -519,7 +528,9 @@ _transactionOwner) {
|
|
|
519
528
|
return getContext(config, prisma, newSession, context.storage, _isSudo, undefined,
|
|
520
529
|
// ADR-0028: a write issued from inside an owned transaction (e.g.
|
|
521
530
|
// `tx.withSession(s).db.x.create()`) must still defer to that owner.
|
|
522
|
-
context._transactionOwner
|
|
531
|
+
context._transactionOwner,
|
|
532
|
+
// #1176: see the identical comment in `sudo()` above.
|
|
533
|
+
context._resolveOutputChain);
|
|
523
534
|
}
|
|
524
535
|
// Interactive, hook-firing transaction (#614). See the `transaction` doc on
|
|
525
536
|
// `StackContext` above for the atomicity/isolation/retry contract.
|
|
@@ -543,8 +554,8 @@ _transactionOwner) {
|
|
|
543
554
|
// inside one — see `TransactionCapable` above). Run directly: hook/
|
|
544
555
|
// access semantics are identical, atomicity comes from the enclosing
|
|
545
556
|
// transaction.
|
|
546
|
-
fn(getContext(config, prisma, session, context.storage, _isSudo, context.plugins, registry))
|
|
547
|
-
: client.$transaction((tx) => fn(getContext(config, tx, session, context.storage, _isSudo, context.plugins, registry)), options);
|
|
557
|
+
fn(getContext(config, prisma, session, context.storage, _isSudo, context.plugins, registry, context._resolveOutputChain))
|
|
558
|
+
: client.$transaction((tx) => fn(getContext(config, tx, session, context.storage, _isSudo, context.plugins, registry, context._resolveOutputChain)), options);
|
|
548
559
|
return settleTransactionOwner(settled, registry);
|
|
549
560
|
}
|
|
550
561
|
const returned = {
|
|
@@ -558,6 +569,12 @@ _transactionOwner) {
|
|
|
558
569
|
withSession,
|
|
559
570
|
transaction,
|
|
560
571
|
_isSudo,
|
|
572
|
+
// #1176: carried so a `StackContext` structurally satisfies `AccessContext`
|
|
573
|
+
// and can be handed, unchanged, to the internal write-pipeline/hook
|
|
574
|
+
// plumbing that a plain `AccessContext` was built for — see
|
|
575
|
+
// `bindContextToTransaction` in `write-pipeline.ts`.
|
|
576
|
+
_resolveOutputChain: context._resolveOutputChain,
|
|
577
|
+
_transactionOwner: context._transactionOwner,
|
|
561
578
|
};
|
|
562
579
|
return returned;
|
|
563
580
|
}
|
|
@@ -611,11 +628,12 @@ export function buildDbDelegate(config, prisma, context) {
|
|
|
611
628
|
* caller include / bare (ADR-0024) — while folding declared dependencies
|
|
612
629
|
* (`needs`, ADR-0025) into whichever of those the read is already using.
|
|
613
630
|
*
|
|
614
|
-
* A fragment's own `include` and a sudo caller's `include` are
|
|
615
|
-
*
|
|
616
|
-
* caller
|
|
617
|
-
*
|
|
618
|
-
*
|
|
631
|
+
* A non-sudo fragment's own `include` and a non-sudo caller's `include` are
|
|
632
|
+
* both folded and then scoped by `buildAccessScopedInclude` (ADR-0026) —
|
|
633
|
+
* caller-directed, so a relation named nowhere in the folded tree never has
|
|
634
|
+
* its list's `query` access evaluated at all (issue #1088: a fragment read
|
|
635
|
+
* used to skip this walk entirely). A sudo caller's `include` (fragment or
|
|
636
|
+
* not) is folded and used as-is, unscoped — sudo is unaffected. A bare read
|
|
619
637
|
* stays on the exact ADR-0024 path — `include: undefined`, no related
|
|
620
638
|
* `query` access evaluated — unless folding actually added something, which
|
|
621
639
|
* only happens when a field on this list declares `needs`.
|
|
@@ -629,9 +647,10 @@ export function buildDbDelegate(config, prisma, context) {
|
|
|
629
647
|
*
|
|
630
648
|
* Also returns `toOneAccessFilters` — the to-one relations `buildAccessScopedInclude`
|
|
631
649
|
* flagged as needing a post-query existence check rather than a Prisma-side
|
|
632
|
-
* `where` (issue #974). Only
|
|
633
|
-
* non-empty tree:
|
|
634
|
-
* access at all.
|
|
650
|
+
* `where` (issue #974). Only a non-sudo fragment or caller-include read can
|
|
651
|
+
* produce a non-empty tree: those are the only paths that evaluate a related
|
|
652
|
+
* list's `query` access at all. A sudo read and a bare read always return an
|
|
653
|
+
* empty tree.
|
|
635
654
|
*/
|
|
636
655
|
async function resolveReadInclude(callerInclude, fragmentFields, listName,
|
|
637
656
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
@@ -640,18 +659,49 @@ listConfig, context, config) {
|
|
|
640
659
|
const fragmentInclude = buildInclude(fragmentFields) ?? undefined;
|
|
641
660
|
const selection = buildFieldSelectionScope(fragmentFields);
|
|
642
661
|
const folded = foldDeclaredDependencies(fragmentInclude, listConfig.fields, config, listName, [listName], selection);
|
|
643
|
-
|
|
662
|
+
if (context._isSudo || !folded.include) {
|
|
663
|
+
return {
|
|
664
|
+
...folded,
|
|
665
|
+
selection,
|
|
666
|
+
toOneAccessFilters: emptyToOneAccessFilterTree(),
|
|
667
|
+
countDenials: emptyCountAccessDenialTree(),
|
|
668
|
+
};
|
|
669
|
+
}
|
|
670
|
+
const { include, toOneAccessFilters, countDenials } = await buildAccessScopedInclude(folded.include, listConfig.fields, { session: context.session, context }, config, listName);
|
|
671
|
+
return {
|
|
672
|
+
include,
|
|
673
|
+
declaredOnly: folded.declaredOnly,
|
|
674
|
+
selection,
|
|
675
|
+
toOneAccessFilters,
|
|
676
|
+
countDenials,
|
|
677
|
+
};
|
|
644
678
|
}
|
|
645
679
|
if (context._isSudo) {
|
|
646
680
|
const folded = foldDeclaredDependencies(callerInclude, listConfig.fields, config, listName);
|
|
647
|
-
return {
|
|
681
|
+
return {
|
|
682
|
+
...folded,
|
|
683
|
+
selection: undefined,
|
|
684
|
+
toOneAccessFilters: emptyToOneAccessFilterTree(),
|
|
685
|
+
countDenials: emptyCountAccessDenialTree(),
|
|
686
|
+
};
|
|
648
687
|
}
|
|
649
688
|
const folded = foldDeclaredDependencies(callerInclude, listConfig.fields, config, listName);
|
|
650
689
|
if (!folded.include) {
|
|
651
|
-
return {
|
|
690
|
+
return {
|
|
691
|
+
...folded,
|
|
692
|
+
selection: undefined,
|
|
693
|
+
toOneAccessFilters: emptyToOneAccessFilterTree(),
|
|
694
|
+
countDenials: emptyCountAccessDenialTree(),
|
|
695
|
+
};
|
|
652
696
|
}
|
|
653
|
-
const { include, toOneAccessFilters } = await buildAccessScopedInclude(folded.include, listConfig.fields, { session: context.session, context }, config, listName);
|
|
654
|
-
return {
|
|
697
|
+
const { include, toOneAccessFilters, countDenials } = await buildAccessScopedInclude(folded.include, listConfig.fields, { session: context.session, context }, config, listName);
|
|
698
|
+
return {
|
|
699
|
+
include,
|
|
700
|
+
declaredOnly: folded.declaredOnly,
|
|
701
|
+
selection: undefined,
|
|
702
|
+
toOneAccessFilters,
|
|
703
|
+
countDenials,
|
|
704
|
+
};
|
|
655
705
|
}
|
|
656
706
|
function createFindUnique(listName,
|
|
657
707
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
@@ -686,7 +736,7 @@ listConfig, prisma, context, config) {
|
|
|
686
736
|
// Resolve `include`, folding any declared dependencies (`needs`,
|
|
687
737
|
// ADR-0025) in alongside whatever the fragment/caller/sudo/bare path
|
|
688
738
|
// already produces — see `resolveReadInclude`'s doc comment.
|
|
689
|
-
let { include, declaredOnly, selection, toOneAccessFilters } = await resolveReadInclude(args.include, fragment ? fragment._fields : undefined, listName, listConfig, context, config);
|
|
739
|
+
let { include, declaredOnly, selection, toOneAccessFilters, countDenials } = await resolveReadInclude(args.include, fragment ? fragment._fields : undefined, listName, listConfig, context, config);
|
|
690
740
|
// Virtual fields have no database column. Whichever path produced
|
|
691
741
|
// `include` (fragment, access-controlled merge, or sudo passthrough), a
|
|
692
742
|
// virtual key must never reach Prisma — it would throw "Unknown field"
|
|
@@ -716,7 +766,7 @@ listConfig, prisma, context, config) {
|
|
|
716
766
|
const filtered = await filterReadableFields(item, listConfig.fields, {
|
|
717
767
|
session: context.session,
|
|
718
768
|
context: { ...context, _isSudo: context._isSudo },
|
|
719
|
-
}, config, 0, listName, declaredOnly, selection, toOneVisibility);
|
|
769
|
+
}, config, 0, listName, declaredOnly, selection, toOneVisibility, countDenials);
|
|
720
770
|
if (fragment) {
|
|
721
771
|
return pickFields(filtered, fragment._fields);
|
|
722
772
|
}
|
|
@@ -796,7 +846,7 @@ listConfig, prisma, context, config) {
|
|
|
796
846
|
// Resolve `include`, folding any declared dependencies (`needs`,
|
|
797
847
|
// ADR-0025) in alongside whatever the fragment/caller/sudo/bare path
|
|
798
848
|
// already produces — see `resolveReadInclude`'s doc comment.
|
|
799
|
-
let { include, declaredOnly, selection, toOneAccessFilters } = await resolveReadInclude(args?.include, fragment ? fragment._fields : undefined, listName, listConfig, context, config);
|
|
849
|
+
let { include, declaredOnly, selection, toOneAccessFilters, countDenials } = await resolveReadInclude(args?.include, fragment ? fragment._fields : undefined, listName, listConfig, context, config);
|
|
800
850
|
// Strips virtual keys from `include` before the Prisma call — see the
|
|
801
851
|
// `createFindUnique` comment above for why (#628, ADR-0027).
|
|
802
852
|
include = stripVirtualFieldsFromInclude(include, listConfig.fields, config);
|
|
@@ -822,7 +872,7 @@ listConfig, prisma, context, config) {
|
|
|
822
872
|
const filtered = await Promise.all(items.map((item) => filterReadableFields(item, listConfig.fields, {
|
|
823
873
|
session: context.session,
|
|
824
874
|
context: { ...context, _isSudo: context._isSudo },
|
|
825
|
-
}, config, 0, listName, declaredOnly, selection, toOneVisibility)));
|
|
875
|
+
}, config, 0, listName, declaredOnly, selection, toOneVisibility, countDenials)));
|
|
826
876
|
if (fragment) {
|
|
827
877
|
return filtered.map((item) => pickFields(item, fragment._fields));
|
|
828
878
|
}
|
|
@@ -1028,7 +1078,7 @@ createFn) {
|
|
|
1028
1078
|
// Resolve `include`, folding any declared dependencies (`needs`,
|
|
1029
1079
|
// ADR-0025) in alongside whatever the fragment/caller/sudo/bare path
|
|
1030
1080
|
// already produces — see `resolveReadInclude`'s doc comment.
|
|
1031
|
-
let { include, declaredOnly, selection, toOneAccessFilters } = await resolveReadInclude(args?.include, fragment ? fragment._fields : undefined, listName, listConfig, context, config);
|
|
1081
|
+
let { include, declaredOnly, selection, toOneAccessFilters, countDenials } = await resolveReadInclude(args?.include, fragment ? fragment._fields : undefined, listName, listConfig, context, config);
|
|
1032
1082
|
// Virtual fields have no database column and must never reach Prisma (#628).
|
|
1033
1083
|
include = stripVirtualFieldsFromInclude(include, listConfig.fields, config);
|
|
1034
1084
|
const item = await model.findFirst({
|
|
@@ -1045,7 +1095,7 @@ createFn) {
|
|
|
1045
1095
|
const filtered = await filterReadableFields(item, listConfig.fields, {
|
|
1046
1096
|
session: context.session,
|
|
1047
1097
|
context: { ...context, _isSudo: context._isSudo },
|
|
1048
|
-
}, config, 0, listName, declaredOnly, selection, toOneVisibility);
|
|
1098
|
+
}, config, 0, listName, declaredOnly, selection, toOneVisibility, countDenials);
|
|
1049
1099
|
if (fragment) {
|
|
1050
1100
|
return pickFields(filtered, fragment._fields);
|
|
1051
1101
|
}
|
|
@@ -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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { OpenSaasConfig, FieldConfig } from '../config/types.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { StackContext } from './index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Nested writes (#569 / ADR-0010): give nested `create`/`update`/`delete` the
|
|
5
5
|
* same before/afterOperation hooks as an equivalent top-level write, inside
|
|
@@ -35,7 +35,7 @@ export interface NestedOpsResult {
|
|
|
35
35
|
* collects deferred `afterOperation` tasks (run by the Write Pipeline after the
|
|
36
36
|
* parent persist via {@link runAfterTasks}). See ADR-0010.
|
|
37
37
|
*/
|
|
38
|
-
export declare function processNestedOperations(data: Record<string, unknown>, fieldConfigs: Record<string, FieldConfig>, config: OpenSaasConfig, context:
|
|
38
|
+
export declare function processNestedOperations(data: Record<string, unknown>, fieldConfigs: Record<string, FieldConfig>, config: OpenSaasConfig, context: StackContext & {
|
|
39
39
|
prisma: unknown;
|
|
40
40
|
}, operation: 'create' | 'update', parentListName: string, parentOriginalItem: Record<string, unknown> | undefined, parentInputData?: Record<string, unknown> | undefined): Promise<NestedOpsResult>;
|
|
41
41
|
/**
|
|
@@ -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;
|
|
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;AA4nCD;;;;;;;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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkAccess, checkCreateAccess, filterWritableFields, getRelatedListConfig, resolveSyntheticReverseRelation, } from '../access/index.js';
|
|
1
|
+
import { checkAccess, checkCreateAccess, filterWritableFields, getRelatedListConfig, mergeFilters, resolveSyntheticReverseRelation, } from '../access/index.js';
|
|
2
2
|
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';
|
|
@@ -274,6 +274,24 @@ relatedListConfig, context, prisma, owningFieldAccess, enclosingOperation, enclo
|
|
|
274
274
|
}
|
|
275
275
|
return connections;
|
|
276
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Re-check a nested update/delete access result against the target row,
|
|
279
|
+
* mirroring the Write Pipeline's `resolveExistingTarget` (#1081): `false`
|
|
280
|
+
* denies, `true` allows outright (the row's existence is already established
|
|
281
|
+
* by the caller's own `findUnique`), and a returned PrismaFilter must
|
|
282
|
+
* additionally match the row, re-checked in the DATABASE via
|
|
283
|
+
* `findFirst(mergeFilters(where, accessResult))` rather than in memory — the
|
|
284
|
+
* same requirement `connect`'s reachability check already applies (#578), so
|
|
285
|
+
* nested-relation predicates and boolean combinators are honoured correctly.
|
|
286
|
+
*/
|
|
287
|
+
async function isExistingTargetAccessible(model, where, accessResult) {
|
|
288
|
+
if (accessResult === false)
|
|
289
|
+
return false;
|
|
290
|
+
if (accessResult === true)
|
|
291
|
+
return true;
|
|
292
|
+
const matchesFilter = await model.findFirst({ where: mergeFilters(where, accessResult) ?? {} });
|
|
293
|
+
return matchesFilter !== null;
|
|
294
|
+
}
|
|
277
295
|
/**
|
|
278
296
|
* Process nested update operations.
|
|
279
297
|
*
|
|
@@ -303,7 +321,7 @@ relatedListConfig, context, config, prisma, afterTasks) {
|
|
|
303
321
|
item: originalItem,
|
|
304
322
|
context,
|
|
305
323
|
});
|
|
306
|
-
if (
|
|
324
|
+
if (!(await isExistingTargetAccessible(model, where, accessResult))) {
|
|
307
325
|
throw new Error('Access denied: Cannot update related item');
|
|
308
326
|
}
|
|
309
327
|
}
|
|
@@ -416,7 +434,7 @@ relatedListConfig, context, prisma, afterTasks) {
|
|
|
416
434
|
item: originalItem,
|
|
417
435
|
context,
|
|
418
436
|
});
|
|
419
|
-
if (
|
|
437
|
+
if (!(await isExistingTargetAccessible(model, where, accessResult))) {
|
|
420
438
|
throw new Error('Access denied: Cannot delete related item');
|
|
421
439
|
}
|
|
422
440
|
}
|