From 38e1dbbfe8864ed9083d38b96e226c1033a807d7 Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Mon, 13 Feb 2023 14:20:07 +0200 Subject: [PATCH] feat(sdbclient): add my_games API endpoint --- sdbclient/src/api/game/mod.rs | 3 +++ sdbclient/src/api/game/mygames.rs | 33 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 sdbclient/src/api/game/mygames.rs diff --git a/sdbclient/src/api/game/mod.rs b/sdbclient/src/api/game/mod.rs index a9b8d53..1245ac5 100644 --- a/sdbclient/src/api/game/mod.rs +++ b/sdbclient/src/api/game/mod.rs @@ -21,3 +21,6 @@ pub use info::*; mod join; pub use join::*; + +mod mygames; +pub use mygames::*; diff --git a/sdbclient/src/api/game/mygames.rs b/sdbclient/src/api/game/mygames.rs new file mode 100644 index 0000000..3be19eb --- /dev/null +++ b/sdbclient/src/api/game/mygames.rs @@ -0,0 +1,33 @@ +/* + * This file is part of sdbclient + * Copyright (C) 2023 Jonni Liljamo + * + * Licensed under GPL-3.0-only. + * See LICENSE for licensing information. + */ + +use reqwest; +use serde::{Deserialize, Serialize}; + +use super::{types, APIErrorWrapper}; + +pub type ResultMyGames = Vec; + +#[derive(Debug, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ResponseMyGames { + Error(APIErrorWrapper), + Valid(ResultMyGames), +} + +pub fn my_games(api_address: String, token: String) -> ResponseMyGames { + let client = reqwest::blocking::Client::new(); + + let resp = client + .get(&format!("{}/game/my_games", api_address)) + .header("Authorization", token) + .send() + .unwrap(); + + resp.json().unwrap() +} -- 2.44.1