use actix_web::{get, web, HttpResponse}; use serde::{Deserialize, Serialize}; use sqlx::{Pool, Sqlite}; use crate::db::DbRelay; use crate::handlers::errors::ApiError; use crate::models::{convert_db_list, Relay}; #[derive(Debug, Serialize, Deserialize)] pub struct RequestRelay { name: String, tags: Vec<String>, } #[get("/api/v1/relays")] pub async fn index(pool: web::Data<Pool<Sqlite>>) -> Result<HttpResponse, ApiError> { let mut pool_conn = pool.acquire().await?; let db_relays = DbRelay::get_all(&mut pool_conn).await?; let relays: Vec<Relay> = convert_db_list(&mut pool_conn, db_relays)?; Ok(HttpResponse::Ok().json(relays)) }