dogy_backend_api/service/assistant/daily_challenges/
routes.rs

1use 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}