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: i32,
15 pub type_: LayerType,
17 pub name: String,
19 pub is_alternative: bool,
21 pub id: Uuid,
23 pub marked_deleted: Option<NaiveDateTime>,
25 pub order_index: i32,
27}
28
29#[derive(AsChangeset, Identifiable)]
31#[diesel(table_name = layers)]
32pub struct UpdateLayerOrderIndex {
33 pub id: Uuid,
35 pub order_index: i32,
37}
38
39#[derive(AsChangeset, Identifiable)]
41#[diesel(table_name = layers)]
42pub struct UpdateLayerName {
43 pub name: String,
45 pub id: Uuid,
47}
48
49#[derive(AsChangeset, Identifiable)]
51#[diesel(table_name = layers, treat_none_as_null = true)]
52pub struct UpdateLayerMarkedDeleted {
54 pub id: Uuid,
56 pub marked_deleted: Option<NaiveDateTime>,
58}