30 lines
667 B
Rust
30 lines
667 B
Rust
|
|
use std::sync::Arc;
|
||
|
|
|
||
|
|
use axum::{
|
||
|
|
Router,
|
||
|
|
extract::{Path, State},
|
||
|
|
routing::{get, post},
|
||
|
|
};
|
||
|
|
|
||
|
|
use super::{dto::CreateVoteRequest, service::VoteService};
|
||
|
|
|
||
|
|
pub fn router(service: Arc<VoteService>) -> Router {
|
||
|
|
Router::new()
|
||
|
|
.route("/votes", get(list))
|
||
|
|
.route("/votes/{id}", get(get_by_id))
|
||
|
|
.route("/votes", post(create))
|
||
|
|
.with_state(service)
|
||
|
|
}
|
||
|
|
|
||
|
|
async fn list(State(service): State<Arc<VoteService>>) {
|
||
|
|
todo!()
|
||
|
|
}
|
||
|
|
|
||
|
|
async fn get_by_id(State(service): State<Arc<VoteService>>, Path(id): Path<u64>) {
|
||
|
|
todo!()
|
||
|
|
}
|
||
|
|
|
||
|
|
async fn create(State(service): State<Arc<VoteService>>, body: axum::Json<CreateVoteRequest>) {
|
||
|
|
todo!()
|
||
|
|
}
|