svix_webhook_with_clone/api/
background_task.rs

1use 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}