svix_webhook_with_clone/api/
background_task.rs1use crate::{apis::background_tasks_api, error::Result, models::*, Configuration};
2
3#[derive(Default)]
4pub struct BackgroundTaskListOptions {
5 pub iterator: Option<String>,
6 pub limit: Option<i32>,
7 pub order: Option<Ordering>,
8 pub status: Option<BackgroundTaskStatus>,
9 pub task: Option<BackgroundTaskType>,
10}
11
12pub struct BackgroundTask<'a> {
13 cfg: &'a Configuration,
14}
15
16impl<'a> BackgroundTask<'a> {
17 pub(super) fn new(cfg: &'a Configuration) -> Self {
18 Self { cfg }
19 }
20
21 pub async fn list(
22 &self,
23 options: Option<BackgroundTaskListOptions>,
24 ) -> Result<ListResponseBackgroundTaskOut> {
25 let BackgroundTaskListOptions {
26 iterator,
27 limit,
28 order,
29 status,
30 task,
31 } = options.unwrap_or_default();
32 background_tasks_api::list_background_tasks(
33 self.cfg,
34 background_tasks_api::ListBackgroundTasksParams {
35 status,
36 task,
37 limit,
38 iterator,
39 order,
40 },
41 )
42 .await
43 }
44
45 pub async fn get(&self, task_id: String) -> Result<BackgroundTaskOut> {
46 background_tasks_api::get_background_task(
47 self.cfg,
48 background_tasks_api::GetBackgroundTaskParams { task_id },
49 )
50 .await
51 }
52}