proxmox/proxmox-api-macro/tests/ext-schema.rs
Wolfgang Bumiller c282c8ce23 api-macro: don't return Null without return schema
serde_json turns () into Null anyway, so there's no need to
check this!

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-12-04 14:25:12 +01:00

44 lines
1000 B
Rust

//! This should test the usage of "external" schemas. If a property is declared with a path instead
//! of an object, we expect the path to lead to a schema.
use proxmox::api::{schema, RpcEnvironment};
use proxmox_api_macro::api;
use failure::Error;
use serde_json::{json, Value};
pub const NAME_SCHEMA: schema::Schema = schema::StringSchema::new("Archive name.")
//.format(&FILENAME_FORMAT)
.schema();
#[api(
input: {
properties: {
"archive-name": {
schema: NAME_SCHEMA,
}
}
}
)]
/// Get an archive.
pub fn get_archive(archive_name: String) -> Result<(), Error> {
let _ = archive_name;
Ok(())
}
#[api(
input: {
properties: {
"archive-name": {
schema: NAME_SCHEMA,
}
}
}
)]
/// Get an archive.
pub fn get_archive_2(param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result<Value, Error> {
let _ = param;
let _ = rpcenv;
Ok(json!("test"))
}