backend/model/entity/
drawings.rs1use 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}