|  | @ -6,7 +6,7 @@ use rocket::response::{content::Html, Flash, Redirect}; | 
			
		
	
		
		
			
				
					|  |  | use rocket::{Outcome, Route}; |  |  | use rocket::{Outcome, Route}; | 
			
		
	
		
		
			
				
					|  |  | use rocket_contrib::json::Json; |  |  | use rocket_contrib::json::Json; | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  | use crate::api::{ApiResult, EmptyResult}; |  |  | use crate::api::{ApiResult, EmptyResult, JsonResult}; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | use crate::auth::{decode_admin, encode_jwt, generate_admin_claims, ClientIp}; |  |  | use crate::auth::{decode_admin, encode_jwt, generate_admin_claims, ClientIp}; | 
			
		
	
		
		
			
				
					|  |  | use crate::config::ConfigBuilder; |  |  | use crate::config::ConfigBuilder; | 
			
		
	
		
		
			
				
					|  |  | use crate::db::{models::*, DbConn}; |  |  | use crate::db::{models::*, DbConn}; | 
			
		
	
	
		
		
			
				
					|  | @ -21,6 +21,7 @@ pub fn routes() -> Vec<Route> { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     routes![ |  |  |     routes![ | 
			
		
	
		
		
			
				
					|  |  |         admin_login, |  |  |         admin_login, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         get_users, | 
			
		
	
		
		
			
				
					|  |  |         post_admin_login, |  |  |         post_admin_login, | 
			
		
	
		
		
			
				
					|  |  |         admin_page, |  |  |         admin_page, | 
			
		
	
		
		
			
				
					|  |  |         invite_user, |  |  |         invite_user, | 
			
		
	
	
		
		
			
				
					|  | @ -155,6 +156,14 @@ fn invite_user(data: Json<InviteData>, _token: AdminToken, conn: DbConn) -> Empt | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | #[get("/users")] | 
			
		
	
		
		
			
				
					|  |  |  |  |  | fn get_users(_token: AdminToken, conn: DbConn) ->JsonResult { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     let users = User::get_all(&conn); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     let users_json: Vec<Value> = users.iter().map(|u| u.to_json(&conn)).collect(); | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     Ok(Json(Value::Array(users_json))) | 
			
		
	
		
		
			
				
					|  |  |  |  |  | } | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | #[post("/users/<uuid>/delete")] |  |  | #[post("/users/<uuid>/delete")] | 
			
		
	
		
		
			
				
					|  |  | fn delete_user(uuid: String, _token: AdminToken, conn: DbConn) -> EmptyResult { |  |  | fn delete_user(uuid: String, _token: AdminToken, conn: DbConn) -> EmptyResult { | 
			
		
	
		
		
			
				
					|  |  |     let user = match User::find_by_uuid(&uuid, &conn) { |  |  |     let user = match User::find_by_uuid(&uuid, &conn) { | 
			
		
	
	
		
		
			
				
					|  | 
 |