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