Fmt + Clippy
parent
8e6b652d5e
commit
b79db6029e
|
@ -4,9 +4,9 @@ use crate::Result;
|
||||||
use geoffrey_db::helper::load_location;
|
use geoffrey_db::helper::load_location;
|
||||||
use geoffrey_models::models::locations::{Location, LocationDb};
|
use geoffrey_models::models::locations::{Location, LocationDb};
|
||||||
use geoffrey_models::models::parameters::add_location_params::AddLocationParams;
|
use geoffrey_models::models::parameters::add_location_params::AddLocationParams;
|
||||||
|
use geoffrey_models::models::player::Player;
|
||||||
use geoffrey_models::models::CommandLevel;
|
use geoffrey_models::models::CommandLevel;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use geoffrey_models::models::player::Player;
|
|
||||||
|
|
||||||
pub struct AddLocation {}
|
pub struct AddLocation {}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,11 @@ use crate::commands::add_location::AddLocation;
|
||||||
use crate::commands::find::FindCommand;
|
use crate::commands::find::FindCommand;
|
||||||
use crate::commands::register::Register;
|
use crate::commands::register::Register;
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
|
use crate::helper::get_player_from_req;
|
||||||
use crate::Result;
|
use crate::Result;
|
||||||
|
use geoffrey_models::models::parameters::CommandRequest;
|
||||||
|
use geoffrey_models::models::player::Player;
|
||||||
|
use geoffrey_models::models::response::api_error::GeoffreyAPIError;
|
||||||
use geoffrey_models::models::response::APIResponse;
|
use geoffrey_models::models::response::APIResponse;
|
||||||
use geoffrey_models::models::CommandLevel;
|
use geoffrey_models::models::CommandLevel;
|
||||||
use serde::de::DeserializeOwned;
|
use serde::de::DeserializeOwned;
|
||||||
|
@ -11,11 +15,6 @@ use std::fmt::Debug;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use warp::filters::BoxedFilter;
|
use warp::filters::BoxedFilter;
|
||||||
use warp::Filter;
|
use warp::Filter;
|
||||||
use geoffrey_models::models::player::Player;
|
|
||||||
use crate::helper::get_player_from_req;
|
|
||||||
use geoffrey_models::models::response::api_error::GeoffreyAPIError;
|
|
||||||
use geoffrey_models::models::parameters::CommandRequest;
|
|
||||||
|
|
||||||
|
|
||||||
pub mod add_location;
|
pub mod add_location;
|
||||||
pub mod find;
|
pub mod find;
|
||||||
|
@ -40,22 +39,17 @@ pub trait Command {
|
||||||
fn user_is_authorized(user: &Option<Player>) -> Result<()> {
|
fn user_is_authorized(user: &Option<Player>) -> Result<()> {
|
||||||
if Self::command_level() == CommandLevel::ALL {
|
if Self::command_level() == CommandLevel::ALL {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
} else if let Some(user) = user {
|
||||||
else {
|
|
||||||
if let Some(user) = user {
|
|
||||||
if user.auth_level >= Self::command_level() {
|
if user.auth_level >= Self::command_level() {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Err(GeoffreyAPIError::PermissionInsufficient)
|
Err(GeoffreyAPIError::PermissionInsufficient)
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
Err(GeoffreyAPIError::PlayerNotRegistered)
|
Err(GeoffreyAPIError::PlayerNotRegistered)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
pub fn handle_command<T: Command>(ctx: Arc<Context>, req: T::Req) -> Result<T::Resp> {
|
pub fn handle_command<T: Command>(ctx: Arc<Context>, req: T::Req) -> Result<T::Resp> {
|
||||||
log::info!("Running command {}", T::command_name());
|
log::info!("Running command {}", T::command_name());
|
||||||
|
@ -65,7 +59,7 @@ pub fn handle_command<T: Command>(ctx: Arc<Context>, req: T::Req) -> Result<T::R
|
||||||
|
|
||||||
match T::user_is_authorized(&user) {
|
match T::user_is_authorized(&user) {
|
||||||
Ok(_) => T::run_command(ctx, req, user),
|
Ok(_) => T::run_command(ctx, req, user),
|
||||||
Err(e) => Err(e)
|
Err(e) => Err(e),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,13 @@ impl Command for Register {
|
||||||
CommandLevel::ALL
|
CommandLevel::ALL
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run_command(ctx: Arc<Context>, req: Self::Req, _: Option<Player>) -> crate::Result<Self::Resp> {
|
fn run_command(
|
||||||
|
ctx: Arc<Context>,
|
||||||
|
req: Self::Req,
|
||||||
|
_: Option<Player>,
|
||||||
|
) -> crate::Result<Self::Resp> {
|
||||||
let player = Player::new(req.username.as_str(), req.new_user_id);
|
let player = Player::new(req.username.as_str(), req.new_user_id);
|
||||||
|
|
||||||
ctx.db
|
ctx.db.insert(player).map_err(GeoffreyAPIError::from)
|
||||||
.insert(player)
|
|
||||||
.map_err(GeoffreyAPIError::from)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
use crate::models::locations::LocationType;
|
use crate::models::locations::LocationType;
|
||||||
|
use crate::models::parameters::CommandRequest;
|
||||||
|
use crate::models::player::UserID;
|
||||||
use crate::models::{Position, Tunnel};
|
use crate::models::{Position, Tunnel};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use crate::models::player::UserID;
|
|
||||||
use crate::models::parameters::CommandRequest;
|
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize, Clone)]
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
||||||
pub struct AddLocationParams {
|
pub struct AddLocationParams {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use crate::models::parameters::CommandRequest;
|
use crate::models::parameters::CommandRequest;
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize, Clone)]
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
||||||
pub struct FindParams {
|
pub struct FindParams {
|
||||||
|
|
|
@ -5,9 +5,9 @@ pub mod register_params;
|
||||||
use crate::models::player::{Player, UserID};
|
use crate::models::player::{Player, UserID};
|
||||||
use crate::models::token::{Permissions, Token};
|
use crate::models::token::{Permissions, Token};
|
||||||
use crate::models::CommandLevel;
|
use crate::models::CommandLevel;
|
||||||
|
use serde::de::DeserializeOwned;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
use serde::de::DeserializeOwned;
|
|
||||||
|
|
||||||
pub trait CommandRequest: Serialize + DeserializeOwned + Debug + Clone + Send + 'static {
|
pub trait CommandRequest: Serialize + DeserializeOwned + Debug + Clone + Send + 'static {
|
||||||
fn token(&self) -> u64;
|
fn token(&self) -> u64;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
use crate::models::parameters::CommandRequest;
|
||||||
use crate::models::player::UserID;
|
use crate::models::player::UserID;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use crate::models::parameters::CommandRequest;
|
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize, Clone)]
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
||||||
pub struct RegisterParameters {
|
pub struct RegisterParameters {
|
||||||
|
|
Loading…
Reference in New Issue