@@ -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
597607impl < ' 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