dogy_backend_api/service/assistant/daily_challenges/
routes.rs1use axum::{
2 middleware,
3 routing::{get, post},
4 Router,
5};
6
7use crate::{
8 middleware::auth::layer::{auth_middleware, get_internal_id},
9 AppState,
10};
11
12use super::handlers::{create_daily_challenge, get_daily_challenge_streak};
13
14async fn daily_challenge_routes(app_state: AppState) -> Router<AppState> {
15 Router::new()
16 .route("/{pet_id}", post(create_daily_challenge))
17 .route("/", get(get_daily_challenge_streak))
18 .layer(middleware::from_fn_with_state(
19 app_state.clone(),
20 get_internal_id,
21 ))
22 .layer(middleware::from_fn(auth_middleware))
23}
24
25pub async fn root_daily_challenge_routes(app_state: AppState) -> Router<AppState> {
26 Router::new().nest("/challenges/daily", daily_challenge_routes(app_state).await)
27}