Skip to main content

libnasu/tasks/
task.rs

1use serde::{Deserialize, Serialize};
2
3use crate::providers::http::Params as HttpParams;
4
5#[derive(Debug, Deserialize, Serialize)]
6pub enum TaskType {
7    #[serde(rename = "http")]
8    Http,
9}
10
11#[derive(Debug, Deserialize, Serialize)]
12pub struct Rules {
13    pub interval: String,
14}
15
16#[derive(Debug, Deserialize, Serialize)]
17#[serde(untagged)]
18pub enum Params {
19    Http(HttpParams),
20}
21
22#[derive(Debug, Deserialize, Serialize)]
23pub struct Task {
24    pub id: String,
25    #[serde(rename = "type")]
26    pub task_type: TaskType,
27    pub task: Rules,
28    pub params: Params,
29}