// SPDX-FileCopyrightText: 2024 Simon Bruder // // SPDX-License-Identifier: AGPL-3.0-or-later use diesel::prelude::*; use serde::{Deserialize, Serialize}; use uuid::Uuid; use crate::schema::*; #[derive(Debug, Queryable, Selectable, Insertable, Serialize)] #[diesel(table_name = items)] #[diesel(check_for_backend(diesel::pg::Pg))] pub struct Item { pub id: Uuid, pub name: String, pub parent: Option, } #[derive(Debug, Insertable, Deserialize, AsChangeset)] #[diesel(table_name = items)] #[diesel(check_for_backend(diesel::pg::Pg))] pub struct NewItem { pub name: String, #[serde(default)] pub parent: Option, }