use crate::commons::validatorr::validation_flatten;
use crate::prelude2::*;
use crate::services::kline_service::model2::KlineDataCreator;
use crate::services::region_service::save_region;
use crate::services::region_service::save_region_bulk;
use crate::services::region_service::RegionCreator;
use crate::services::kline_service::save_kline_bulk;
use crate::services::kline_service::select_kline_data;
use crate::services::kline_service::models::FetchKline;
pub async fn mysql_select(
app_state: web::Data<AppContext>,
request: HttpRequest,
) -> impl Responder {
crate::services::user_service::models::UsersRecord::select_by_primary_key(
app_state.mysql_client(),
"0195929f-bddb-7083-8d38-c99dd6269b56",
)
.await;
request.json(200, R::ok(true))
}
pub async fn mysql_save_region(
params: web::Json<RegionCreator>,
app_state: web::Data<AppContext>,
request: HttpRequest,
) -> impl Responder {
let id = save_region(¶ms.0, app_state.mysql()).await?;
request.json(200, R::ok(id))
}
pub async fn mysql_save_region_bulk(
params: web::Json<Vec<RegionCreator>>,
app_state: web::Data<AppContext>,
request: HttpRequest,
) -> impl Responder {
let result = save_region_bulk(params.0, app_state.mysql()).await?;
request.json(200, R::ok(result))
}
pub async fn mysql_save_kline_bulk(
params: web::Json<Vec<KlineDataCreator>>,
app_state: web::Data<AppContext>,
request: HttpRequest,
) -> impl Responder {
let rows_affected = save_kline_bulk(app_state.mysql(), params.0).await?;
request.json(200, R::ok(rows_affected))
}
pub async fn mysql_select_kline(
query_params: web::Query<FetchKline>,
app_state: web::Data<AppContext>,
request: HttpRequest,
) -> impl Responder {
if let Some(err) = validation_flatten(&query_params.0) {
return request.json(200, R::invalid(err));
}
let list = select_kline_data(app_state.mysql(), query_params.0).await?;
request.json(200, R::ok(list))
}