backend/model/entity/
layers.rs1use chrono::NaiveDateTime;
2use diesel::AsChangeset;
3use diesel::{Identifiable, Insertable, Queryable};
4use uuid::Uuid;
5
6use crate::model::r#enum::layer_type::LayerType;
7use crate::schema::layers;
8
9#[derive(Identifiable, Queryable, Insertable)]
11#[diesel(table_name = layers)]
12pub struct Layer {
13 pub map_id: i64,
15 pub type_: LayerType,
17 pub name: String,
19 pub id: Uuid,
21 pub marked_deleted: Option<NaiveDateTime>,
23 pub order_index: i32,
25}
26
27#[derive(AsChangeset, Identifiable)]
29#[diesel(table_name = layers)]
30pub struct UpdateLayerOrderIndex {
31 pub id: Uuid,
33 pub order_index: i32,
35}
36
37#[derive(AsChangeset, Identifiable)]
39#[diesel(table_name = layers)]
40pub struct UpdateLayerName {
41 pub name: String,
43 pub id: Uuid,
45}
46
47#[derive(AsChangeset, Identifiable)]
49#[diesel(table_name = layers, treat_none_as_null = true)]
50pub struct UpdateLayerMarkedDeleted {
52 pub id: Uuid,
54 pub marked_deleted: Option<NaiveDateTime>,
56}