diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..1ba6207 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,35 @@ + +use serde::{Serialize, Deserialize}; + +#[derive(Serialize, Deserialize, Debug)] +pub struct ApiRequest { + pub method: String, + pub path_and_query: String, + pub body: Option<ApiBody>, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct ApiBody { + pub query: Option<ApiQuery>, + pub from: Option<u32>, + pub size: Option<u32>, + pub sort: Option<String>, // XXX + pub slice: Option<String>, // XXX +} + +#[derive(Serialize, Deserialize, Debug)] +pub enum ApiQuery { + #[serde(rename = "match")] + Match(MatchQuery), +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct MatchQuery { + message: QueryField, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct QueryField{ + query: String, + fuzziness: Option<String>, +} |