use std::ops::Deref; use std::sync::Arc; use crate::base::controller::BaseController; use axum::Router; use super::model::User; use super::service::UserService; pub struct UserController { base_controller: BaseController, } impl Deref for UserController { type Target = BaseController; fn deref(&self) -> &Self::Target { &self.base_controller } } impl UserController { pub fn new(service: UserService) -> Self { Self { base_controller: BaseController::new(service), } } pub fn routes(controller: Arc) -> Router { BaseController::default_routes(controller, "/users") } /* async fn get_users( State(controller): State>, ) -> Result)> { controller .base_controller .get_all() .await .map_err(|err| (StatusCode::INTERNAL_SERVER_ERROR, Json(err))) } */ }