upvoters/src/votes/handlers.rs

30 lines
667 B
Rust
Raw Normal View History

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!()
}