Add fj admin and fj profile #280
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/spec-parity-admin-profile"
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?
Four fjord-client-spec requirements with nothing behind them on main:
three under forge-instance-administration and one under profiles.
fj admin settingsreads the four /settings/* sections and prints onlywhat the server sent; a section answering 404, 405 or 501 is labelled
unavailable.
fj admin cron listreads /admin/cron. A 403 is neverfolded into "unavailable": it reads as "requires an instance
administrator" and keeps exit code 4. Both are read-only.
fj admin user createneeds exactly one of --password-stdin,--password-prompt or --no-password, and explicit --send-notify and
--must-change-password choices. There is no --password flag. Stdin on a
TTY and a prompt without one are both refused, so it can neither echo
nor hang. /admin/users joins the sensitive paths, which keeps the
request body out of --debug, and credential-shaped keys are stripped
from the response before anything prints.
fj admin unadopted list|adopt|deletepage the unadopted repositories.The two mutations print the repository and the consequence, ask for the
name to be typed back, refuse a non-TTY run without --yes, and only say
"Server confirmed" after the 204.
fj profile view|edit,fj profile email list|add|removeandfj profile avatar set|delete. An edit sends only the fields that werepassed and warns about any the response does not reflect. Email
verification state comes from the server and prints "unknown" when it is
not reported. An avatar is checked for size and image magic bytes before
it is uploaded.
scripts/e2e-smoke.sh now runs
profile viewandprofile email list,so the smoke token needs the read:user scope.
Covered by unit and wiremock tests only; nothing here was run against a live forge, and the admin routes need a site administrator to check for real. The CI smoke token needs
read:userbefore the two newprofilelines inscripts/e2e-smoke.shpass.Part 3 of 8 in the spec-parity stack. Based on
feat/spec-parity-fjord, so the diff here is this slice alone; it needs a rebase onto main once the PR below it is squash-merged.Verified on macOS at this commit:
cargo fmt --allclean,cargo clippy --all-targets --all-features -- -D warningsclean,cargo test --allgreen.