From 6a10fcaf64938da52b326ea80013d9f30ed62a6c Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Sat, 5 Oct 2024 22:42:43 -0400 Subject: Separate `/api/boot` into its own module. --- src/boot/routes.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/boot/routes.rs (limited to 'src/boot/routes.rs') diff --git a/src/boot/routes.rs b/src/boot/routes.rs new file mode 100644 index 0000000..80f70bd --- /dev/null +++ b/src/boot/routes.rs @@ -0,0 +1,27 @@ +use axum::{ + extract::{Json, State}, + routing::get, + Router, +}; + +use super::Snapshot; +use crate::{app::App, error::Internal, login::Login}; + +#[cfg(test)] +mod test; + +pub fn router() -> Router { + Router::new().route("/api/boot", get(boot)) +} + +async fn boot(State(app): State, login: Login) -> Result, Internal> { + let snapshot = app.boot().snapshot().await?; + Ok(Boot { login, snapshot }.into()) +} + +#[derive(serde::Serialize)] +struct Boot { + login: Login, + #[serde(flatten)] + snapshot: Snapshot, +} -- cgit v1.2.3