iqengine_plugin/server/
function_post_request.rs

1use crate::server::SamplesB64;
2use crate::server::SamplesCloud;
3use serde::Serialize;
4
5#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
6pub struct FunctionPostRequest<T>
7where
8    T: Serialize,
9{
10    #[serde(rename = "samples_b64", skip_serializing_if = "Option::is_none")]
11    pub samples_b64: Option<Vec<SamplesB64>>,
12    #[serde(rename = "samples_cloud", skip_serializing_if = "Option::is_none")]
13    pub samples_cloud: Option<Vec<SamplesCloud>>,
14    #[serde(rename = "custom_params", skip_serializing_if = "Option::is_none")]
15    pub custom_params: Option<T>,
16}
17
18impl<T> FunctionPostRequest<T>
19where
20    T: Serialize,
21{
22    pub fn new() -> FunctionPostRequest<T> {
23        FunctionPostRequest {
24            samples_b64: None,
25            samples_cloud: None,
26            custom_params: None,
27        }
28    }
29}
30
31impl<T> Default for FunctionPostRequest<T>
32where
33    T: Serialize,
34{
35    fn default() -> Self {
36        Self::new()
37    }
38}