aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs35
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>,
+}