]> git.proxmox.com Git - proxmox-backup.git/blob - src/api2/version.rs
improve code docs in api2
[proxmox-backup.git] / src / api2 / version.rs
1 //! Version information
2
3 use anyhow::{Error};
4 use serde_json::{json, Value};
5
6 use proxmox::api::{ApiHandler, ApiMethod, Router, RpcEnvironment, Permission};
7 use proxmox::api::schema::ObjectSchema;
8
9 pub const PROXMOX_PKG_VERSION: &str =
10 concat!(
11 env!("CARGO_PKG_VERSION_MAJOR"),
12 ".",
13 env!("CARGO_PKG_VERSION_MINOR"),
14 );
15 pub const PROXMOX_PKG_RELEASE: &str = env!("CARGO_PKG_VERSION_PATCH");
16 pub const PROXMOX_PKG_REPOID: &str = env!("CARGO_PKG_REPOSITORY");
17
18 fn get_version(
19 _param: Value,
20 _info: &ApiMethod,
21 _rpcenv: &mut dyn RpcEnvironment,
22 ) -> Result<Value, Error> {
23
24 Ok(json!({
25 "version": PROXMOX_PKG_VERSION,
26 "release": PROXMOX_PKG_RELEASE,
27 "repoid": PROXMOX_PKG_REPOID
28 }))
29 }
30
31 pub const ROUTER: Router = Router::new()
32 .get(
33 &ApiMethod::new(
34 &ApiHandler::Sync(&get_version),
35 &ObjectSchema::new("Proxmox Backup Server API version.", &[])
36 ).access(None, &Permission::Anybody)
37 );
38