Compare commits
10 Commits
af03fe896f
...
ac93f4ba37
Author | SHA1 | Date |
---|---|---|
Franklin | ac93f4ba37 | |
Franklin | 35639161bf | |
Franklin | 2fc2540321 | |
Franklin | 9ac42f82e6 | |
Franklin | cd828ed1b0 | |
Franklin | 445871ff4c | |
Franklin | 4029c57134 | |
Franklin | a83e4b5954 | |
Franklin | 6f7237098a | |
Franklin | 7641284360 |
|
@ -60,7 +60,7 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dev-dtos"
|
name = "dev-dtos"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/franklinblanco/user-dtos.git#3b3ffde695753edb4e7ffdf722299b372f2c0bd0"
|
source = "git+https://github.com/franklinblanco/user-svc-dtos-rust.git#80abf74269baf13b9fc1d186516564b0d4521270"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"serde",
|
"serde",
|
||||||
|
|
|
@ -16,4 +16,4 @@ chrono = { version = "0.4", features = [ "serde" ] }
|
||||||
rust_decimal = "1.26"
|
rust_decimal = "1.26"
|
||||||
|
|
||||||
err = { git = "https://github.com/franklinblanco/err.git" }
|
err = { git = "https://github.com/franklinblanco/err.git" }
|
||||||
dev-dtos = { git = "https://github.com/franklinblanco/user-dtos.git" }
|
dev-dtos = { git = "https://github.com/franklinblanco/user-svc-dtos-rust.git" }
|
||||||
|
|
|
@ -8,8 +8,10 @@ pub enum LeaguePlayerStatus {
|
||||||
/// The player requested to join but got denied by the league owner
|
/// The player requested to join but got denied by the league owner
|
||||||
Denied,
|
Denied,
|
||||||
/// The player joined either by getting accepted or by joining an open league
|
/// The player joined either by getting accepted or by joining an open league
|
||||||
|
/// Active group (Can only have one at a time)
|
||||||
Joined,
|
Joined,
|
||||||
/// The player is requesting to join a league
|
/// The player is requesting to join a league
|
||||||
|
/// Active group (Can only have one at a time)
|
||||||
#[default]
|
#[default]
|
||||||
Requested,
|
Requested,
|
||||||
/// The player was already in a league and was kicked out.
|
/// The player was already in a league and was kicked out.
|
||||||
|
@ -47,7 +49,35 @@ impl FromStr for LeaguePlayerStatus {
|
||||||
"Left" => Ok(Self::Requested),
|
"Left" => Ok(Self::Requested),
|
||||||
"Invited" => Ok(Self::Invited),
|
"Invited" => Ok(Self::Invited),
|
||||||
"Canceled" => Ok(Self::Canceled),
|
"Canceled" => Ok(Self::Canceled),
|
||||||
_ => Err(Error::Unspecified) //TODO: Create ParseStr error in actix_web_utils
|
_ => Err(Error::Unspecified),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
|
pub enum StatusType {
|
||||||
|
/// Inside a league
|
||||||
|
Active,
|
||||||
|
/// Either outside of a league, or attempting to join
|
||||||
|
Inactive,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl LeaguePlayerStatus {
|
||||||
|
pub fn get_status_type(&self) -> StatusType {
|
||||||
|
match self {
|
||||||
|
LeaguePlayerStatus::Denied => StatusType::Inactive,
|
||||||
|
LeaguePlayerStatus::Joined => StatusType::Active,
|
||||||
|
LeaguePlayerStatus::Requested => StatusType::Active,
|
||||||
|
LeaguePlayerStatus::Kicked => StatusType::Inactive,
|
||||||
|
LeaguePlayerStatus::Left => StatusType::Inactive,
|
||||||
|
LeaguePlayerStatus::Invited => StatusType::Inactive,
|
||||||
|
LeaguePlayerStatus::Canceled => StatusType::Inactive,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
|
pub enum ApprovalStatus {
|
||||||
|
Approved,
|
||||||
|
Denied,
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
pub mod player;
|
pub mod player;
|
||||||
pub mod league;
|
pub mod league;
|
||||||
pub mod league_player;
|
pub mod league_player;
|
||||||
pub mod trust;
|
pub mod trust;
|
||||||
|
pub mod player_metadata;
|
|
@ -0,0 +1,24 @@
|
||||||
|
use serde::{Serialize, Deserialize};
|
||||||
|
|
||||||
|
use crate::domain::player::Player;
|
||||||
|
|
||||||
|
|
||||||
|
/// Mainly used for the Chat, so that a user can request and store many players info
|
||||||
|
/// Should be as small as possible to reduce strain on servers and client storage.
|
||||||
|
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord, Default)]
|
||||||
|
pub struct PlayerMetadata {
|
||||||
|
pub id: u32,
|
||||||
|
pub name: String,
|
||||||
|
pub profile_picture_url: Option<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<Player> for PlayerMetadata {
|
||||||
|
fn from(value: Player) -> Self {
|
||||||
|
PlayerMetadata { id: value.id, name: value.name, profile_picture_url: value.profile_picture_url }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord, Default)]
|
||||||
|
pub struct PlayerIds {
|
||||||
|
pub ids: Vec<u32>
|
||||||
|
}
|
Loading…
Reference in New Issue