From 08cf86a44a9a7c513cd12cbc4a0bac7c029b9ded Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Wed, 8 Oct 2025 11:54:04 +0200 Subject: feat(crates/rocie-server/unit-property): Init --- .../rocie-server/src/storage/sql/unit_property.rs | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 crates/rocie-server/src/storage/sql/unit_property.rs (limited to 'crates/rocie-server/src/storage/sql/unit_property.rs') diff --git a/crates/rocie-server/src/storage/sql/unit_property.rs b/crates/rocie-server/src/storage/sql/unit_property.rs new file mode 100644 index 0000000..9da2d2e --- /dev/null +++ b/crates/rocie-server/src/storage/sql/unit_property.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use utoipa::ToSchema; + +use crate::storage::sql::{mk_id, unit::UnitId}; + +/// An unit property describes a property that can be measured by units. +/// For example velocity, mass or volume. +#[derive(ToSchema, Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Serialize, Deserialize)] +pub(crate) struct UnitProperty { + /// The unique ID for this unit property. + pub(crate) id: UnitPropertyId, + + /// The user-displayed name of this property. + pub(crate) name: String, + + /// The units with are measuring this property. + pub(crate) units: Vec, + + /// An description of this property. + pub(crate) description: Option, +} + +mk_id!(UnitPropertyId and UnitPropertyIdStub); -- cgit 1.4.1