Implement basic player info command
This commit is contained in:
parent
3836ccfb9f
commit
c06c18c0ba
4 changed files with 123 additions and 20 deletions
|
|
@ -25,7 +25,7 @@ pub struct EventSets {
|
|||
#[derive(cynic::QueryFragment, Debug)]
|
||||
#[cynic(variables = "EventSetsVars")]
|
||||
struct Event {
|
||||
#[arguments(page: $page, perPage: 30, sortType: RECENT)]
|
||||
#[arguments(page: $page, perPage: 25, sortType: RECENT)]
|
||||
sets: Option<SetConnection>,
|
||||
}
|
||||
|
||||
|
|
@ -74,6 +74,12 @@ struct Player {
|
|||
id: Option<PlayerId>,
|
||||
gamer_tag: Option<String>,
|
||||
prefix: Option<String>,
|
||||
user: Option<User>,
|
||||
}
|
||||
|
||||
#[derive(cynic::QueryFragment, Debug)]
|
||||
struct User {
|
||||
slug: Option<String>,
|
||||
}
|
||||
|
||||
// Unwrap
|
||||
|
|
@ -121,8 +127,9 @@ impl QueryUnwrap<EventSetsVars> for EventSets {
|
|||
let p_ = p.player?;
|
||||
Some(PlayerData {
|
||||
id: p_.id?,
|
||||
name: p_.gamer_tag,
|
||||
prefix: p_.prefix,
|
||||
name: p_.gamer_tag?,
|
||||
prefix: p_.prefix.filter(|pr| !pr.is_empty()),
|
||||
slug: p_.user?.slug?,
|
||||
})
|
||||
})
|
||||
.try_collect()
|
||||
|
|
|
|||
|
|
@ -23,6 +23,12 @@ struct Player {
|
|||
id: Option<PlayerId>,
|
||||
gamer_tag: Option<String>,
|
||||
prefix: Option<String>,
|
||||
user: Option<User>,
|
||||
}
|
||||
|
||||
#[derive(cynic::QueryFragment, Debug)]
|
||||
struct User {
|
||||
slug: Option<String>,
|
||||
}
|
||||
|
||||
// Unwrapping
|
||||
|
|
@ -30,8 +36,9 @@ struct Player {
|
|||
#[derive(Debug, Clone)]
|
||||
pub struct PlayerData {
|
||||
pub id: PlayerId,
|
||||
pub name: Option<String>,
|
||||
pub name: String,
|
||||
pub prefix: Option<String>,
|
||||
pub slug: String,
|
||||
}
|
||||
|
||||
impl QueryUnwrap<PlayerInfoVars> for PlayerInfo {
|
||||
|
|
@ -41,8 +48,9 @@ impl QueryUnwrap<PlayerInfoVars> for PlayerInfo {
|
|||
let player = response.data?.player?;
|
||||
Some(PlayerData {
|
||||
id: player.id?,
|
||||
name: player.gamer_tag,
|
||||
name: player.gamer_tag?,
|
||||
prefix: player.prefix.filter(|pr| !pr.is_empty()),
|
||||
slug: player.user?.slug?,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue