From a1fe4ae68ca63e9a8cfa386a10317955d07e68c1 Mon Sep 17 00:00:00 2001 From: Bram Dingelstad Date: Fri, 7 Jul 2023 13:06:01 +0200 Subject: [PATCH] feat: added sorts for DatabaseQueryOptions --- src/lib.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index bf8b80e..1736f88 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -324,8 +324,28 @@ impl Databases { let mut request = self.http_client.post(url); - if let Some(filter) = options.filter { - request = request.json(&json!({ "filter": filter })); + let json = if let Some(filter) = options.filter { + Some(json!({ "filter": filter })) + } else { + None + }; + + let json = if let Some(sorts) = options.sorts { + if let Some(mut json) = json { + json.as_object_mut() + .expect("Some object to be editable") + .insert("sorts".to_string(), sorts); + + Some(json) + } else { + Some(json!({ "sorts": sorts })) + } + } else { + json + }; + + if let Some(json) = json { + request = request.json(&json); } let response = (self.request_handler)(&mut request).await?; @@ -387,6 +407,7 @@ pub struct DatabaseQueryOptions<'a> { pub database_id: &'a str, // TODO: Implement spec for filter? pub filter: Option, + pub sorts: Option, } #[derive(Clone)]