73 lines
1.8 KiB
Rust
Raw Normal View History

2021-02-11 15:10:18 +03:00
use crate::dto::Certificate;
2021-02-12 14:42:51 +03:00
use crate::service_impl::ServiceError;
2021-02-10 15:26:26 +03:00
use fluence::fce;
#[fce]
pub struct InsertResult {
pub ret_code: u32,
pub error: String,
}
2021-02-11 17:57:09 +03:00
impl From<Result<(), ServiceError>> for InsertResult {
fn from(result: Result<(), ServiceError>) -> Self {
match result {
Ok(()) => InsertResult {
ret_code: 0,
error: "".to_string(),
},
Err(e) => InsertResult {
ret_code: 1,
2021-02-11 17:57:09 +03:00
error: format!("{}", e),
},
}
}
}
#[fce]
pub struct WeightResult {
pub ret_code: u32,
pub weight: Vec<u32>,
2021-02-10 15:26:26 +03:00
pub error: String,
}
2021-02-11 17:57:09 +03:00
impl From<Result<Option<u32>, ServiceError>> for WeightResult {
fn from(result: Result<Option<u32>, ServiceError>) -> Self {
match result {
Ok(wo) => WeightResult {
ret_code: 0,
weight: wo.map(|w| vec![w]).unwrap_or(vec![]),
error: "".to_string(),
},
Err(e) => WeightResult {
ret_code: 1,
weight: vec![],
2021-02-11 17:57:09 +03:00
error: format!("{}", e),
},
}
}
}
#[fce]
pub struct AllCertsResult {
pub ret_code: u32,
pub certificates: Vec<Certificate>,
2021-02-10 15:26:26 +03:00
pub error: String,
}
2021-02-11 17:57:09 +03:00
impl From<Result<Vec<Certificate>, ServiceError>> for AllCertsResult {
fn from(result: Result<Vec<Certificate>, ServiceError>) -> Self {
match result {
Ok(certs) => AllCertsResult {
ret_code: 0,
certificates: certs,
error: "".to_string(),
},
Err(e) => AllCertsResult {
ret_code: 1,
certificates: vec![],
2021-02-11 17:57:09 +03:00
error: format!("{}", e),
},
}
}
2021-02-10 15:26:26 +03:00
}