]> git.proxmox.com Git - proxmox-backup.git/commitdiff
src/api2/node: start node configuration api
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Jan 2019 12:05:32 +0000 (13:05 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Jan 2019 12:09:17 +0000 (13:09 +0100)
src/api2.rs
src/api2/config.rs
src/api2/node.rs [new file with mode: 0644]
src/api2/node/dns.rs [new file with mode: 0644]
src/api2/node/network.rs [new file with mode: 0644]
src/api2/node/time.rs [new file with mode: 0644]
www/SystemConfiguration.js

index b9a7645644c914ccda495801aa24822e63c610df..80be53d734d53be85df9be6e4b3cb784de7620e6 100644 (file)
@@ -6,6 +6,7 @@ use serde_json::{json, Value};
 
 pub mod config;
 pub mod admin;
+pub mod node;
 mod version;
 mod subscription;
 
@@ -48,7 +49,7 @@ pub fn router() -> Router {
         .subdir("subdir3", route4);
 
     let nodes = Router::new()
-        .match_all("node", nodeinfo);
+        .subdir("localhost", node::router());
 
 
     let route = Router::new()
index ccdd278417d4ef3563b59481ff7d91386f1d4852..da4177ae6c86dee9ee34214c3ba872b837d7c565 100644 (file)
@@ -12,7 +12,7 @@ pub fn router() -> Router {
     let route = Router::new()
         .get(ApiMethod::new(
             |_,_| Ok(json!([
-                {"subdir": "datastore"}
+                {"subdir": "datastore"},
             ])),
             ObjectSchema::new("Directory index.")))
         .subdir("datastore", datastore::router());
diff --git a/src/api2/node.rs b/src/api2/node.rs
new file mode 100644 (file)
index 0000000..cb51f05
--- /dev/null
@@ -0,0 +1,23 @@
+use crate::api::schema::*;
+use crate::api::router::*;
+use serde_json::{json};
+
+mod time;
+mod network;
+mod dns;
+
+pub fn router() -> Router {
+
+    let route = Router::new()
+        .get(ApiMethod::new(
+            |_,_| Ok(json!([
+                {"subdir": "network"},
+               {"subdir": "time"},
+           ])),
+            ObjectSchema::new("Directory index.")))
+        .subdir("dns", dns::router())
+        .subdir("network", network::router())
+        .subdir("time", time::router());
+
+    route
+}
diff --git a/src/api2/node/dns.rs b/src/api2/node/dns.rs
new file mode 100644 (file)
index 0000000..7dfb1f3
--- /dev/null
@@ -0,0 +1,27 @@
+use failure::*;
+
+use crate::tools;
+use crate::api::schema::*;
+use crate::api::router::*;
+use serde_json::{json, Value};
+
+
+fn get_dns(_param: Value, _info: &ApiMethod) -> Result<Value, Error> {
+
+    Ok(json!({
+        "search": "test.com",
+        "dns1": "1.2.3.4",
+        "dns2": "1.2.3.4",
+        "dns3": "1.2.3.4",
+    }))
+}
+
+pub fn router() -> Router {
+
+    let route = Router::new()
+        .get(ApiMethod::new(
+            get_dns,
+            ObjectSchema::new("Read DNS settings.")));
+
+    route
+}
diff --git a/src/api2/node/network.rs b/src/api2/node/network.rs
new file mode 100644 (file)
index 0000000..220bc4b
--- /dev/null
@@ -0,0 +1,22 @@
+use failure::*;
+
+use crate::tools;
+use crate::api::schema::*;
+use crate::api::router::*;
+use serde_json::{json, Value};
+
+
+fn get_network_config(_param: Value, _info: &ApiMethod) -> Result<Value, Error> {
+
+    Ok(json!({}))
+}
+
+pub fn router() -> Router {
+
+    let route = Router::new()
+        .get(ApiMethod::new(
+            get_network_config,
+            ObjectSchema::new("Read network configuration.")));
+
+    route
+}
diff --git a/src/api2/node/time.rs b/src/api2/node/time.rs
new file mode 100644 (file)
index 0000000..1714cdc
--- /dev/null
@@ -0,0 +1,26 @@
+use failure::*;
+
+use crate::tools;
+use crate::api::schema::*;
+use crate::api::router::*;
+use serde_json::{json, Value};
+
+
+fn get_time(_param: Value, _info: &ApiMethod) -> Result<Value, Error> {
+
+    Ok(json!({
+        "timezone": "Europe/Vienna",
+        "time": 1297163644,
+        "localtime": 1297163644,
+    }))
+}
+
+pub fn router() -> Router {
+
+    let route = Router::new()
+        .get(ApiMethod::new(
+            get_time,
+            ObjectSchema::new("Read server time and time zone settings.")));
+
+    route
+}
index d8e67ac27069964b98067ca3527ed53a50778be3..9b30013459b10e7788ddc3b357f8b7a660da65f9 100644 (file)
@@ -31,23 +31,24 @@ Ext.define('PBS.SystemConfiguration', {
                    title: gettext('Interfaces'),
                    xtype: 'proxmoxNodeNetworkView',
                    types: ['bond'],
-                   nodename: Proxmox.NodeName
+                   nodename: 'localhost'
                },
                {
                    title: gettext('DNS'),
                    xtype: 'proxmoxNodeDNSView',
-                   nodename: Proxmox.NodeName
+                   nodename: 'localhost'
                },
                {
                    title: gettext('Time'),
                    xtype: 'proxmoxNodeTimeView',
-                   nodename: Proxmox.NodeName
+                   nodename: 'localhost'
                }
            ]
 //     },
 //     {
 //         itemId: 'options',
-//            title: gettext('Options'),
+//          title: gettext('Options'),
+//         html: "TESWT"
 //         xtype: 'pbsSystemOptions'
        }
     ],