Repository navigation
feat(web): manage freshman page content - #84
Conversation
Renumber the freshman content migration from 0022 to 0026, after the e-signing migrations 0022-0025 now on main. Its schema statements were regenerated with drizzle-kit from main's snapshots and are unchanged; the data statements are carried over as they were.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 29 minutes. View limit details
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
WalkthroughThe change adds fixed-slot Freshman content storage and initialization, public content retrieval, protected editing procedures, and safeguards for featured FAQs. Unit and PostgreSQL integration tests cover validation, access, concurrent operations, and deletion behavior. ChangesFreshman content
Sequence Diagram(s)sequenceDiagram
participant DashboardEditor
participant webRouter
participant freshmanRouter
participant PostgreSQL
DashboardEditor->>webRouter: Submit selectFaq input
webRouter->>freshmanRouter: Route protected mutation
freshmanRouter->>PostgreSQL: Lock featured slots and validate selection
PostgreSQL-->>freshmanRouter: Current FAQ selections
freshmanRouter->>PostgreSQL: Swap or update selected FAQ
PostgreSQL-->>freshmanRouter: Updated selection
freshmanRouter-->>DashboardEditor: Return mutation result
Priority: ➖ Normal Change: Feature Merge Risk: ⚪ Minimal · up to
|
e989be7 to
43854c5
Compare
#88 removed the legacy author argument from authorOf, so freshman writes now use tokenOnly policies like the other web content mutations. The legacy modifiedBy input is still accepted and ignored.
Adds
web.freshman(getContent, updateCard, moveCard, selectFaq) and migration0026_freshman_content, which creates the card slots and featured FAQ positions and seedsthem with the current website content (reusing matching FAQs from the catalog).
web:content:writefor edits.FEATURED_FAQ.Note:
tests/esign-service.test.tsfails on main as well (fixed clock 2026-10-17 vs acertificate valid from "yesterday"); unrelated to this PR.