use axum::{Json, extract::State};
use crate::web::app_state_facets::WebTasksAppFacet;
use super::http_types::tasks::TasksData;
pub async fn tasks_get_handler(State(facet): State<WebTasksAppFacet>) -> Json<TasksData> {
let key = facet.effective_workspace_path().await;
let guard = facet.process_handles.workspace_tasks_by_path.read().await;
Json(guard.get(&key).cloned().unwrap_or_default())
}
pub async fn tasks_set_handler(
State(facet): State<WebTasksAppFacet>,
Json(mut body): Json<TasksData>,
) -> Json<TasksData> {
let key = facet.effective_workspace_path().await;
body.updated_at = Some(chrono::Utc::now().to_rfc3339());
let mut guard = facet.process_handles.workspace_tasks_by_path.write().await;
guard.insert(key, body.clone());
Json(body)
}