backend/model/entity/
drawings.rs

1use chrono::{NaiveDate, NaiveDateTime};
2use diesel::{AsChangeset, Identifiable, Insertable, Queryable};
3use uuid::Uuid;
4
5use crate::model::r#enum::drawing_shape_type::DrawingShapeType;
6use crate::schema::drawings;
7
8#[derive(Debug, Clone, Identifiable, Queryable, Insertable)]
9#[diesel(table_name = drawings)]
10pub struct Drawing {
11    pub id: Uuid,
12    pub shape_type: DrawingShapeType,
13    pub add_date: Option<NaiveDate>,
14    pub remove_date: Option<NaiveDate>,
15    pub rotation: i32,
16    pub scale_x: i32,
17    pub scale_y: i32,
18    pub x: i32,
19    pub y: i32,
20    pub layer_id: Uuid,
21    pub notes: String,
22    pub created_at: NaiveDateTime,
23    pub modified_at: NaiveDateTime,
24    pub created_by: Uuid,
25    pub modified_by: Uuid,
26}
27
28#[derive(Debug, Clone, Default, AsChangeset)]
29#[diesel(table_name = drawings)]
30pub struct UpdateDrawing {
31    pub id: Uuid,
32    pub shape_type: Option<DrawingShapeType>,
33    pub add_date: Option<Option<NaiveDate>>,
34    pub remove_date: Option<Option<NaiveDate>>,
35    pub rotation: Option<i32>,
36    pub scale_x: Option<i32>,
37    pub scale_y: Option<i32>,
38    pub x: Option<i32>,
39    pub y: Option<i32>,
40    pub layer_id: Option<Uuid>,
41    pub notes: Option<String>,
42    pub modified_by: Option<Uuid>,
43}