diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-09-23 17:17:28 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-09-23 17:17:28 +0200 |
| commit | 7682da81ff4c775eca048aaf0586593fb159cb85 (patch) | |
| tree | e310245e136b21e15696ffee2756cc6f49f6ae73 /crates/rocie-client/src | |
| parent | feat(scripts/generate_api_client.sh): Make the API better by configuring the ... (diff) | |
| download | server-7682da81ff4c775eca048aaf0586593fb159cb85.zip | |
chore(crates/rocie-client): Regenerate
Diffstat (limited to 'crates/rocie-client/src')
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, + } + } +} + |
