// use anyhow::Context;
// use kr::make_ctx;
// use repo::{dao::demo, schema::model};
use serde::{Deserialize, Serialize};
use validator::Validate;
use infra::{
core::AppState,
status::{api_ok::ApiOK, ApiResult},
};
#[derive(Debug, Validate, Deserialize, Serialize)]
pub struct ReqHello {
#[validate(length(min = 1, message = "required"))]
pub name: String,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct RespHello {
pub message: String,
}
pub async fn hello(ctx: &AppState, req: ReqHello) -> ApiResult<RespHello> {
let _ = ctx;
// let ret = demo::get_by_id::<model::Demo>(ctx, 1, None)
// .await
// .with_context(|| make_ctx("demo::get_by_id failed"))?;
let resp = RespHello {
message: format!("Hello, {}!", req.name),
};
Ok(ApiOK(Some(resp)))
}