iqengine_plugin/server/
mod.rs

1use serde::Serialize;
2
3mod function_parameter;
4pub use function_parameter::{FunctionParameters, FunctionParamsBuilder};
5
6mod custom_param_type;
7pub use custom_param_type::CustomParamType;
8
9mod function_post_request;
10pub use function_post_request::FunctionPostRequest;
11
12mod function_post_response;
13pub use function_post_response::{FunctionPostResponse, FunctionPostResponseBuilder};
14
15mod samples_b64;
16pub use samples_b64::{SamplesB64, SamplesB64Builder};
17
18mod samples_cloud;
19pub use samples_cloud::SamplesCloud;
20
21mod data_type;
22pub use data_type::DataType;
23
24mod annotation;
25pub use annotation::Annotation;
26
27pub mod error;
28use self::error::IQEngineError;
29
30pub trait IQFunction<P>
31where
32    P: Serialize,
33{
34    fn parameters(self) -> FunctionParameters;
35    async fn apply(
36        self,
37        request: FunctionPostRequest<P>,
38    ) -> Result<FunctionPostResponse, IQEngineError>;
39}