src/api2/node/tasks.rs: use api macro for list_tasks
This commit is contained in:
parent
3e56c4abd7
commit
2c4b303c62
@ -4,7 +4,7 @@ use std::io::{BufRead, BufReader};
|
|||||||
use failure::*;
|
use failure::*;
|
||||||
use serde_json::{json, Value};
|
use serde_json::{json, Value};
|
||||||
|
|
||||||
use proxmox::api::{ApiHandler, ApiMethod, Router, RpcEnvironment};
|
use proxmox::api::{api, ApiHandler, ApiMethod, Router, RpcEnvironment};
|
||||||
use proxmox::api::router::SubdirMap;
|
use proxmox::api::router::SubdirMap;
|
||||||
use proxmox::api::schema::*;
|
use proxmox::api::schema::*;
|
||||||
use proxmox::{identity, list_subdirs_api_method, sortable};
|
use proxmox::{identity, list_subdirs_api_method, sortable};
|
||||||
@ -114,6 +114,59 @@ fn stop_task(
|
|||||||
Ok(Value::Null)
|
Ok(Value::Null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[api(
|
||||||
|
input: {
|
||||||
|
properties: {
|
||||||
|
node: {
|
||||||
|
schema: NODE_SCHEMA
|
||||||
|
},
|
||||||
|
start: {
|
||||||
|
type: u64,
|
||||||
|
description: "List tasks beginning from this offset.",
|
||||||
|
default: 0,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
limit: {
|
||||||
|
type: u64,
|
||||||
|
description: "Only list this amount of tasks.",
|
||||||
|
default: 50,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
store: {
|
||||||
|
schema: DATASTORE_SCHEMA,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
running: {
|
||||||
|
type: bool,
|
||||||
|
description: "Only list running tasks.",
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
errors: {
|
||||||
|
type: bool,
|
||||||
|
description: "Only list erroneous tasks.",
|
||||||
|
optional:true,
|
||||||
|
},
|
||||||
|
userfilter: {
|
||||||
|
optional:true,
|
||||||
|
type: String,
|
||||||
|
description: "Only list tasks from this user.",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
returns: {
|
||||||
|
description: "A list of tasks.",
|
||||||
|
type: Array,
|
||||||
|
items: {
|
||||||
|
description: "Task properties.",
|
||||||
|
type: Object,
|
||||||
|
properties: {
|
||||||
|
upid: { schema: UPID_SCHEMA },
|
||||||
|
// fixme: add other properties
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)]
|
||||||
|
/// List tasks.
|
||||||
fn list_tasks(
|
fn list_tasks(
|
||||||
param: Value,
|
param: Value,
|
||||||
_info: &ApiMethod,
|
_info: &ApiMethod,
|
||||||
@ -264,29 +317,5 @@ pub const UPID_API_ROUTER: Router = Router::new()
|
|||||||
|
|
||||||
#[sortable]
|
#[sortable]
|
||||||
pub const ROUTER: Router = Router::new()
|
pub const ROUTER: Router = Router::new()
|
||||||
.get(
|
.get(&API_METHOD_LIST_TASKS)
|
||||||
&ApiMethod::new(
|
|
||||||
&ApiHandler::Sync(&list_tasks),
|
|
||||||
&ObjectSchema::new(
|
|
||||||
"List tasks.",
|
|
||||||
&sorted!([
|
|
||||||
("node", false, &NODE_SCHEMA),
|
|
||||||
("start", true, &IntegerSchema::new("List tasks beginning from this offset.")
|
|
||||||
.minimum(0)
|
|
||||||
.default(0)
|
|
||||||
.schema()
|
|
||||||
),
|
|
||||||
("limit", true, &IntegerSchema::new("Only list this amount of tasks.")
|
|
||||||
.minimum(0)
|
|
||||||
.default(50)
|
|
||||||
.schema()
|
|
||||||
),
|
|
||||||
("store", true, &DATASTORE_SCHEMA),
|
|
||||||
("running", true, &BooleanSchema::new("Only list running tasks.").schema()),
|
|
||||||
("errors", true, &BooleanSchema::new("Only list erroneous tasks.").schema()),
|
|
||||||
("userfilter", true, &StringSchema::new("Only list tasks from this user.").schema()),
|
|
||||||
]),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.match_all("upid", &UPID_API_ROUTER);
|
.match_all("upid", &UPID_API_ROUTER);
|
||||||
|
Loading…
Reference in New Issue
Block a user