use crate::prelude::*;
use crate::types::id::{GameId, ModId};
pub use crate::types::mods::{TeamLevel, TeamMember};
#[derive(Clone)]
pub struct Members {
modio: Modio,
game: GameId,
mod_id: ModId,
}
impl Members {
pub(crate) fn new(modio: Modio, game: GameId, mod_id: ModId) -> Self {
Self {
modio,
game,
mod_id,
}
}
pub fn search(&self, filter: Filter) -> Query<TeamMember> {
let route = Route::GetModTeamMembers {
game_id: self.game,
mod_id: self.mod_id,
};
Query::new(self.modio.clone(), route, filter)
}
}
#[rustfmt::skip]
pub mod filters {
#[doc(inline)]
pub use crate::filter::prelude::Fulltext;
#[doc(inline)]
pub use crate::filter::prelude::Id;
#[doc(inline)]
pub use crate::filter::prelude::DateAdded;
filter!(UserId, USER_ID, "user_id", Eq, NotEq, In, Cmp, OrderBy);
filter!(Username, USERNAME, "username", Eq, NotEq, In, Like, OrderBy);
filter!(Level, LEVEL, "level", Eq, NotEq, In, Cmp, OrderBy);
filter!(Position, POSITION, "position", Eq, NotEq, In, Like, OrderBy);
}