use axum::extract::State;
use axum::Json;
use sbol_db_storage::{BackendKind, Capabilities};
use serde::Serialize;
use crate::error::ApiError;
use crate::AppState;
#[derive(Serialize)]
pub struct LabInfo {
pub backend: BackendKind,
pub backend_name: &'static str,
pub capabilities: Capabilities,
}
pub async fn handler(State(state): State<AppState>) -> Result<Json<LabInfo>, ApiError> {
Ok(Json(LabInfo {
backend: state.backend_kind,
backend_name: state.backend_kind.display_name(),
capabilities: state.capabilities(),
}))
}