blob: 80f70bdb927351d286c0207812550ff1b5018808 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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<App> {
Router::new().route("/api/boot", get(boot))
}
async fn boot(State(app): State<App>, login: Login) -> Result<Json<Boot>, Internal> {
let snapshot = app.boot().snapshot().await?;
Ok(Boot { login, snapshot }.into())
}
#[derive(serde::Serialize)]
struct Boot {
login: Login,
#[serde(flatten)]
snapshot: Snapshot,
}
|