use std::sync::Arc;
use axum::routing::{delete, get, post};
use axum::Router;
use super::handlers::{add_torrent_to_whitelist_handler, reload_whitelist_handler, remove_torrent_from_whitelist_handler};
use crate::core::Tracker;
pub fn add(prefix: &str, router: Router, tracker: Arc<Tracker>) -> Router {
let prefix = format!("{prefix}/whitelist");
router
.route(
&format!("{prefix}/:info_hash"),
post(add_torrent_to_whitelist_handler).with_state(tracker.clone()),
)
.route(
&format!("{prefix}/:info_hash"),
delete(remove_torrent_from_whitelist_handler).with_state(tracker.clone()),
)
.route(&format!("{prefix}/reload"), get(reload_whitelist_handler).with_state(tracker))
}