pub(super) mod documents;
pub(super) mod urls;
pub(super) mod visit;
use hyper::StatusCode;
use sqlx::sqlite::SqlitePool;
use crate::settings::ApiSettings;
#[derive(Clone)]
pub(crate) struct State {
pub(crate) settings: ApiSettings,
pub(crate) pool: SqlitePool,
}
impl axum::extract::FromRef<State> for SqlitePool {
fn from_ref(state: &State) -> Self {
state.pool.clone()
}
}
pub(crate) fn server_error(err: impl std::error::Error, msg: &str) -> StatusCode {
eprintln!("[ERROR] {msg}: {err}");
StatusCode::INTERNAL_SERVER_ERROR
}