Skip to main content

authentik_client/models/
task.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 Task {
16    #[serde(rename = "message_id", skip_serializing_if = "Option::is_none")]
17    pub message_id: Option<uuid::Uuid>,
18    /// Queue name
19    #[serde(rename = "queue_name", skip_serializing_if = "Option::is_none")]
20    pub queue_name: Option<String>,
21    /// Dramatiq actor name
22    #[serde(rename = "actor_name")]
23    pub actor_name: String,
24    /// Task status
25    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
26    pub state: Option<models::TaskStateEnum>,
27    /// Task last modified time
28    #[serde(rename = "mtime", skip_serializing_if = "Option::is_none")]
29    pub mtime: Option<String>,
30    /// Number of retries
31    #[serde(rename = "retries", skip_serializing_if = "Option::is_none")]
32    pub retries: Option<u64>,
33    /// Planned execution time
34    #[serde(
35        rename = "eta",
36        default,
37        with = "::serde_with::rust::double_option",
38        skip_serializing_if = "Option::is_none"
39    )]
40    pub eta: Option<Option<String>>,
41    #[serde(rename = "rel_obj_app_label")]
42    pub rel_obj_app_label: String,
43    #[serde(rename = "rel_obj_model")]
44    pub rel_obj_model: String,
45    #[serde(
46        rename = "rel_obj_id",
47        default,
48        with = "::serde_with::rust::double_option",
49        skip_serializing_if = "Option::is_none"
50    )]
51    pub rel_obj_id: Option<Option<String>>,
52    #[serde(rename = "uid")]
53    pub uid: String,
54    #[serde(rename = "logs")]
55    pub logs: Vec<models::LogEvent>,
56    #[serde(rename = "previous_logs")]
57    pub previous_logs: Vec<models::LogEvent>,
58    #[serde(rename = "aggregated_status")]
59    pub aggregated_status: models::TaskAggregatedStatusEnum,
60    #[serde(rename = "description", deserialize_with = "Option::deserialize")]
61    pub description: Option<String>,
62}
63
64impl Task {
65    pub fn new(
66        actor_name: String,
67        rel_obj_app_label: String,
68        rel_obj_model: String,
69        uid: String,
70        logs: Vec<models::LogEvent>,
71        previous_logs: Vec<models::LogEvent>,
72        aggregated_status: models::TaskAggregatedStatusEnum,
73        description: Option<String>,
74    ) -> Task {
75        Task {
76            message_id: None,
77            queue_name: None,
78            actor_name,
79            state: None,
80            mtime: None,
81            retries: None,
82            eta: None,
83            rel_obj_app_label,
84            rel_obj_model,
85            rel_obj_id: None,
86            uid,
87            logs,
88            previous_logs,
89            aggregated_status,
90            description,
91        }
92    }
93}