Skip to content

Commit 1106ac6

Browse files
authored
Add canceled by filter query for v0.30.0 (#398)
1 parent f5cf0bc commit 1106ac6

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/tasks.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,9 @@ pub struct TasksQuery<'a, T> {
479479
// Uids of the tasks to retrieve
480480
#[serde(skip_serializing_if = "Option::is_none")]
481481
uids: Option<Vec<&'a u32>>,
482+
// Uids of the tasks that canceled other tasks
483+
#[serde(skip_serializing_if = "Option::is_none")]
484+
canceled_by: Option<Vec<&'a u32>>,
482485
// Date to retrieve all tasks that were enqueued before it.
483486
#[serde(
484487
skip_serializing_if = "Option::is_none",
@@ -592,6 +595,13 @@ impl<'a, T> TasksQuery<'a, T> {
592595
self.after_finished_at = Some(*after_finished_at);
593596
self
594597
}
598+
pub fn with_canceled_by<'b>(
599+
&'b mut self,
600+
task_uids: impl IntoIterator<Item = &'a u32>,
601+
) -> &'b mut TasksQuery<'a, T> {
602+
self.canceled_by = Some(task_uids.into_iter().collect());
603+
self
604+
}
595605
}
596606

597607
impl<'a> TasksQuery<'a, TasksCancelFilters> {
@@ -602,6 +612,7 @@ impl<'a> TasksQuery<'a, TasksCancelFilters> {
602612
statuses: None,
603613
task_types: None,
604614
uids: None,
615+
canceled_by: None,
605616
before_enqueued_at: None,
606617
after_enqueued_at: None,
607618
before_started_at: None,
@@ -625,6 +636,7 @@ impl<'a> TasksQuery<'a, TasksDeleteFilters> {
625636
statuses: None,
626637
task_types: None,
627638
uids: None,
639+
canceled_by: None,
628640
before_enqueued_at: None,
629641
after_enqueued_at: None,
630642
before_started_at: None,
@@ -648,6 +660,7 @@ impl<'a> TasksQuery<'a, TasksPaginationFilters> {
648660
statuses: None,
649661
task_types: None,
650662
uids: None,
663+
canceled_by: None,
651664
before_enqueued_at: None,
652665
after_enqueued_at: None,
653666
before_started_at: None,
@@ -938,7 +951,8 @@ mod test {
938951
async fn test_get_tasks_on_struct_with_params() -> Result<(), Error> {
939952
let mock_server_url = &mockito::server_url();
940953
let client = Client::new(mock_server_url, "masterKey");
941-
let path = "/tasks?indexUids=movies,test&statuses=equeued&types=documentDeletion";
954+
let path =
955+
"/tasks?indexUids=movies,test&statuses=equeued&types=documentDeletion&canceledBy=9";
942956

943957
let mock_res = mock("GET", path).with_status(200).create();
944958

@@ -947,6 +961,7 @@ mod test {
947961
.with_index_uids(["movies", "test"])
948962
.with_statuses(["equeued"])
949963
.with_types(["documentDeletion"])
964+
.with_canceled_by([&9])
950965
.execute()
951966
.await;
952967

0 commit comments

Comments
 (0)