1use crate::prelude::*;
3use crate::types::id::{GameId, ModId};
4
5pub use crate::types::mods::{TeamLevel, TeamMember};
6
7#[derive(Clone)]
9pub struct Members {
10 modio: Modio,
11 game: GameId,
12 mod_id: ModId,
13}
14
15impl Members {
16 pub(crate) fn new(modio: Modio, game: GameId, mod_id: ModId) -> Self {
17 Self {
18 modio,
19 game,
20 mod_id,
21 }
22 }
23
24 pub fn search(&self, filter: Filter) -> Query<TeamMember> {
28 let route = Route::GetModTeamMembers {
29 game_id: self.game,
30 mod_id: self.mod_id,
31 };
32 Query::new(self.modio.clone(), route, filter)
33 }
34}
35
36#[rustfmt::skip]
65pub mod filters {
66 #[doc(inline)]
67 pub use crate::filter::prelude::Fulltext;
68 #[doc(inline)]
69 pub use crate::filter::prelude::Id;
70 #[doc(inline)]
71 pub use crate::filter::prelude::DateAdded;
72
73 filter!(UserId, USER_ID, "user_id", Eq, NotEq, In, Cmp, OrderBy);
74 filter!(Username, USERNAME, "username", Eq, NotEq, In, Like, OrderBy);
75 filter!(Level, LEVEL, "level", Eq, NotEq, In, Cmp, OrderBy);
76 filter!(Position, POSITION, "position", Eq, NotEq, In, Like, OrderBy);
77}