about summary refs log tree commit diff stats
path: root/crates/rocie-client/src
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-09-23 17:17:28 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-09-23 17:17:28 +0200
commit7682da81ff4c775eca048aaf0586593fb159cb85 (patch)
treee310245e136b21e15696ffee2756cc6f49f6ae73 /crates/rocie-client/src
parentfeat(scripts/generate_api_client.sh): Make the API better by configuring the ... (diff)
downloadserver-7682da81ff4c775eca048aaf0586593fb159cb85.zip
chore(crates/rocie-client): Regenerate
Diffstat (limited to 'crates/rocie-client/src')
-rw-r--r--crates/rocie-client/src/apis/api_get_inventory_api.rs4
-rw-r--r--crates/rocie-client/src/apis/api_get_product_api.rs4
-rw-r--r--crates/rocie-client/src/apis/api_get_unit_api.rs4
-rw-r--r--crates/rocie-client/src/apis/api_set_barcode_api.rs8
-rw-r--r--crates/rocie-client/src/apis/api_set_product_api.rs10
-rw-r--r--crates/rocie-client/src/apis/api_set_unit_api.rs6
-rw-r--r--crates/rocie-client/src/implies.rs26
-rw-r--r--crates/rocie-client/src/lib.rs1
-rw-r--r--crates/rocie-client/src/models/barcode.rs8
-rw-r--r--crates/rocie-client/src/models/barcode_id.rs27
-rw-r--r--crates/rocie-client/src/models/mod.rs6
-rw-r--r--crates/rocie-client/src/models/product.rs4
-rw-r--r--crates/rocie-client/src/models/product_amount.rs8
-rw-r--r--crates/rocie-client/src/models/product_id.rs27
-rw-r--r--crates/rocie-client/src/models/product_stub.rs4
-rw-r--r--crates/rocie-client/src/models/unit.rs4
-rw-r--r--crates/rocie-client/src/models/unit_amount.rs6
-rw-r--r--crates/rocie-client/src/models/unit_id.rs27
18 files changed, 149 insertions, 35 deletions
diff --git a/crates/rocie-client/src/apis/api_get_inventory_api.rs b/crates/rocie-client/src/apis/api_get_inventory_api.rs
index 8cec3d4..965d3e3 100644
--- a/crates/rocie-client/src/apis/api_get_inventory_api.rs
+++ b/crates/rocie-client/src/apis/api_get_inventory_api.rs
@@ -25,11 +25,11 @@ pub enum AmountByIdError {
 }
 
 
