twapi_v2/fields/
dm_event_fields.rs1use serde::{Deserialize, Serialize};
2use std::collections::HashSet;
3
4#[derive(Serialize, Deserialize, Debug, Eq, Hash, PartialEq, Clone, Default)]
5pub enum DmEventFields {
6 #[serde(rename = "id")]
7 #[default]
8 Id,
9 #[serde(rename = "text")]
10 Text,
11 #[serde(rename = "event_type")]
12 EventType,
13 #[serde(rename = "created_at")]
14 CreatedAt,
15 #[serde(rename = "dm_conversation_id")]
16 DmConversationId,
17 #[serde(rename = "sender_id")]
18 SenderId,
19 #[serde(rename = "participant_ids")]
20 ParticipantIds,
21 #[serde(rename = "referenced_tweets")]
22 ReferencedTweets,
23 #[serde(rename = "attachments")]
24 Attachments,
25}
26
27impl DmEventFields {
28 pub fn all() -> HashSet<Self> {
29 let mut result = HashSet::new();
30 result.insert(Self::Id);
31 result.insert(Self::Text);
32 result.insert(Self::EventType);
33 result.insert(Self::CreatedAt);
34 result.insert(Self::DmConversationId);
35 result.insert(Self::SenderId);
36 result.insert(Self::ParticipantIds);
37 result.insert(Self::ReferencedTweets);
38 result.insert(Self::Attachments);
39 result
40 }
41}
42
43impl std::fmt::Display for DmEventFields {
44 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
45 match self {
46 Self::Id => write!(f, "id"),
47 Self::Text => write!(f, "text"),
48 Self::EventType => write!(f, "event_type"),
49 Self::CreatedAt => write!(f, "created_at"),
50 Self::DmConversationId => write!(f, "dm_conversation_id"),
51 Self::SenderId => write!(f, "sender_id"),
52 Self::ParticipantIds => write!(f, "participant_ids"),
53 Self::ReferencedTweets => write!(f, "referenced_tweets"),
54 Self::Attachments => write!(f, "attachments"),
55 }
56 }
57}