From a33b2c4d418d8395f41607d1cd1cb9b8b036c2de Mon Sep 17 00:00:00 2001 From: MechaCat02 Date: Fri, 3 Apr 2026 14:11:44 +0200 Subject: [PATCH] fix: serialize UserRole as lowercase in JWT Add #[serde(rename_all = "lowercase")] to UserRole enum so JWT payloads contain lowercase role strings ("guest", "host", "admin") matching what the frontend route guards and getRole() comparisons expect. Without this, JWTs contained PascalCase ("Guest", "Host", "Admin") causing hosts and admins to be redirected to /join instead of their dashboards. Co-Authored-By: Claude Sonnet 4.6 --- backend/src/models/user.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/models/user.rs b/backend/src/models/user.rs index 66cbcf6..815b5ad 100644 --- a/backend/src/models/user.rs +++ b/backend/src/models/user.rs @@ -4,6 +4,7 @@ use sqlx::PgPool; use uuid::Uuid; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::Type)] +#[serde(rename_all = "lowercase")] #[sqlx(type_name = "user_role", rename_all = "lowercase")] pub enum UserRole { Guest,