1use strum::Display;
2
3#[derive(Copy, Clone, Debug, Display)]
4#[strum(serialize_all = "snake_case")]
5pub enum MediaField {
6 DurationMs,
7 Height,
8 MediaKey,
9 PreviewImageUrl,
10 Type,
11 Url,
12 Width,
13 PublicMetrics,
14 NonPublicMetrics,
15 OrganicMetrics,
16 PromotedMetrics,
17 AltText,
18 Variants
19}
20
21#[derive(Copy, Clone, Debug, Display)]
22#[strum(serialize_all = "snake_case")]
23pub enum PlaceField {
24 ContainedWithin,
25 Country,
26 CountryCode,
27 FullName,
28 Geo,
29 Id,
30 Name,
31 PlaceType,
32}
33
34#[derive(Copy, Clone, Debug, Display)]
35#[strum(serialize_all = "snake_case")]
36pub enum PollField {
37 DurationMinutes,
38 EndDatetime,
39 Id,
40 Options,
41 VotingStatus,
42}
43
44#[derive(Copy, Clone, Debug, Display)]
45#[strum(serialize_all = "snake_case")]
46pub enum TweetField {
47 Attachments,
48 AuthorId,
49 ContextAnnotations,
50 ConversationId,
51 CreatedAt,
52 Entities,
53 Geo,
54 Id,
55 InReplyToUserId,
56 Lang,
57 NonPublicMetrics,
58 PublicMetrics,
59 OrganicMetrics,
60 PromotedMetrics,
61 PossiblySensitive,
62 ReferencedTweets,
63 ReplySettings,
64 Source,
65 Text,
66 Withheld,
67}
68
69#[derive(Copy, Clone, Debug, Display)]
70#[strum(serialize_all = "snake_case")]
71pub enum UserField {
72 CreatedAt,
73 Description,
74 Entities,
75 Id,
76 Location,
77 Name,
78 PinnedTweetId,
79 ProfileImageUrl,
80 Protected,
81 PublicMetrics,
82 Url,
83 Username,
84 Verified,
85 Withheld,
86}
87
88#[derive(Copy, Clone, Debug, Display)]
89#[strum(serialize_all = "snake_case")]
90pub enum SpaceField {
91 HostIds,
92 CreatedAt,
93 CreatorId,
94 Id,
95 Lang,
96 InvitedUserIds,
97 ParticipantCount,
98 SpeakerIds,
99 StartedAt,
100 EndedAt,
101 SubscriberCount,
102 TopicIds,
103 State,
104 Title,
105 UpdatedAt,
106 ScheduledStart,
107 IsTicketed,
108}
109
110#[derive(Copy, Clone, Debug, Display)]
111#[strum(serialize_all = "snake_case")]
112pub enum TopicField {
113 Id,
114 Name,
115 Description,
116}
117
118#[derive(Copy, Clone, Debug, Display)]
119#[strum(serialize_all = "snake_case")]
120pub enum ListField {
121 CreatedAt,
122 FollowerCount,
123 MemberCount,
124 Private,
125 Description,
126 OwnerId,
127}