use axum::{
extract::{Extension, Query},
response::IntoResponse,
Json,
};
use dialtone_common::rest::actors::actor_exchanges::GetActorRequest;
use dialtone_sqlx::db::actor::fetch_public::fetch_public_actor_by_id;
use sqlx::{Pool, Postgres};
use crate::{err_not_found, response::response_error::ResponseError};
pub async fn get_public_actor_handler(
Query(params): Query<GetActorRequest>,
Extension(pool): Extension<Pool<Postgres>>,
) -> Result<impl IntoResponse, ResponseError> {
let actor = fetch_public_actor_by_id(&pool, ¶ms.actor_id).await?;
match actor {
None => err_not_found!(),
Some(_) => Ok(Json(actor)),
}
}