use super::SamplesB64;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct FunctionPostResponse {
#[serde(rename = "data_output", skip_serializing_if = "Option::is_none")]
pub data_output: Option<Vec<crate::server::SamplesB64>>,
#[serde(rename = "annotations", skip_serializing_if = "Option::is_none")]
pub annotations: Option<Vec<crate::server::Annotation>>,
#[serde(rename = "details", skip_serializing_if = "Option::is_none")]
pub details: Option<String>,
}
impl FunctionPostResponse {
pub fn new() -> FunctionPostResponse {
FunctionPostResponse {
data_output: None,
annotations: None,
details: None,
}
}
}
impl Default for FunctionPostResponse {
fn default() -> Self {
Self::new()
}
}
pub struct FunctionPostResponseBuilder {
resp: FunctionPostResponse,
}
impl Default for FunctionPostResponseBuilder {
fn default() -> Self {
Self::new()
}
}
impl FunctionPostResponseBuilder {
pub fn new() -> FunctionPostResponseBuilder {
FunctionPostResponseBuilder {
resp: FunctionPostResponse::new(),
}
}
pub fn details(mut self, failure: impl Into<String>) -> FunctionPostResponseBuilder {
self.resp.details = Some(failure.into());
self
}
pub fn with_samples_b64(mut self, samples: SamplesB64) -> FunctionPostResponseBuilder {
self.resp.data_output = Some(vec![samples]);
self
}
pub fn build(self) -> FunctionPostResponse {
self.resp
}
}