Repository navigation
[#648] Add Career Discord settings in Blade - #664
StevScripts wants to merge 2 commits into
Conversation
Closes KnightHacks#648 Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
Walkthrough
Pre-merge checks:
|
Why
Officers need to update Career channels and reminder roles when Discord is reorganized. This adds those settings to Blade's existing Discord config page.
What
Closes: #648
Adds five settings:
The posting channels and reminder roles are seeded with the supplied production IDs. The failure channel starts empty and shows "Not configured". An officer must set
career_source_health_channelbefore failure alerts can be enabled. All other settings still require a production ID.The existing officer permissions, audit trail and cache behavior stay in place. Required ID reads still throw when no ID is configured. A separate optional reader lets future failure-alert code handle an unset channel.
The migrations preserve officer edits. The final migration only shortens the original descriptions, leaving custom wording untouched.
This prepares the settings for #651, #653 and #654. All five remain marked "Unused" until those tickets add consumers. Job delivery and subscriptions are outside this PR.
The five settings follow parent #633 and the agreed internship/new-grad split. They differ from #648's automated three-key suggestion, so confirm the names with downstream owners before merge.
Test Plan
Final checks passed after the description update and comment cleanup:
pnpm verify:precommit: React analysis, formatting, lint and typechecking.An earlier full workspace run passed 3,147 tests in 421 files, and the full workspace build passed. Those runs predate the description-only migration; the final checks above include it. Migration generation found no schema drift.
Database and API tests cover fresh installs, upgrades, preserved officer edits, required IDs, optional set/clear, audit records and cache refresh.
Chromium checks verified saving, reloading and clearing the setting against SQL, plus desktop and 320px mobile layouts. Browser checks used a test officer; API integration tests separately verified audit writes.
Screenshots
Updated screenshots show the shorter descriptions and the unconfigured failure channel.
Career posting channels
Digest roles
Empty failure channel
Officer editor
Setup and rollout
Checklist
pnpm db:generateran. SQL migrations, snapshots and journal are committed and tested locally.