DEVELOPMENT ENVIRONMENT

~liljamo/deck-builder

ref: f2446f1f7c0e80f77b15ee09e1a2fde01a424881 deck-builder/api/src/models/action.rs -rw-r--r-- 815 bytes
f2446f1fJonni Liljamo feat(api): impl models action, gamedata, game 1 year, 7 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * 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,
}