A focused Docker Compose management web application.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: path parameters not described

Brooke 3acb5285 8bd15d89

+18 -23
+14 -17
packages/node/src/api/actions.rs
··· 1 1 //! Manages project actions 2 2 3 3 use crate::{api::response::LuminaryResponse, core::LuminaryEngine, obtain}; 4 - use eyre::ContextCompat; 5 - use salvo::{Depot, Request, oapi::endpoint}; 4 + use salvo::{ 5 + Depot, Writer, 6 + oapi::{endpoint, extract::PathParam}, 7 + }; 6 8 7 9 /// Restarts the given project and all its services. 8 10 #[endpoint] 9 - pub async fn restart_project(req: &mut Request, depot: &mut Depot) -> LuminaryResponse<()> { 11 + pub async fn restart_project(project: PathParam<String>, depot: &mut Depot) -> LuminaryResponse<()> { 10 12 let engine = obtain!(depot, LuminaryEngine); 11 13 12 - let project = req 13 - .param::<String>("project") 14 - .wrap_err("Expected project parameter")?; 15 - 16 - engine.restart(project, None).await?; 14 + engine.restart(project.into_inner(), None).await?; 17 15 return Ok(().into()); 18 16 } 19 17 20 18 /// Restarts the given service of the project. 21 19 #[endpoint] 22 - pub async fn restart_service(req: &mut Request, depot: &mut Depot) -> LuminaryResponse<()> { 20 + pub async fn restart_service( 21 + project: PathParam<String>, 22 + service: PathParam<String>, 23 + depot: &mut Depot, 24 + ) -> LuminaryResponse<()> { 23 25 let engine = obtain!(depot, LuminaryEngine); 24 26 25 - let service = req 26 - .param::<String>("service") 27 - .wrap_err("Expected service parameter")?; 28 - let project = req 29 - .param::<String>("project") 30 - .wrap_err("Expected project parameter")?; 31 - 32 - engine.restart(project, Some(service)).await?; 27 + engine 28 + .restart(project.into_inner(), Some(service.into_inner())) 29 + .await?; 33 30 return Ok(().into()); 34 31 }
+4 -6
packages/node/src/api/realtime/logs.rs
··· 7 7 use base64::prelude::*; 8 8 use futures_util::StreamExt; 9 9 use salvo::{ 10 - Depot, Request, Response, 11 - oapi::endpoint, 10 + Depot, Response, Writer, 11 + oapi::{endpoint, extract::PathParam}, 12 12 sse::{self, SseEvent}, 13 13 }; 14 14 ··· 24 24 description = "A stream of base64-encoded log chunks for the given project, in the form of Server-Sent Events", 25 25 )) 26 26 )] 27 - pub async fn logs_subscribe(req: &mut Request, res: &mut Response, depot: &mut Depot) { 27 + pub async fn logs_subscribe(project: PathParam<String>, res: &mut Response, depot: &mut Depot) { 28 28 let engine = obtain!(depot, LuminaryEngine); 29 - let project = req 30 - .param::<String>("project") 31 - .expect("Expected project parameter"); 29 + let project = project.into_inner(); 32 30 33 31 let mut stream = engine.logs_subscribe(project).await; 34 32