-pub async fn amount_by_id(configuration: &configuration::Configuration, id: &str) -> Result<models::ProductAmount, Error<AmountByIdError>> {
+pub async fn amount_by_id(configuration: &configuration::Configuration, id: models::ProductId) -> Result<models::ProductAmount, Error<AmountByIdError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_id = id;
 
-    let uri_str = format!("{}/inventory/{id}", configuration.base_path, id=crate::apis::urlencode(p_id));
+    let uri_str = format!("{}/inventory/{id}", configuration.base_path, id=p_id.to_string());
     let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
 
     if let Some(ref user_agent) = configuration.user_agent {
diff --git a/crates/rocie-client/src/apis/api_get_product_api.rs b/crates/rocie-client/src/apis/api_get_product_api.rs
index a8f4c17..88c680b 100644
--- a/crates/rocie-client/src/apis/api_get_product_api.rs
+++ b/crates/rocie-client/src/apis/api_get_product_api.rs
@@ -33,11 +33,11 @@ pub enum ProductsError {
 }
 
 
-pub async fn product_by_id(configuration: &configuration::Configuration, id: &str) -> Result<models::Product, Error<ProductByIdError>> {
+pub async fn product_by_id(configuration: &configuration::Configuration, id: models::ProductId) -> Result<models::Product, Error<ProductByIdError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_id = id;
 
-    let uri_str = format!("{}/product/{id}", configuration.base_path, id=crate::apis::urlencode(p_id));
+    let uri_str = format!("{}/product/{id}", configuration.base_path, id=p_id.to_string());
     let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
 
     if let Some(ref user_agent) = configuration.user_agent {
diff --git a/crates/rocie-client/src/apis/api_get_unit_api.rs b/crates/rocie-client/src/apis/api_get_unit_api.rs
index 5895652..81d772b 100644
--- a/crates/rocie-client/src/apis/api_get_unit_api.rs
+++ b/crates/rocie-client/src/apis/api_get_unit_api.rs
@@ -33,11 +33,11 @@ pub enum UnitsError {
 }
 
 
-pub async fn unit_by_id(configuration: &configuration::Configuration, id: &str) -> Result<models::Unit, Error<UnitByIdError>> {
+pub async fn unit_by_id(configuration: &configuration::Configuration, id: models::UnitId) -> Result<models::Unit, Error<UnitByIdError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_id = id;
 
-    let uri_str = format!("{}/unit/{id}", configuration.base_path, id=crate::apis::urlencode(p_id));
+    let uri_str = format!("{}/unit/{id}", configuration.base_path, id=p_id.to_string());
     let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
 
     if let Some(ref user_agent) = configuration.user_agent {
diff --git a/crates/rocie-client/src/apis/api_set_barcode_api.rs b/crates/rocie-client/src/apis/api_set_barcode_api.rs
index 0a439a5..e3ac9fb 100644
--- a/crates/rocie-client/src/apis/api_set_barcode_api.rs
+++ b/crates/rocie-client/src/apis/api_set_barcode_api.rs
@@ -34,11 +34,11 @@ pub enum ConsumeBarcodeError {
 }
 
 
-pub async fn buy_barcode(configuration: &configuration::Configuration, id: i32) -> Result<(), Error<BuyBarcodeError>> {
+pub async fn buy_barcode(configuration: &configuration::Configuration, id: models::BarcodeId) -> Result<(), Error<BuyBarcodeError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_id = id;
 
-    let uri_str = format!("{}/barcode/{id}/buy", configuration.base_path, id=p_id);
+    let uri_str = format!("{}/barcode/{id}/buy", configuration.base_path, id=p_id.to_string());
     let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
 
     if let Some(ref user_agent) = configuration.user_agent {
@@ -59,12 +59,12 @@ pub async fn buy_barcode(configuration: &configuration::Configuration, id: i32)
     }
 }
 
-pub async fn consume_barcode(configuration: &configuration::Configuration, id: i32, unit_amount: models::UnitAmount) -> Result<(), Error<ConsumeBarcodeError>> {
+pub async fn consume_barcode(configuration: &configuration::Configuration, id: models::BarcodeId, unit_amount: models::UnitAmount) -> Result<(), Error<ConsumeBarcodeError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_id = id;
     let p_unit_amount = unit_amount;
 
-    let uri_str = format!("{}/barcode/{id}/consume", configuration.base_path, id=p_id);
+    let uri_str = format!("{}/barcode/{id}/consume", configuration.base_path, id=p_id.to_string());
     let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
 
     if let Some(ref user_agent) = configuration.user_agent {
diff --git a/crates/rocie-client/src/apis/api_set_product_api.rs b/crates/rocie-client/src/apis/api_set_product_api.rs
index 0d2679b..d3cf378 100644
--- a/crates/rocie-client/src/apis/api_set_product_api.rs
+++ b/crates/rocie-client/src/apis/api_set_product_api.rs
@@ -34,12 +34,12 @@ pub enum RegisterProductError {
 }
 
 
-pub async fn associate_barcode(configuration: &configuration::Configuration, id: &str, barcode: models::Barcode) -> Result<(), Error<AssociateBarcodeError>> {
+pub async fn associate_barcode(configuration: &configuration::Configuration, id: models::ProductId, barcode: models::Barcode) -> Result<(), Error<AssociateBarcodeError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_id = id;
     let p_barcode = barcode;
 
-    let uri_str = format!("{}/product/{id}/associate", configuration.base_path, id=crate::apis::urlencode(p_id));
+    let uri_str = format!("{}/product/{id}/associate", configuration.base_path, id=p_id.to_string());
     let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
 
     if let Some(ref user_agent) = configuration.user_agent {
@@ -61,7 +61,7 @@ pub async fn associate_barcode(configuration: &configuration::Configuration, id:
     }
 }
 
-pub async fn register_product(configuration: &configuration::Configuration, product_stub: models::ProductStub) -> Result<uuid::Uuid, Error<RegisterProductError>> {
+pub async fn register_product(configuration: &configuration::Configuration, product_stub: models::ProductStub) -> Result<models::ProductId, Error<RegisterProductError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_product_stub = product_stub;
 
@@ -88,8 +88,8 @@ pub async fn register_product(configuration: &configuration::Configuration, prod
         let content = resp.text().await?;
         match content_type {
             ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
-            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `uuid::Uuid`"))),
-            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `uuid::Uuid`")))),
+            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProductId`"))),
+            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProductId`")))),
         }
     } else {
         let content = resp.text().await?;
diff --git a/crates/rocie-client/src/apis/api_set_unit_api.rs b/crates/rocie-client/src/apis/api_set_unit_api.rs
index e894fc3..dc88775 100644
--- a/crates/rocie-client/src/apis/api_set_unit_api.rs
+++ b/crates/rocie-client/src/apis/api_set_unit_api.rs
@@ -24,7 +24,7 @@ pub enum RegisterUnitError {
 }
 
 
-pub async fn register_unit(configuration: &configuration::Configuration, unit_stub: models::UnitStub) -> Result<uuid::Uuid, Error<RegisterUnitError>> {
+pub async fn register_unit(configuration: &configuration::Configuration, unit_stub: models::UnitStub) -> Result<models::UnitId, Error<RegisterUnitError>> {
     // add a prefix to parameters to efficiently prevent name collisions
     let p_unit_stub = unit_stub;
 
@@ -51,8 +51,8 @@ pub async fn register_unit(configuration: &configuration::Configuration, unit_st
         let content = resp.text().await?;
         match content_type {
             ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
-            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `uuid::Uuid`"))),
-            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `uuid::Uuid`")))),
+            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UnitId`"))),
+            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UnitId`")))),
         }
     } else {
         let content = resp.text().await?;
diff --git a/crates/rocie-client/src/implies.rs b/crates/rocie-client/src/implies.rs
new file mode 100644
index 0000000..147588a
--- /dev/null
+++ b/crates/rocie-client/src/implies.rs
@@ -0,0 +1,26 @@
+use std::fmt::Display;
+
+use crate::models::{BarcodeId, ProductId, UnitId};
+
+// TODO(@bpeetz): The client generator should just do this. <2025-09-23>
+
+impl Display for BarcodeId {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        self.value.fmt(f)
+    }
+}
+impl Copy for BarcodeId {}
+
+impl Display for ProductId {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        self.value.fmt(f)
+    }
+}
+impl Copy for ProductId {}
+
+impl Display for UnitId {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        self.value.fmt(f)
+    }
+}
+impl Copy for UnitId {}
diff --git a/crates/rocie-client/src/lib.rs b/crates/rocie-client/src/lib.rs
index e152062..bbd0eed 100644
--- a/crates/rocie-client/src/lib.rs
+++ b/crates/rocie-client/src/lib.rs
@@ -9,3 +9,4 @@ extern crate reqwest;
 
 pub mod apis;
 pub mod models;
+pub mod implies;
diff --git a/crates/rocie-client/src/models/barcode.rs b/crates/rocie-client/src/models/barcode.rs
index 7690be2..76661dc 100644
--- a/crates/rocie-client/src/models/barcode.rs
+++ b/crates/rocie-client/src/models/barcode.rs
@@ -14,15 +14,15 @@ use serde::{Deserialize, Serialize};
 #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
 pub struct Barcode {
     #[serde(rename = "amount")]
-    pub amount: Box<models::UnitAmount>,
+    pub amount: models::UnitAmount,
     #[serde(rename = "id")]
-    pub id: i32,
+    pub id: models::BarcodeId,
 }
 
 impl Barcode {
-    pub fn new(amount: models::UnitAmount, id: i32) -> Barcode {
+    pub fn new(amount: models::UnitAmount, id: models::BarcodeId) -> Barcode {
         Barcode {
-            amount: Box::new(amount),
+            amount,
             id,
         }
     }
diff --git a/crates/rocie-client/src/models/barcode_id.rs b/crates/rocie-client/src/models/barcode_id.rs
new file mode 100644
index 0000000..2bd4775
--- /dev/null
+++ b/crates/rocie-client/src/models/barcode_id.rs
@@ -0,0 +1,27 @@
+/*
+ * rocie-server
+ *
+ * An enterprise grocery management system
+ *
+ * The version of the OpenAPI document: 0.1.0
+ * Contact: benedikt.peetz@b-peetz.de
+ * Generated by: https://openapi-generator.tech
+ */
+
+use crate::models;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+pub struct BarcodeId {
+    #[serde(rename = "value")]
+    pub value: u32,
+}
+
+impl BarcodeId {
+    pub fn new(value: u32) -> BarcodeId {
+        BarcodeId {
+            value,
+        }
+    }
+}
+
diff --git a/crates/rocie-client/src/models/mod.rs b/crates/rocie-client/src/models/mod.rs
index 20ed0ff..6456de7 100644
--- a/crates/rocie-client/src/models/mod.rs
+++ b/crates/rocie-client/src/models/mod.rs
@@ -1,14 +1,20 @@
 pub mod barcode;
 pub use self::barcode::Barcode;
+pub mod barcode_id;
+pub use self::barcode_id::BarcodeId;
 pub mod product;
 pub use self::product::Product;
 pub mod product_amount;
 pub use self::product_amount::ProductAmount;
+pub mod product_id;
+pub use self::product_id::ProductId;
 pub mod product_stub;
 pub use self::product_stub::ProductStub;
 pub mod unit;
 pub use self::unit::Unit;
 pub mod unit_amount;
 pub use self::unit_amount::UnitAmount;
+pub mod unit_id;
+pub use self::unit_id::UnitId;
 pub mod unit_stub;
 pub use self::unit_stub::UnitStub;
diff --git a/crates/rocie-client/src/models/product.rs b/crates/rocie-client/src/models/product.rs
index acdc6c6..8fe68ee 100644
--- a/crates/rocie-client/src/models/product.rs
+++ b/crates/rocie-client/src/models/product.rs
@@ -18,13 +18,13 @@ pub struct Product {
     #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
     pub description: Option<Option<String>>,
     #[serde(rename = "id")]
-    pub id: uuid::Uuid,
+    pub id: models::ProductId,
     #[serde(rename = "name")]
     pub name: String,
 }
 
 impl Product {
-    pub fn new(associated_bar_codes: Vec<models::Barcode>, id: uuid::Uuid, name: String) -> Product {
+    pub fn new(associated_bar_codes: Vec<models::Barcode>, id: models::ProductId, name: String) -> Product {
         Product {
             associated_bar_codes,
             description: None,
diff --git a/crates/rocie-client/src/models/product_amount.rs b/crates/rocie-client/src/models/product_amount.rs
index 6f1b436..1a2ed02 100644
--- a/crates/rocie-client/src/models/product_amount.rs
+++ b/crates/rocie-client/src/models/product_amount.rs
@@ -14,15 +14,15 @@ use serde::{Deserialize, Serialize};
 #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
 pub struct ProductAmount {
     #[serde(rename = "amount")]
-    pub amount: Box<models::UnitAmount>,
+    pub amount: models::UnitAmount,
     #[serde(rename = "product_id")]
-    pub product_id: uuid::Uuid,
+    pub product_id: models::ProductId,
 }
 
 impl ProductAmount {
-    pub fn new(amount: models::UnitAmount, product_id: uuid::Uuid) -> ProductAmount {
+    pub fn new(amount: models::UnitAmount, product_id: models::ProductId) -> ProductAmount {
         ProductAmount {
-            amount: Box::new(amount),
+            amount,
             product_id,
         }
     }
diff --git a/crates/rocie-client/src/models/product_id.rs b/crates/rocie-client/src/models/product_id.rs
new file mode 100644
index 0000000..021bd38
--- /dev/null
+++ b/crates/rocie-client/src/models/product_id.rs
@@ -0,0 +1,27 @@
+/*
+ * rocie-server
+ *
+ * An enterprise grocery management system
+ *
+ * The version of the OpenAPI document: 0.1.0
+ * Contact: benedikt.peetz@b-peetz.de
+ * Generated by: https://openapi-generator.tech
+ */
+
+use crate::models;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+pub struct ProductId {
+    #[serde(rename = "value")]
+    pub value: uuid::Uuid,
+}
+
+impl ProductId {
+    pub fn new(value: uuid::Uuid) -> ProductId {
+        ProductId {
+            value,
+        }
+    }
+}
+
diff --git a/crates/rocie-client/src/models/product_stub.rs b/crates/rocie-client/src/models/product_stub.rs
index 3849c18..40c1123 100644
--- a/crates/rocie-client/src/models/product_stub.rs
+++ b/crates/rocie-client/src/models/product_stub.rs
@@ -17,8 +17,8 @@ pub struct ProductStub {
     pub description: Option<Option<String>>,
     #[serde(rename = "name")]
     pub name: String,
-    #[serde(rename = "parent", skip_serializing_if = "Option::is_none")]
-    pub parent: Option<uuid::Uuid>,
+    #[serde(rename = "parent", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
+    pub parent: Option<Option<models::ProductId>>,
 }
 
 impl ProductStub {
diff --git a/crates/rocie-client/src/models/unit.rs b/crates/rocie-client/src/models/unit.rs
index 95ec588..760d532 100644
--- a/crates/rocie-client/src/models/unit.rs
+++ b/crates/rocie-client/src/models/unit.rs
@@ -20,13 +20,13 @@ pub struct Unit {
     #[serde(rename = "full_name_singular")]
     pub full_name_singular: String,
     #[serde(rename = "id")]
-    pub id: uuid::Uuid,
+    pub id: models::UnitId,
     #[serde(rename = "short_name")]
     pub short_name: String,
 }
 
 impl Unit {
-    pub fn new(full_name_plural: String, full_name_singular: String, id: uuid::Uuid, short_name: String) -> Unit {
+    pub fn new(full_name_plural: String, full_name_singular: String, id: models::UnitId, short_name: String) -> Unit {
         Unit {
             description: None,
             full_name_plural,
diff --git a/crates/rocie-client/src/models/unit_amount.rs b/crates/rocie-client/src/models/unit_amount.rs
index 3ab482c..928a6f4 100644
--- a/crates/rocie-client/src/models/unit_amount.rs
+++ b/crates/rocie-client/src/models/unit_amount.rs
@@ -14,13 +14,13 @@ use serde::{Deserialize, Serialize};
 #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
 pub struct UnitAmount {
     #[serde(rename = "unit")]
-    pub unit: uuid::Uuid,
+    pub unit: models::UnitId,
     #[serde(rename = "value")]
-    pub value: i64,
+    pub value: u32,
 }
 
 impl UnitAmount {
-    pub fn new(unit: uuid::Uuid, value: i64) -> UnitAmount {
+    pub fn new(unit: models::UnitId, value: u32) -> UnitAmount {
         UnitAmount {
             unit,
             value,
diff --git a/crates/rocie-client/src/models/unit_id.rs b/crates/rocie-client/src/models/unit_id.rs
new file mode 100644
index 0000000..ea1ef51
--- /dev/null
+++ b/crates/rocie-client/src/models/unit_id.rs
@@ -0,0 +1,27 @@
+/*
+ * rocie-server
+ *
+ * An enterprise grocery management system
+ *
+ * The version of the OpenAPI document: 0.1.0
+ * Contact: benedikt.peetz@b-peetz.de
+ * Generated by: https://openapi-generator.tech
+ */
+
+use crate::models;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
+pub struct UnitId {
+    #[serde(rename = "value")]
+    pub value: uuid::Uuid,
+}
+
+impl UnitId {
+    pub fn new(value: uuid::Uuid) -> UnitId {
+        UnitId {
+            value,
+        }
+    }
+}
+