twapi_v2/fields/
poll_fields.rs1use serde::{Deserialize, Serialize};
2use std::collections::HashSet;
3
4#[derive(Serialize, Deserialize, Debug, Eq, Hash, PartialEq, Clone)]
5pub enum PollFields {
6 #[serde(rename = "duration_minutes")]
7 DurationMinutes,
8 #[serde(rename = "end_datetime")]
9 EndDatetime,
10 #[serde(rename = "id")]
11 Id,
12 #[serde(rename = "options")]
13 Options,
14 #[serde(rename = "voting_status")]
15 VotingStatus,
16}
17
18impl PollFields {
19 pub fn all() -> HashSet<Self> {
20 let mut result = HashSet::new();
21 result.insert(Self::DurationMinutes);
22 result.insert(Self::EndDatetime);
23 result.insert(Self::Id);
24 result.insert(Self::Options);
25 result.insert(Self::VotingStatus);
26 result
27 }
28}
29
30impl std::fmt::Display for PollFields {
31 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
32 match self {
33 Self::DurationMinutes => write!(f, "duration_minutes"),
34 Self::EndDatetime => write!(f, "end_datetime"),
35 Self::Id => write!(f, "id"),
36 Self::Options => write!(f, "options"),
37 Self::VotingStatus => write!(f, "voting_status"),
38 }
39 }
40}
41
42impl Default for PollFields {
43 fn default() -> Self {
44 Self::DurationMinutes
45 }
46}