Skip to main content

authentik_client/models/
schedule.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2026.2.0
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Schedule {
16    #[serde(rename = "id")]
17    pub id: uuid::Uuid,
18    /// Unique schedule identifier
19    #[serde(rename = "identifier", deserialize_with = "Option::deserialize")]
20    pub identifier: Option<String>,
21    #[serde(rename = "uid")]
22    pub uid: String,
23    /// Dramatiq actor to call
24    #[serde(rename = "actor_name")]
25    pub actor_name: String,
26    #[serde(rename = "rel_obj_app_label")]
27    pub rel_obj_app_label: String,
28    #[serde(rename = "rel_obj_model")]
29    pub rel_obj_model: String,
30    #[serde(
31        rename = "rel_obj_id",
32        default,
33        with = "::serde_with::rust::double_option",
34        skip_serializing_if = "Option::is_none"
35    )]
36    pub rel_obj_id: Option<Option<String>>,
37    /// When to schedule tasks
38    #[serde(rename = "crontab")]
39    pub crontab: String,
40    /// Pause this schedule
41    #[serde(rename = "paused", skip_serializing_if = "Option::is_none")]
42    pub paused: Option<bool>,
43    #[serde(rename = "next_run")]
44    pub next_run: String,
45    #[serde(rename = "description", deserialize_with = "Option::deserialize")]
46    pub description: Option<String>,
47    #[serde(rename = "last_task_status", deserialize_with = "Option::deserialize")]
48    pub last_task_status: Option<models::LastTaskStatusEnum>,
49}
50
51impl Schedule {
52    pub fn new(
53        id: uuid::Uuid,
54        identifier: Option<String>,
55        uid: String,
56        actor_name: String,
57        rel_obj_app_label: String,
58        rel_obj_model: String,
59        crontab: String,
60        next_run: String,
61        description: Option<String>,
62        last_task_status: Option<models::LastTaskStatusEnum>,
63    ) -> Schedule {
64        Schedule {
65            id,
66            identifier,
67            uid,
68            actor_name,
69            rel_obj_app_label,
70            rel_obj_model,
71            rel_obj_id: None,
72            crontab,
73            paused: None,
74            next_run,
75            description,
76            last_task_status,
77        }
78    }
79}