Files
quantulr bd1bb4952a init
2023-11-12 22:30:58 +08:00

31 lines
1.1 KiB
Rust

use crate::entity::la_article;
use crate::params::article::{ArticleDetailParams, ArticleListParams};
use crate::state::app::AppState;
use axum::extract::{Query, State};
use axum::Json;
use chrono::{TimeZone, Utc};
use sea_orm::{ColumnTrait, EntityTrait, PaginatorTrait, QueryFilter, QueryOrder, QueryTrait};
use serde_json::{json, Value};
use std::fmt::Debug;
use std::sync::Arc;
use crate::response::article::{ArticleDetail, ArticleListItem};
use crate::response::common::{BaseResponse, PageResponse};
use crate::service::artile::ArticleService;
pub async fn article_list(
State(state): State<Arc<AppState>>,
query: Query<ArticleListParams>,
) -> Result<Json<BaseResponse<PageResponse<ArticleListItem>>>, Json<BaseResponse<Vec<u8>>>> {
let article_service = ArticleService { state };
article_service.article_list(query.0).await
}
pub async fn article_detail(
State(state): State<Arc<AppState>>,
query: Query<ArticleDetailParams>,
) -> Result<Json<BaseResponse<ArticleDetail>>, Json<BaseResponse<Vec<u8>>>> {
let article_service = ArticleService { state };
article_service.article_detail(query.0).await
}