]> git.proxmox.com Git - proxmox-backup.git/blame - src/api2.rs
src/api2/node: start node configuration api
[proxmox-backup.git] / src / api2.rs
CommitLineData
248cb518
DM
1use failure::*;
2
3use crate::api::schema::*;
4use crate::api::router::*;
5use serde_json::{json, Value};
6
7pub mod config;
8pub mod admin;
b2b3485d 9pub mod node;
248cb518
DM
10mod version;
11mod subscription;
12
13fn test_sync_api_handler(param: Value, _info: &ApiMethod) -> Result<Value, Error> {
14 println!("This is a test {}", param);
15
16 // let force: Option<bool> = Some(false);
17
18 //if let Some(force) = param.force {
19 //}
20
21 let _force = param["force"].as_bool()
22 .ok_or_else(|| format_err!("missing parameter 'force'"))?;
23
24 if let Some(_force) = param["force"].as_bool() {
25 }
26
27 Ok(json!(null))
28}
29
30pub fn router() -> Router {
31
32 let route4 = Router::new()
33 .get(ApiMethod::new(
34 |param, _info| {
35 println!("This is a clousure handler: {}", param);
36
37 Ok(json!(null))
38 },
39 ObjectSchema::new("Another Endpoint."))
40 .returns(Schema::Null));
41
42
43 let nodeinfo = Router::new()
44 .get(ApiMethod::new(
45 test_sync_api_handler,
46 ObjectSchema::new("This is a simple test.")
47 .optional("force", BooleanSchema::new("Test for boolean options")))
48 )
49 .subdir("subdir3", route4);
50
51 let nodes = Router::new()
b2b3485d 52 .subdir("localhost", node::router());
248cb518
DM
53
54
55 let route = Router::new()
56 .get(ApiMethod::new(
57 |_,_| Ok(json!([
58 {"subdir": "config"},
59 {"subdir": "admin"},
60 {"subdir": "nodes"},
61 {"subdir": "subscription"},
62 {"subdir": "version"},
63 ])),
64 ObjectSchema::new("Directory index.")))
65 .subdir("admin", admin::router())
66 .subdir("config", config::router())
67 .subdir("nodes", nodes)
68 .subdir("subscription", subscription::router())
69 .subdir("version", version::router());
70
71 route
72}