journallib/jsonb/
lesson_action.rs1use chrono::NaiveDateTime;
2use common::utils::serialize_option_naive_date;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5#[cfg(feature = "actix")]
6use actix::prelude::*;
7use postgres_types::{FromSql, ToSql};
8
9#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, FromSql, ToSql)]
10#[cfg_attr(feature = "actix", derive(Message))]
11#[cfg_attr(feature = "actix", rtype(result = "()"))]
12#[serde(rename_all = "camelCase")]
13pub struct LessonAction {
14 pub action: String,
15 pub lesson: Option<Uuid>,
16 pub subgroup: Uuid,
17 pub from_u: Option<Uuid>,
18 #[serde(default)]
19 #[serde(with = "serialize_option_naive_date")]
20 pub date: Option<NaiveDateTime>,
21 pub entity_id: Option<Uuid>,
22}