twapi_v2/fields/
space_fields.rs1use serde::{Deserialize, Serialize};
2use std::collections::HashSet;
3
4#[derive(Serialize, Deserialize, Debug, Eq, Hash, PartialEq, Clone)]
5pub enum SpaceFields {
6 #[serde(rename = "host_ids")]
7 HostIds,
8 #[serde(rename = "created_at")]
9 CreatedAt,
10 #[serde(rename = "creator_id")]
11 CreatorId,
12 #[serde(rename = "id")]
13 Id,
14 #[serde(rename = "lang")]
15 Lang,
16 #[serde(rename = "invited_user_ids")]
17 InvitedUserIds,
18 #[serde(rename = "participant_count")]
19 ParticipantCount,
20 #[serde(rename = "speaker_ids")]
21 SpeakerIds,
22 #[serde(rename = "started_at")]
23 StartedAt,
24 #[serde(rename = "ended_at")]
25 EndedAt,
26 #[serde(rename = "subscriber_count")]
27 SubscriberCount,
28 #[serde(rename = "topic_ids")]
29 TopicIds,
30 #[serde(rename = "state")]
31 State,
32 #[serde(rename = "title")]
33 Title,
34 #[serde(rename = "updated_at")]
35 UpdatedAt,
36 #[serde(rename = "scheduled_start")]
37 ScheduledStart,
38 #[serde(rename = "is_ticketed")]
39 IsTicketed,
40}
41
42impl SpaceFields {
43 pub fn all() -> HashSet<Self> {
44 let mut result = HashSet::new();
45 result.insert(Self::HostIds);
46 result.insert(Self::CreatedAt);
47 result.insert(Self::CreatorId);
48 result.insert(Self::Id);
49 result.insert(Self::Lang);
50 result.insert(Self::InvitedUserIds);
51 result.insert(Self::ParticipantCount);
52 result.insert(Self::SpeakerIds);
53 result.insert(Self::StartedAt);
54 result.insert(Self::EndedAt);
55 result.insert(Self::SubscriberCount);
56 result.insert(Self::TopicIds);
57 result.insert(Self::State);
58 result.insert(Self::Title);
59 result.insert(Self::UpdatedAt);
60 result.insert(Self::ScheduledStart);
61 result.insert(Self::IsTicketed);
62 result
63 }
64}
65
66impl std::fmt::Display for SpaceFields {
67 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
68 match self {
69 Self::HostIds => write!(f, "host_ids"),
70 Self::CreatedAt => write!(f, "created_at"),
71 Self::CreatorId => write!(f, "creator_id"),
72 Self::Id => write!(f, "id"),
73 Self::Lang => write!(f, "lang"),
74 Self::InvitedUserIds => write!(f, "invited_user_ids"),
75 Self::ParticipantCount => write!(f, "participant_count"),
76 Self::SpeakerIds => write!(f, "speaker_ids"),
77 Self::StartedAt => write!(f, "started_at"),
78 Self::EndedAt => write!(f, "ended_at"),
79 Self::SubscriberCount => write!(f, "subscriber_count"),
80 Self::TopicIds => write!(f, "topic_ids"),
81 Self::State => write!(f, "state"),
82 Self::Title => write!(f, "title"),
83 Self::UpdatedAt => write!(f, "updated_at"),
84 Self::ScheduledStart => write!(f, "scheduled_start"),
85 Self::IsTicketed => write!(f, "is_ticketed"),
86 }
87 }
88}
89
90impl Default for SpaceFields {
91 fn default() -> Self {
92 Self::HostIds
93 }
94}