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