|
|
@ -1,11 +1,17 @@
|
|
|
|
use crate::game::Game;
|
|
|
|
use crate::game::Game;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Return value for check functions
|
|
|
|
|
|
|
|
#[derive(Debug)]
|
|
|
|
pub enum PlayerCheck {
|
|
|
|
pub enum PlayerCheck {
|
|
|
|
|
|
|
|
/// The value checks out
|
|
|
|
Ok(String),
|
|
|
|
Ok(String),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// There is one or more issues
|
|
|
|
Err(Vec<String>),
|
|
|
|
Err(Vec<String>),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
impl Game {
|
|
|
|
impl Game {
|
|
|
|
|
|
|
|
/// Check the player name to ensure it meets guidelines
|
|
|
|
pub fn check_player_name<S: Into<String>>(&self, name: S) -> PlayerCheck {
|
|
|
|
pub fn check_player_name<S: Into<String>>(&self, name: S) -> PlayerCheck {
|
|
|
|
let name = name.into();
|
|
|
|
let name = name.into();
|
|
|
|
let name = name.trim();
|
|
|
|
let name = name.trim();
|
|
|
@ -31,6 +37,7 @@ impl Game {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Check the password to ensure it meets password requirements
|
|
|
|
pub fn check_player_password<S: Into<String>>(&self, password: S) -> PlayerCheck {
|
|
|
|
pub fn check_player_password<S: Into<String>>(&self, password: S) -> PlayerCheck {
|
|
|
|
let password = password.into();
|
|
|
|
let password = password.into();
|
|
|
|
let mut err_vec = Vec::<String>::new();
|
|
|
|
let mut err_vec = Vec::<String>::new();
|
|
|
|