45 lines
1.0 KiB
Rust
45 lines
1.0 KiB
Rust
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<User, UserService>,
|
|
}
|
|
|
|
impl Deref for UserController {
|
|
type Target = BaseController<User, UserService>;
|
|
|
|
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<Self>) -> Router {
|
|
BaseController::default_routes(controller, "/users")
|
|
}
|
|
|
|
/*
|
|
async fn get_users(
|
|
State(controller): State<Arc<UserController>>,
|
|
) -> Result<impl IntoResponse, (StatusCode, Json<String>)> {
|
|
controller
|
|
.base_controller
|
|
.get_all()
|
|
.await
|
|
.map_err(|err| (StatusCode::INTERNAL_SERVER_ERROR, Json(err)))
|
|
}
|
|
*/
|
|
}
|