/*
* 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::actions;
#[derive(Serialize, Queryable)]
pub(crate) struct Action {
pub id: Uuid,
pub created_at: NaiveDateTime,
pub updated_at: NaiveDateTime,
pub game_data_id: Uuid,
pub invoker: Uuid,
pub data: serde_json::Value,
pub timestamp: NaiveDateTime,
}
#[derive(Deserialize, Insertable)]
#[diesel(table_name=actions)]
pub(crate) struct InsertableAction {
pub game_data_id: Uuid,
pub invoker: Uuid,
pub data: serde_json::Value,
pub timestamp: NaiveDateTime,
}