aboutsummaryrefslogtreecommitdiffstats
path: root/crates/rocie-server/src/storage/sql/insert/unit
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-10-08 11:54:04 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-10-08 11:54:04 +0200
commit08cf86a44a9a7c513cd12cbc4a0bac7c029b9ded (patch)
tree88b202b25ec22b86f3b4df9f2022b7b23ec3cba1 /crates/rocie-server/src/storage/sql/insert/unit
parentchore(crates/rocie-client): Regenerate (diff)
downloadserver-08cf86a44a9a7c513cd12cbc4a0bac7c029b9ded.zip
feat(crates/rocie-server/unit-property): Init
Diffstat (limited to 'crates/rocie-server/src/storage/sql/insert/unit')
-rw-r--r--crates/rocie-server/src/storage/sql/insert/unit/mod.rs22
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,
}
}
}