Transfer scope: shares-only by default, estate summary, full handover explicit (#597 scope) #655
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-scope"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the approved departed-transfer-scope-rev1 mockup, both halves.
Backend
POST /admin/owners/transfergainsscope: "all" | "shares"(missing = all, back-compatible). Shares-only moves the deduplicated, nesting-pruned grant paths through the move chokepoint into/home/<to>/<from>/…, re-points those grants atomically via the newFileStore.RepointGrantsMulti(multi-prefix, refuse-whole contract — the single-prefix form would refuse any owner with two shared paths), pre-checks quota on the shared subset, and reportsremaining: true. Public links untouched: frozen with the remainder, not broken.GET /admin/owners/estate?user=: lazy size walk with shared/remainder split, cached ~5 min per owner, invalidated by transfers, refused for living accounts (an admin does not casually size a colleague's home).ownersDepartedalso lists estate-only owners (non-empty home, no records) — a shares-only transfer or revoke-all can never hide the leftover estate.Frontend
Decisions honoured from the mockup review: shared folders bring their contents; delete-remaining stays out (tracked in #654, cross-referenced); estate size computed lazily per row, never on page load.
Tests: internal/share/repoint_multi_test.go, internal/api/owners_scope_test.go, web/test/xferscope.test.js.