15 lines
462 B
Rust
15 lines
462 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>(db: &Database, req: &CommandRequest<T>) -> Result<Option<Player>> {
|
|
if let Some(user_id) = &req.user {
|
|
Ok(db
|
|
.filter(|_, player: &Player| player.has_user_id(user_id)).map_err(|e| e.into())?
|
|
.next())
|
|
} else {
|
|
Ok(None)
|
|
}
|
|
}
|