11use crate :: prelude:: api:: * ;
22use crate :: prelude:: types:: * ;
3+ use axum:: Json ;
34use axum:: extract:: { Path , State } ;
45use axum:: http:: StatusCode ;
56use axum:: response:: IntoResponse ;
6- use axum:: Json ;
77use axum_extra:: extract:: CookieJar ;
88use chrono:: Utc ;
99use rustmail_types:: api:: panel_permissions:: * ;
@@ -18,7 +18,13 @@ pub async fn handle_list_permissions(
1818 let state_lock = bot_state. lock ( ) . await ;
1919 match & state_lock. db_pool {
2020 Some ( pool) => pool. clone ( ) ,
21- None => return ( StatusCode :: INTERNAL_SERVER_ERROR , Json ( serde_json:: json!( { "error" : "Database not initialized" } ) ) ) . into_response ( ) ,
21+ None => {
22+ return (
23+ StatusCode :: INTERNAL_SERVER_ERROR ,
24+ Json ( serde_json:: json!( { "error" : "Database not initialized" } ) ) ,
25+ )
26+ . into_response ( ) ;
27+ }
2228 }
2329 } ;
2430
@@ -27,12 +33,25 @@ pub async fn handle_list_permissions(
2733 . await
2834 {
2935 Ok ( r) => r,
30- Err ( e) => return ( StatusCode :: INTERNAL_SERVER_ERROR , Json ( serde_json:: json!( { "error" : format!( "Database error: {}" , e) } ) ) ) . into_response ( ) ,
36+ Err ( e) => {
37+ return (
38+ StatusCode :: INTERNAL_SERVER_ERROR ,
39+ Json ( serde_json:: json!( { "error" : format!( "Database error: {}" , e) } ) ) ,
40+ )
41+ . into_response ( ) ;
42+ }
3143 } ;
3244
3345 let mut permissions = Vec :: new ( ) ;
3446 for row in rows {
35- if let ( Ok ( id) , Ok ( subject_type) , Ok ( subject_id) , Ok ( permission) , Ok ( granted_by) , Ok ( granted_at) ) = (
47+ if let (
48+ Ok ( id) ,
49+ Ok ( subject_type) ,
50+ Ok ( subject_id) ,
51+ Ok ( permission) ,
52+ Ok ( granted_by) ,
53+ Ok ( granted_at) ,
54+ ) = (
3655 row. try_get :: < i64 , _ > ( "id" ) ,
3756 row. try_get :: < String , _ > ( "subject_type" ) ,
3857 row. try_get :: < String , _ > ( "subject_id" ) ,
@@ -68,12 +87,22 @@ pub async fn handle_grant_permission(
6887 let state_lock = bot_state. lock ( ) . await ;
6988 let pool = match & state_lock. db_pool {
7089 Some ( p) => p. clone ( ) ,
71- None => return ( StatusCode :: INTERNAL_SERVER_ERROR , Json ( serde_json:: json!( { "error" : "Database not initialized" } ) ) ) . into_response ( ) ,
90+ None => {
91+ return (
92+ StatusCode :: INTERNAL_SERVER_ERROR ,
93+ Json ( serde_json:: json!( { "error" : "Database not initialized" } ) ) ,
94+ )
95+ . into_response ( ) ;
96+ }
7297 } ;
7398
7499 let session_cookie = jar. get ( "session_id" ) ;
75100 if session_cookie. is_none ( ) {
76- return ( StatusCode :: UNAUTHORIZED , Json ( serde_json:: json!( { "error" : "Unauthorized" } ) ) ) . into_response ( ) ;
101+ return (
102+ StatusCode :: UNAUTHORIZED ,
103+ Json ( serde_json:: json!( { "error" : "Unauthorized" } ) ) ,
104+ )
105+ . into_response ( ) ;
77106 }
78107
79108 let session_id = session_cookie. unwrap ( ) . value ( ) . to_string ( ) ;
@@ -102,7 +131,11 @@ pub async fn handle_grant_permission(
102131
103132 match result {
104133 Ok ( _) => ( StatusCode :: OK , Json ( serde_json:: json!( { "success" : true } ) ) ) . into_response ( ) ,
105- Err ( e) => ( StatusCode :: INTERNAL_SERVER_ERROR , Json ( serde_json:: json!( { "error" : format!( "Database error: {}" , e) } ) ) ) . into_response ( ) ,
134+ Err ( e) => (
135+ StatusCode :: INTERNAL_SERVER_ERROR ,
136+ Json ( serde_json:: json!( { "error" : format!( "Database error: {}" , e) } ) ) ,
137+ )
138+ . into_response ( ) ,
106139 }
107140}
108141
@@ -114,7 +147,13 @@ pub async fn handle_revoke_permission(
114147 let state_lock = bot_state. lock ( ) . await ;
115148 match & state_lock. db_pool {
116149 Some ( pool) => pool. clone ( ) ,
117- None => return ( StatusCode :: INTERNAL_SERVER_ERROR , Json ( serde_json:: json!( { "error" : "Database not initialized" } ) ) ) . into_response ( ) ,
150+ None => {
151+ return (
152+ StatusCode :: INTERNAL_SERVER_ERROR ,
153+ Json ( serde_json:: json!( { "error" : "Database not initialized" } ) ) ,
154+ )
155+ . into_response ( ) ;
156+ }
118157 }
119158 } ;
120159
@@ -125,6 +164,10 @@ pub async fn handle_revoke_permission(
125164
126165 match result {
127166 Ok ( _) => ( StatusCode :: OK , Json ( serde_json:: json!( { "success" : true } ) ) ) . into_response ( ) ,
128- Err ( e) => ( StatusCode :: INTERNAL_SERVER_ERROR , Json ( serde_json:: json!( { "error" : format!( "Database error: {}" , e) } ) ) ) . into_response ( ) ,
167+ Err ( e) => (
168+ StatusCode :: INTERNAL_SERVER_ERROR ,
169+ Json ( serde_json:: json!( { "error" : format!( "Database error: {}" , e) } ) ) ,
170+ )
171+ . into_response ( ) ,
129172 }
130173}
0 commit comments