werewolves/werewolves-proto/src/game_record.rs

26 lines
567 B
Rust
Raw Normal View History

2026-02-17 23:23:04 +00:00
use crate::{
game::{Game, GameSettings, story::GameStory},
player::PlayerId,
};
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
2026-02-17 23:23:04 +00:00
pub use crate::game::GameId;
#[cfg_attr(feature = "ssr", derive(::sqlx::FromRow))]
#[derive(Debug)]
pub struct GameRecord {
pub id: GameId,
2026-02-17 23:23:04 +00:00
pub host: PlayerId,
pub created_at: DateTime<Utc>,
pub game_state: GameRecordState,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum GameRecordState {
Lobby(GameSettings),
RoleReveal(Game),
Started(Game),
GameOver(GameStory),
}