backend/api/
versions.rs

1//! `/api/v1/versions` Returns info about api versions
2use actix_web::{HttpResponse, Responder, get};
3use serde::Serialize;
4
5#[derive(Serialize)]
6struct Response {
7    unstable_features: UnstableFeatures,
8    versions: Vec<String>,
9}
10
11#[derive(Serialize)]
12struct UnstableFeatures;
13
14/// `GET /api/versions` Returns info about api versions.
15///
16/// requires auth: no
17///
18/// ### Response Example
19/// ```
20/// json!({
21///     "unstable_features": {},
22///     "versions": [
23///         "1"
24///     ]
25/// });
26/// ```
27#[get("/versions")]
28pub async fn get() -> impl Responder {
29    let response = Response {
30        unstable_features: UnstableFeatures,
31        // TODO: Find a way to dynamically update this possibly?
32        versions: vec![String::from("1")],
33    };
34
35    HttpResponse::Ok().json(response)
36}