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