Conversation
Register Container, Folder, and File as a filesystem-shaped ReBAC tree using the current oncePeerUp authz lifecycle. Client file APIs no longer create missing containers. An omitted folder resolves to a personal cnd_<userId>/ folder, and creating under another user's missing personal root is denied. Fixes #1173 BREAKING CHANGE: Client storage APIs return 404 for missing containers instead of creating them. An omitted folder now creates cnd_<userId>/.
Share admin container/folder setup, resolve file ids consistently, and drop the unused getFileUrl fallback.
Keep implementation files in authz/ and handlers/ and collect the authz coverage in one dedicated test folder.
b7a5505 to
6104ff6
Compare
Skip can(edit) on leftover unowned folders and named containers, heal them on first write, and always stamp scope ?? User on File creates. Deny unmanaged cnd_<other>/ squats. No second flag and no reconstruct job. Old files are not backfilled. Sibling-file A1 scans were explicitly rejected.
Admin without scope still owns a folder via the container only. On the default container that locks Client users out; pass a scope when the folder should stay Client-writable.
What landed after the earlier rewrite (
|
This PR implements #1173. Please check in there for more details.
Breaking change:
Additional features:
cnd_${user._id}Bugs found & fixes:
Notes:
'/', otherwise they can own folders that can own folders or files, e.tc.What kind of change does this PR introduce?
Does this PR introduce a breaking change?
The PR fulfills these requirements:
mainbranchfix #xxx, where "xxx" is the issue number)If adding a new feature, the PR's description includes:
Other information: