DEVELOPMENT ENVIRONMENT

~liljamo/deck-builder

8ae15449018fddd67a729e1f956eddbb024f909c — Jonni Liljamo 1 year, 8 months ago 49aee06
feat(sdbclient): get all forming games from api
2 files changed, 45 insertions(+), 0 deletions(-)

M sdbclient/src/api/game/mod.rs
A sdbclient/src/api/game/types.rs
M sdbclient/src/api/game/mod.rs => sdbclient/src/api/game/mod.rs +26 -0
@@ 11,6 11,8 @@ use serde::{Deserialize, Serialize};

use super::APIErrorWrapper;

mod types;

#[derive(Debug, Serialize, Deserialize)]
pub struct ResultCreateGame {
    pub id: String,


@@ 34,3 36,27 @@ pub fn create(api_address: String, token: String) -> ResponseCreateGame {

    resp.json().unwrap()
}

#[derive(Debug, Serialize, Deserialize)]
pub struct ResultAllForming {
    pub games: Vec<types::Game>,
}

#[derive(Debug, Serialize, Deserialize)]
#[serde(untagged)]
pub enum ResponseAllForming {
    Error(APIErrorWrapper),
    Valid(ResultAllForming),
}

pub fn all_forming(api_address: String, token: String) -> ResponseAllForming {
    let client = reqwest::blocking::Client::new();

    let resp = client
        .get(&format!("{}/game/all_forming", api_address))
        .header("Authorization", token)
        .send()
        .unwrap();

    resp.json().unwrap()
}

A sdbclient/src/api/game/types.rs => sdbclient/src/api/game/types.rs +19 -0
@@ 0,0 1,19 @@
/*
 * This file is part of sdbclient
 * Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
 *
 * Licensed under GPL-3.0-only.
 * See LICENSE for licensing information.
 */

use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct Game {
    pub id: String,
    pub p1: String,
    pub p2: String,
    pub state: u8,
    pub ended_at: String,
}