use crate::http::context::{AppContext, OpenApiResult, bad_request}; use crate::http::payloads::PathPayload; use crate::io::fs; use poem_openapi::payload::Json; pub async fn get_current_project(ctx: &AppContext) -> OpenApiResult>> { let result = fs::get_current_project(&ctx.state, ctx.store.as_ref()).map_err(bad_request)?; Ok(Json(result)) } pub async fn open_project( payload: Json, ctx: &AppContext, ) -> OpenApiResult> { let confirmed = fs::open_project(payload.0.path, &ctx.state, ctx.store.as_ref()) .await .map_err(bad_request)?; Ok(Json(confirmed)) } pub async fn close_project(ctx: &AppContext) -> OpenApiResult> { fs::close_project(&ctx.state, ctx.store.as_ref()).map_err(bad_request)?; Ok(Json(true)) }