14 lines
444 B
Rust
14 lines
444 B
Rust
use crate::Result;
|
|
use geoffrey_db::database::Database;
|
|
use geoffrey_models::models::parameters::CommandRequest;
|
|
use geoffrey_models::models::player::Player;
|
|
|
|
pub fn get_player_from_req<T: CommandRequest>(db: &Database, req: &T) -> Result<Option<Player>> {
|
|
if let Some(user_id) = req.user_id() {
|
|
Ok(db
|
|
.filter(|_, player: &Player| player.has_user_id(&user_id))?
|
|
.next())
|
|
} else {
|
|
Ok(None)
|
|
}
|
|
} |