diff --git a/auth/auth.rs b/auth/auth.rs
index a92fb94..151829f 100644
--- a/auth/auth.rs
+++ b/auth/auth.rs
@@ -13,7 +13,6 @@ pub struct IdMessage {
 pub struct SessionUserResponse {
     #[prost(uint64, tag="1")]
     #[serde(rename = "UserID")]
-    #[serde(rename = "UserID")]
     pub user_id: u64,
     #[prost(string, tag="2")]
     pub username: ::prost::alloc::string::String,
@@ -24,8 +23,20 @@ pub struct SessionUserResponse {
 #[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
 #[serde(rename_all = "PascalCase")]
 pub struct RoleReponse {
-    #[prost(uint32, tag="1")]
-    pub role: u32,
+    #[prost(message, repeated, tag="1")]
+    pub roles: ::prost::alloc::vec::Vec<RoleItem>,
+}
+#[allow(clippy::derive_partial_eq_without_eq)]
+#[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct RoleItem {
+    #[prost(string, tag="1")]
+    #[serde(rename = "ID")]
+    pub id: ::prost::alloc::string::String,
+    #[prost(string, tag="2")]
+    pub display_name: ::prost::alloc::string::String,
+    #[prost(int32, tag="3")]
+    pub rank: i32,
 }
 #[allow(clippy::derive_partial_eq_without_eq)]
 #[derive(Clone, PartialEq, ::prost::Message, serde::Serialize, serde::Deserialize)]