modio/request/user/
mod.rs

1mod get_authenticated_user;
2mod get_muted_users;
3mod get_user_events;
4mod get_user_files;
5mod get_user_games;
6mod get_user_mods;
7mod get_user_ratings;
8mod get_user_subscriptions;
9mod mute_user;
10mod unmute_user;
11
12pub use get_authenticated_user::GetAuthenticatedUser;
13pub use get_muted_users::GetMutedUsers;
14pub use get_user_events::GetUserEvents;
15pub use get_user_files::GetUserFiles;
16pub use get_user_games::GetUserGames;
17pub use get_user_mods::GetUserMods;
18pub use get_user_ratings::GetUserRatings;
19pub use get_user_subscriptions::GetUserSubscriptions;
20pub use mute_user::MuteUser;
21pub use unmute_user::UnmuteUser;
22
23/// Filters for events, subscriptions and ratings.
24#[rustfmt::skip]
25pub mod filters {
26    #[doc(inline)]
27    pub use crate::request::games::filters as games;
28    #[doc(inline)]
29    pub use crate::request::mods::filters as mods;
30    #[doc(inline)]
31    pub use crate::request::files::filters as files;
32
33    /// User event filters and sorting.
34    ///
35    /// # Filters
36    /// - `Id`
37    /// - `GameId`
38    /// - `ModId`
39    /// - `UserId`
40    /// - `DateAdded`
41    /// - `EventType`
42    ///
43    /// # Sorting
44    /// - `Id`
45    /// - `DateAdded`
46    ///
47    /// See the [modio docs](https://docs.mod.io/restapiref/#get-user-events) for more information.
48    ///
49    /// By default this returns up to `100` items. You can limit the result by using `limit` and
50    /// `offset`.
51    ///
52    /// # Example
53    /// ```
54    /// use modio::request::filter::prelude::*;
55    /// use modio::request::user::filters::events::EventType as Filter;
56    /// use modio::types::mods::EventType;
57    ///
58    /// let filter = Id::gt(1024).and(Filter::eq(EventType::MODFILE_CHANGED));
59    /// ```
60    pub mod events {
61        #[doc(inline)]
62        pub use crate::request::filter::prelude::Id;
63        #[doc(inline)]
64        pub use crate::request::filter::prelude::ModId;
65        #[doc(inline)]
66        pub use crate::request::filter::prelude::DateAdded;
67
68        #[doc(inline)]
69        pub use crate::request::mods::events::filters::UserId;
70        #[doc(inline)]
71        pub use crate::request::mods::events::filters::EventType;
72
73        filter!(GameId, GAME_ID, "game_id", Eq, NotEq, In, Cmp, OrderBy);
74    }
75
76    /// Subscriptions filters and sorting.
77    ///
78    /// # Filters
79    /// - `Fulltext`
80    /// - `Id`
81    /// - `GameId`
82    /// - `Status`
83    /// - `Visible`
84    /// - `SubmittedBy`
85    /// - `DateAdded`
86    /// - `DateUpdated`
87    /// - `DateLive`
88    /// - `MaturityOption`
89    /// - `Name`
90    /// - `NameId`
91    /// - `Summary`
92    /// - `Description`
93    /// - `Homepage`
94    /// - `Modfile`
95    /// - `MetadataBlob`
96    /// - `MetadataKVP`
97    /// - `Tags`
98    ///
99    /// # Sorting
100    /// - `Id`
101    /// - `Name`
102    /// - `Downloads`
103    /// - `Popular`
104    /// - `Ratings`
105    /// - `Subscribers`
106    ///
107    /// See the [mod.io docs](https://docs.mod.io/restapiref/#get-user-subscriptions) for more information.
108    ///
109    /// By default this returns up to `100` items. you can limit the result by using `limit` and
110    /// `offset`.
111    ///
112    /// # Example
113    /// ```
114    /// use modio::request::filter::prelude::*;
115    /// use modio::request::user::filters::subscriptions::Id;
116    ///
117    /// let filter = Id::_in(vec![1, 2]).order_by(Id::desc());
118    /// ```
119    pub mod subscriptions {
120        #[doc(inline)]
121        pub use crate::request::filter::prelude::Fulltext;
122        #[doc(inline)]
123        pub use crate::request::filter::prelude::Id;
124        #[doc(inline)]
125        pub use crate::request::filter::prelude::Name;
126        #[doc(inline)]
127        pub use crate::request::filter::prelude::NameId;
128
129        #[doc(inline)]
130        pub use crate::request::mods::filters::GameId;
131        #[doc(inline)]
132        pub use crate::request::mods::filters::Status;
133        #[doc(inline)]
134        pub use crate::request::mods::filters::Visible;
135        #[doc(inline)]
136        pub use crate::request::mods::filters::SubmittedBy;
137        #[doc(inline)]
138        pub use crate::request::mods::filters::DateAdded;
139        #[doc(inline)]
140        pub use crate::request::mods::filters::DateUpdated;
141        #[doc(inline)]
142        pub use crate::request::mods::filters::DateLive;
143        #[doc(inline)]
144        pub use crate::request::mods::filters::MaturityOption;
145        #[doc(inline)]
146        pub use crate::request::mods::filters::Summary;
147        #[doc(inline)]
148        pub use crate::request::mods::filters::Description;
149        #[doc(inline)]
150        pub use crate::request::mods::filters::Homepage;
151        #[doc(inline)]
152        pub use crate::request::mods::filters::Modfile;
153        #[doc(inline)]
154        pub use crate::request::mods::filters::MetadataBlob;
155        #[doc(inline)]
156        pub use crate::request::mods::filters::MetadataKVP;
157        #[doc(inline)]
158        pub use crate::request::mods::filters::Tags;
159
160        #[doc(inline)]
161        pub use crate::request::mods::filters::Downloads;
162        #[doc(inline)]
163        pub use crate::request::mods::filters::Popular;
164        #[doc(inline)]
165        pub use crate::request::mods::filters::Ratings;
166        #[doc(inline)]
167        pub use crate::request::mods::filters::Subscribers;
168    }
169
170    /// Rating filters and sorting.
171    ///
172    /// # Filters
173    /// - `GameId`
174    /// - `ModId`
175    /// - `Rating`
176    /// - `DateAdded`
177    ///
178    /// # Sorting
179    /// - `GameId`
180    /// - `ModId`
181    /// - `Rating`
182    /// - `DateAdded`
183    ///
184    /// See the [mod.io docs](https://docs.mod.io/restapiref/#get-user-ratings) for more information.
185    ///
186    /// By default this returns up to `100` items. You can limit the result by using `limit` and
187    /// `offset`.
188    ///
189    /// # Example
190    /// ```
191    /// use modio::request::filter::prelude::*;
192    /// use modio::request::user::filters::ratings::GameId;
193    /// use modio::request::user::filters::ratings::DateAdded;
194    /// use modio::request::user::filters::ratings::Rating;
195    ///
196    /// let filter = GameId::_in(vec![1, 2]).order_by(DateAdded::desc());
197    ///
198    /// let filter = Rating::positive().order_by(DateAdded::desc());
199    /// ```
200    pub mod ratings {
201        use crate::request::filter::prelude::*;
202
203        #[doc(inline)]
204        pub use crate::request::filter::prelude::ModId;
205
206        filter!(GameId, GAME_ID, "game_id", Eq, NotEq, In, Cmp, OrderBy);
207        filter!(Rating, RATING, "rating", Eq, NotEq, In, Cmp, OrderBy);
208        filter!(DateAdded, DATE_ADDED, "date_added", Eq, NotEq, In, Cmp, OrderBy);
209
210        impl Rating {
211            pub fn positive() -> Filter {
212                Rating::eq(1)
213            }
214
215            pub fn negative() -> Filter {
216                Rating::eq(-1)
217            }
218        }
219    }
220}