zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
use async_graphql::Context;
use async_graphql::Error;
use async_graphql::FieldResult;
use async_graphql::Object;

use crate::services::user_account_service::models::UserRecordVo;
use crate::services::user_account_service::user_lists;

use crate::services::user_account_service::models::FetchLists;
#[derive(Default)]
pub struct QueryUsers;

#[Object(extends)]
impl QueryUsers {
    /// user lists
    async fn user_lists(
        &self,
        ctx: &Context<'_>,
        input: FetchLists,
    ) -> FieldResult<Vec<UserRecordVo>> {
        let web_ctx = ctx.data_unchecked::<actix_web::web::Data<crate::server::AppContext>>();

        match user_lists(web_ctx.mysql(), input).await {
            Ok(list) => Ok(list),
            Err(e) => Err(Error::new(e.to_string())),
        }
    }
}