Skip to content

Commit b094225

Browse files
committed
Support reverse param in get_tasks
1 parent 40f9402 commit b094225

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/tasks.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,10 @@ pub struct TasksQuery<'a, T, Http: HttpClient> {
551551

552552
#[serde(flatten)]
553553
pagination: T,
554+
555+
// Whether to reverse the sort
556+
#[serde(skip_serializing_if = "Option::is_none")]
557+
reverse: Option<bool>,
554558
}
555559

556560
#[allow(missing_docs)]
@@ -632,6 +636,10 @@ impl<'a, T, Http: HttpClient> TasksQuery<'a, T, Http> {
632636
self.canceled_by = Some(task_uids.into_iter().collect());
633637
self
634638
}
639+
pub fn with_reverse<'b>(&'b mut self, reverse: bool) -> &'b mut TasksQuery<'a, T, Http> {
640+
self.reverse = Some(reverse);
641+
self
642+
}
635643
}
636644

637645
impl<'a, Http: HttpClient> TasksQuery<'a, TasksCancelFilters, Http> {
@@ -650,6 +658,7 @@ impl<'a, Http: HttpClient> TasksQuery<'a, TasksCancelFilters, Http> {
650658
after_started_at: None,
651659
before_finished_at: None,
652660
after_finished_at: None,
661+
reverse: None,
653662
pagination: TasksCancelFilters {},
654663
}
655664
}
@@ -676,6 +685,7 @@ impl<'a, Http: HttpClient> TasksQuery<'a, TasksDeleteFilters, Http> {
676685
before_finished_at: None,
677686
after_finished_at: None,
678687
pagination: TasksDeleteFilters {},
688+
reverse: None,
679689
}
680690
}
681691

@@ -704,6 +714,7 @@ impl<'a, Http: HttpClient> TasksQuery<'a, TasksPaginationFilters, Http> {
704714
limit: None,
705715
from: None,
706716
},
717+
reverse: None,
707718
}
708719
}
709720
pub fn with_limit<'b>(
@@ -904,7 +915,7 @@ mod test {
904915
let mock_server_url = s.url();
905916
let client = Client::new(mock_server_url, Some("masterKey")).unwrap();
906917
let path =
907-
"/tasks?indexUids=movies,test&statuses=equeued&types=documentDeletion&uids=1&limit=0&from=1";
918+
"/tasks?indexUids=movies,test&statuses=equeued&types=documentDeletion&uids=1&limit=0&from=1&reverse=true";
908919

909920
let mock_res = s.mock("GET", path).with_status(200).create_async().await;
910921

@@ -915,7 +926,8 @@ mod test {
915926
.with_types(["documentDeletion"])
916927
.with_from(1)
917928
.with_limit(0)
918-
.with_uids([&1]);
929+
.with_uids([&1])
930+
.with_reverse(true);
919931

920932
let _ = client.get_tasks_with(&query).await;
921933

0 commit comments

Comments
 (0)