use super::{File, MemberCompositeKey, User};
#[cfg(feature = "validator")]
use validator::Validate;
auto_derived!(
pub struct ServerBan {
#[cfg_attr(feature = "serde", serde(rename = "_id"))]
pub id: MemberCompositeKey,
pub reason: Option<String>,
}
#[cfg_attr(feature = "validator", derive(Validate))]
pub struct DataBanCreate {
#[cfg_attr(feature = "validator", validate(length(min = 0, max = 1024)))]
pub reason: Option<String>,
}
pub struct BannedUser {
#[cfg_attr(feature = "serde", serde(rename = "_id"))]
pub id: String,
pub username: String,
pub discriminator: String,
pub avatar: Option<File>,
}
pub struct BanListResult {
pub users: Vec<BannedUser>,
pub bans: Vec<ServerBan>,
}
);
impl From<User> for BannedUser {
fn from(user: User) -> Self {
BannedUser {
id: user.id,
username: user.username,
discriminator: user.discriminator,
avatar: user.avatar,
}
}
}