Skip to main content

twapi_v2/fields/
list_fields.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashSet;
3
4#[derive(Serialize, Deserialize, Debug, Eq, Hash, PartialEq, Clone, Default)]
5pub enum ListFields {
6    #[serde(rename = "created_at")]
7    #[default]
8    CreatedAt,
9    #[serde(rename = "follower_count")]
10    FollowerCount,
11    #[serde(rename = "member_count")]
12    MemberCount,
13    #[serde(rename = "private")]
14    Private,
15    #[serde(rename = "description")]
16    Description,
17    #[serde(rename = "owner_id")]
18    OwnerId,
19}
20
21impl ListFields {
22    pub fn all() -> HashSet<Self> {
23        let mut result = HashSet::new();
24        result.insert(Self::CreatedAt);
25        result.insert(Self::FollowerCount);
26        result.insert(Self::MemberCount);
27        result.insert(Self::Private);
28        result.insert(Self::Description);
29        result.insert(Self::OwnerId);
30        result
31    }
32}
33
34impl std::fmt::Display for ListFields {
35    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
36        match self {
37            Self::CreatedAt => write!(f, "created_at"),
38            Self::FollowerCount => write!(f, "follower_count"),
39            Self::MemberCount => write!(f, "member_count"),
40            Self::Private => write!(f, "private"),
41            Self::Description => write!(f, "description"),
42            Self::OwnerId => write!(f, "owner_id"),
43        }
44    }
45}