diff --git a/src/app/app.rs b/src/app/app.rs index e59ec3e..3008db5 100644 --- a/src/app/app.rs +++ b/src/app/app.rs @@ -26,7 +26,6 @@ impl App { let repositories = Repositories::new(db.get_connection(), event_bus.clone()); let state = AppState{db: db.clone(), event_bus: event_bus.clone(), repositories: repositories.clone()}; - // let state = AppState::new(); let udp_server = UDPServer::new(config.bind_addr()); let http_server = HTTPServer::new(config.bind_addr(), state); diff --git a/src/network/http/web/api/server.rs b/src/network/http/web/api/server.rs index b6b4d64..247c8f7 100644 --- a/src/network/http/web/api/server.rs +++ b/src/network/http/web/api/server.rs @@ -16,6 +16,7 @@ pub fn setup_route() -> AppRouter { .route("/servers/", post(server_create)) .route("/servers/{id}/", put(server_update)) .route("/servers/{id}/", delete(server_delete)) + .route("/servers/{id}/password/", get(server_password)) } pub async fn server_list( @@ -74,4 +75,15 @@ pub async fn server_delete( } else { Err(HTTPError::NotFound) } +} + +pub async fn server_password( + State(state): State, + Path(id): Path +) -> Result>, HTTPError> { + let server = state.repositories.server.get_by_id(id) + .await? + .ok_or(HTTPError::NotFound)?; + + Ok(Json(server.password)) } \ No newline at end of file