nas-burnin/app/routes
Brandon Walter fc7fb4c714
Some checks are pending
Security scan / pip-audit (push) Waiting to run
Security scan / bandit (push) Waiting to run
Security scan / gitleaks (push) Waiting to run
Security scan / mypy (push) Waiting to run
refactor: extract settings routes (1.0.0-36)
Pulls /settings + /api/v1/settings* + /api/v1/settings/redacted +
/test-smtp + /test-ssh into routes/settings.py (155 LoC). All five
endpoints share the admin gate from auth.require_admin and the
secret_status / SECRET_FIELDS helpers, so the boundary is clean.

routes/__init__.py shrank from 960 -> 815 LoC. Cleanup bonus: dropped
an orphan "# Print view (must be BEFORE /{job_id} int route)" comment
that referenced the print-view endpoint already extracted to history.py.

Verification: 59/59 tests pass; /settings 401 (auth-gated as expected);
/login still 200; container boots clean at 1.0.0-36.

Remaining slices: routes/burnin.py (start + cancel + export.csv +
{job_id}) and routes/drives.py (the biggest, with the unlock route
that's currently interleaved between the burnin endpoints in
__init__.py — drives extraction unblocks burnin extraction).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 09:48:24 -04:00
..
__init__.py refactor: extract settings routes (1.0.0-36) 2026-05-03 09:48:24 -04:00
_helpers.py feat: rate limiter + mypy + lifecycle tests + routes/ split (1.0.0-33/-34) 2026-05-03 09:29:53 -04:00
audit.py refactor: extract history + audit + stats + report routes (1.0.0-35) 2026-05-03 09:44:22 -04:00
auth.py feat: rate limiter + mypy + lifecycle tests + routes/ split (1.0.0-33/-34) 2026-05-03 09:29:53 -04:00
history.py refactor: extract history + audit + stats + report routes (1.0.0-35) 2026-05-03 09:44:22 -04:00
report.py refactor: extract history + audit + stats + report routes (1.0.0-35) 2026-05-03 09:44:22 -04:00
settings.py refactor: extract settings routes (1.0.0-36) 2026-05-03 09:48:24 -04:00
stats.py refactor: extract history + audit + stats + report routes (1.0.0-35) 2026-05-03 09:44:22 -04:00
system.py feat: rate limiter + mypy + lifecycle tests + routes/ split (1.0.0-33/-34) 2026-05-03 09:29:53 -04:00