authentik_client/models/
task.rs1use 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 #[serde(rename = "queue_name", skip_serializing_if = "Option::is_none")]
20 pub queue_name: Option<String>,
21 #[serde(rename = "actor_name")]
23 pub actor_name: String,
24 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
26 pub state: Option<models::StateEnum>,
27 #[serde(rename = "mtime", skip_serializing_if = "Option::is_none")]
29 pub mtime: Option<String>,
30 #[serde(rename = "rel_obj_app_label")]
31 pub rel_obj_app_label: String,
32 #[serde(rename = "rel_obj_model")]
33 pub rel_obj_model: String,
34 #[serde(
35 rename = "rel_obj_id",
36 default,
37 with = "::serde_with::rust::double_option",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub rel_obj_id: Option<Option<String>>,
41 #[serde(rename = "uid")]
42 pub uid: String,
43 #[serde(rename = "messages")]
44 pub messages: Vec<models::LogEvent>,
45 #[serde(rename = "previous_messages")]
46 pub previous_messages: Vec<models::LogEvent>,
47 #[serde(rename = "aggregated_status")]
48 pub aggregated_status: models::TaskAggregatedStatusEnum,
49 #[serde(rename = "description", deserialize_with = "Option::deserialize")]
50 pub description: Option<String>,
51}
52
53impl Task {
54 pub fn new(
55 actor_name: String,
56 rel_obj_app_label: String,
57 rel_obj_model: String,
58 uid: String,
59 messages: Vec<models::LogEvent>,
60 previous_messages: Vec<models::LogEvent>,
61 aggregated_status: models::TaskAggregatedStatusEnum,
62 description: Option<String>,
63 ) -> Task {
64 Task {
65 message_id: None,
66 queue_name: None,
67 actor_name,
68 state: None,
69 mtime: None,
70 rel_obj_app_label,
71 rel_obj_model,
72 rel_obj_id: None,
73 uid,
74 messages,
75 previous_messages,
76 aggregated_status,
77 description,
78 }
79 }
80}