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}