denbooru/src/handlers.rs

20 lines
463 B
Rust
Raw Normal View History

use std::sync::Arc;
use std::sync::RwLock;
use crate::templates::HtmlTemplate;
use crate::templates::ListTemplate;
use crate::utils;
use axum::extract::State;
use axum::response::IntoResponse;
pub async fn list_files(
State(state): State<Arc<RwLock<Vec<utils::FileEntry>>>>,
) -> impl IntoResponse {
let files = state.read().unwrap(); // Adquire lock
let template = ListTemplate {
files: files.to_vec(),
};
HtmlTemplate(template)
}