cloudillo_types/
action_types.rs1use serde::{Deserialize, Serialize};
4use serde_with::skip_serializing_none;
5
6use crate::types::Timestamp;
7
8pub use crate::auth_adapter::ACCESS_TOKEN_EXPIRY;
9
10#[skip_serializing_none]
11#[derive(Debug, Default, Clone, Serialize, Deserialize)]
12pub struct CreateAction {
13 #[serde(rename = "type")]
14 pub typ: Box<str>,
15 #[serde(rename = "subType")]
16 pub sub_typ: Option<Box<str>>,
17 #[serde(rename = "parentId")]
18 pub parent_id: Option<Box<str>>,
19 #[serde(rename = "audienceTag")]
20 pub audience_tag: Option<Box<str>>,
21 pub content: Option<serde_json::Value>,
22 pub attachments: Option<Vec<Box<str>>>,
23 pub subject: Option<Box<str>>,
24 #[serde(rename = "expiresAt")]
25 pub expires_at: Option<Timestamp>,
26 pub visibility: Option<char>,
27 pub flags: Option<Box<str>>,
29 pub x: Option<serde_json::Value>,
32}
33
34pub mod status {
36 pub const ACTIVE: char = 'A';
39
40 pub const CONFIRMATION: char = 'C';
43
44 pub const NOTIFICATION: char = 'N';
47
48 pub const DELETED: char = 'D';
51}
52
53