diff options
Diffstat (limited to 'crates/rocie-server/src/storage/sql/insert/unit')
| -rw-r--r-- | crates/rocie-server/src/storage/sql/insert/unit/mod.rs | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/crates/rocie-server/src/storage/sql/insert/unit/mod.rs b/crates/rocie-server/src/storage/sql/insert/unit/mod.rs index ba08487..815cb1e 100644 --- a/crates/rocie-server/src/storage/sql/insert/unit/mod.rs +++ b/crates/rocie-server/src/storage/sql/insert/unit/mod.rs @@ -2,7 +2,11 @@ use serde::{Deserialize, Serialize}; use sqlx::query; use uuid::Uuid; -use crate::storage::sql::{insert::{Operations, Transactionable}, unit::{Unit, UnitId}}; +use crate::storage::sql::{ + insert::{Operations, Transactionable}, + unit::{Unit, UnitId}, + unit_property::UnitPropertyId, +}; #[derive(Debug, Deserialize, Serialize)] pub(crate) enum Operation { @@ -11,6 +15,7 @@ pub(crate) enum Operation { full_name_singular: String, full_name_plural: String, short_name: String, + unit_property: UnitPropertyId, description: Option<String>, }, } @@ -27,13 +32,14 @@ impl Transactionable for Operation { full_name_plural, short_name, description, + unit_property, } => { query!( " - INSERT INTO units (id, full_name_singular, full_name_plural, short_name, description) - VALUES (?,?,?,?,?) + INSERT INTO units (id, unit_property, full_name_singular, full_name_plural, short_name, description) + VALUES (?,?,?,?,?,?) ", - id, full_name_singular, full_name_plural, short_name, description, + id, unit_property, full_name_singular, full_name_plural, short_name, description, ) .execute(txn) .await?; @@ -50,13 +56,14 @@ impl Transactionable for Operation { full_name_plural, short_name, description, + unit_property, } => { query!( " DELETE FROM units - WHERE id = ? AND full_name_singular = ? AND full_name_plural = ? AND short_name = ? AND description = ?; + WHERE id = ? AND full_name_singular = ? AND full_name_plural = ? AND short_name = ? AND description = ? AND unit_property = ?; ", - id, full_name_singular, full_name_plural, short_name, description, + id, full_name_singular, full_name_plural, short_name, description, unit_property ) .execute(txn) .await?; @@ -87,6 +94,7 @@ impl Unit { full_name_plural: String, short_name: String, description: Option<String>, + unit_property: UnitPropertyId, ops: &mut Operations<Operation>, ) -> Self { let id = UnitId::from(Uuid::new_v4()); @@ -97,6 +105,7 @@ impl Unit { full_name_plural: full_name_plural.clone(), short_name: short_name.clone(), description: description.clone(), + unit_property, }); Self { @@ -105,6 +114,7 @@ impl Unit { full_name_plural, short_name, description, + unit_property, } } } |
