/*
* This file is part of laurelin/api
* Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
*
* Licensed under GPL-3.0-only.
* See LICENSE for licensing information.
*/
use chrono::NaiveDateTime;
use diesel::{Insertable, Queryable};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::schema::gamedata;
#[derive(Serialize, Queryable)]
pub(crate) struct GameData {
pub id: Uuid,
pub created_at: NaiveDateTime,
pub updated_at: NaiveDateTime,
pub turn: i16,
pub host_hand: Option<serde_json::Value>,
pub host_deck: Option<serde_json::Value>,
pub guest_hand: Option<serde_json::Value>,
pub guest_deck: Option<serde_json::Value>,
}
#[derive(Deserialize, Insertable)]
#[diesel(table_name=gamedata)]
pub(crate) struct InsertableGameData {
pub turn: i16,
pub host_hand: Option<serde_json::Value>,
pub host_deck: Option<serde_json::Value>,
pub guest_hand: Option<serde_json::Value>,
pub guest_deck: Option<serde_json::Value>,
}