# Safety Quiz Results Backend ## Purpose `safety_quiz_results` stores weekly de-escalation/QBS quiz submissions per authenticated staff user. The backend owns tenant scope, user ownership, user display name, and role snapshot. ## API All routes require JWT authentication. - `GET /api/safety_quiz_results`: returns quiz results visible to the current user. - `GET /api/safety_quiz_results?week_of=`: filters visible results by week. - `POST /api/safety_quiz_results`: saves one quiz result for the current user. ## Access Rules - Staff users can create results for themselves. - Staff users can read their own results. - Director/superintendent-capable generated roles can read organization-level results for compliance views. ## Data Contract Required mutation fields: - `quiz_id` - `quiz_title` - `week_of` - `score` - `total_questions` - `answers` The frontend does not send user names or roles for ownership. The backend fills `user_name`, `user_role`, `organizationId`, `campusId`, and `userId` from the authenticated user.