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 | |
| parent | feat(scripts/generate_api_client.sh): Make the API better by configuring the ... (diff) | |
| download | server-7682da81ff4c775eca048aaf0586593fb159cb85.zip | |
chore(crates/rocie-client): Regenerate
36 files changed, 213 insertions, 71 deletions
diff --git a/crates/rocie-client/.openapi-generator-ignore b/crates/rocie-client/.openapi-generator-ignore index b0147e0..d0e9b85 100644 --- a/crates/rocie-client/.openapi-generator-ignore +++ b/crates/rocie-client/.openapi-generator-ignore @@ -4,20 +4,7 @@ # Use this file to prevent files from being overwritten by the generator. # The patterns follow closely to .gitignore or .dockerignore. -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: Cargo.toml -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md +src/lib.rs +src/implies.rs diff --git a/crates/rocie-client/.openapi-generator/FILES b/crates/rocie-client/.openapi-generator/FILES index 496c722..8306709 100644 --- a/crates/rocie-client/.openapi-generator/FILES +++ b/crates/rocie-client/.openapi-generator/FILES @@ -8,11 +8,14 @@ docs/ApiSetBarcodeApi.md docs/ApiSetProductApi.md docs/ApiSetUnitApi.md docs/Barcode.md +docs/BarcodeId.md docs/Product.md docs/ProductAmount.md +docs/ProductId.md docs/ProductStub.md docs/Unit.md docs/UnitAmount.md +docs/UnitId.md docs/UnitStub.md git_push.sh src/apis/api_get_inventory_api.rs @@ -23,12 +26,14 @@ src/apis/api_set_product_api.rs src/apis/api_set_unit_api.rs src/apis/configuration.rs src/apis/mod.rs -src/lib.rs src/models/barcode.rs +src/models/barcode_id.rs src/models/mod.rs src/models/product.rs src/models/product_amount.rs +src/models/product_id.rs src/models/product_stub.rs src/models/unit.rs src/models/unit_amount.rs +src/models/unit_id.rs src/models/unit_stub.rs diff --git a/crates/rocie-client/README.md b/crates/rocie-client/README.md index 346da8d..38c4f5e 100644 --- a/crates/rocie-client/README.md +++ b/crates/rocie-client/README.md @@ -1,4 +1,4 @@ -# Rust API client for openapi +# Rust API client for rocie-client An enterprise grocery management system @@ -14,10 +14,10 @@ This API client was generated by the [OpenAPI Generator](https://openapi-generat ## Installation -Put the package under your project folder in a directory named `openapi` and add the following to `Cargo.toml` under `[dependencies]`: +Put the package under your project folder in a directory named `rocie-client` and add the following to `Cargo.toml` under `[dependencies]`: ``` -openapi = { path = "./openapi" } +rocie-client = { path = "./rocie-client" } ``` ## Documentation for API Endpoints @@ -41,11 +41,14 @@ Class | Method | HTTP request | Description ## Documentation For Models - [Barcode](docs/Barcode.md) + - [BarcodeId](docs/BarcodeId.md) - [Product](docs/Product.md) - [ProductAmount](docs/ProductAmount.md) + - [ProductId](docs/ProductId.md) - [ProductStub](docs/ProductStub.md) - [Unit](docs/Unit.md) - [UnitAmount](docs/UnitAmount.md) + - [UnitId](docs/UnitId.md) - [UnitStub](docs/UnitStub.md) diff --git a/crates/rocie-client/docs/ApiGetInventoryApi.md b/crates/rocie-client/docs/ApiGetInventoryApi.md index 0310b96..92a53f9 100644 --- a/crates/rocie-client/docs/ApiGetInventoryApi.md +++ b/crates/rocie-client/docs/ApiGetInventoryApi.md @@ -18,7 +18,7 @@ Get the amount of an product Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**id** | **uuid::Uuid** | Product id | [required] | +**id** | [**ProductId**](.md) | Product id | [required] | ### Return type diff --git a/crates/rocie-client/docs/ApiGetProductApi.md b/crates/rocie-client/docs/ApiGetProductApi.md index 58955c6..bc991c5 100644 --- a/crates/rocie-client/docs/ApiGetProductApi.md +++ b/crates/rocie-client/docs/ApiGetProductApi.md @@ -19,7 +19,7 @@ Get Product by id Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**id** | **uuid::Uuid** | Product id | [required] | +**id** | [**ProductId**](.md) | Product id | [required] | ### Return type diff --git a/crates/rocie-client/docs/ApiGetUnitApi.md b/crates/rocie-client/docs/ApiGetUnitApi.md index 3ac44c0..f539aec 100644 --- a/crates/rocie-client/docs/ApiGetUnitApi.md +++ b/crates/rocie-client/docs/ApiGetUnitApi.md @@ -19,7 +19,7 @@ Get Unit by id Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**id** | **uuid::Uuid** | Unit id | [required] | +**id** | [**UnitId**](.md) | Unit id | [required] | ### Return type diff --git a/crates/rocie-client/docs/ApiSetBarcodeApi.md b/crates/rocie-client/docs/ApiSetBarcodeApi.md index 2075bb9..d77fa6d 100644 --- a/crates/rocie-client/docs/ApiSetBarcodeApi.md +++ b/crates/rocie-client/docs/ApiSetBarcodeApi.md @@ -19,7 +19,7 @@ Buy an barcode Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**id** | **i32** | The numeric value of the barcode | [required] | +**id** | [**BarcodeId**](.md) | The numeric value of the barcode | [required] | ### Return type @@ -47,7 +47,7 @@ Consume an barcode Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**id** | **i32** | The numeric value of the barcode | [required] | +**id** | [**BarcodeId**](.md) | The numeric value of the barcode | [required] | **unit_amount** | [**UnitAmount**](UnitAmount.md) | | [required] | ### Return type diff --git a/crates/rocie-client/docs/ApiSetProductApi.md b/crates/rocie-client/docs/ApiSetProductApi.md index 6166887..bb4ca4e 100644 --- a/crates/rocie-client/docs/ApiSetProductApi.md +++ b/crates/rocie-client/docs/ApiSetProductApi.md @@ -19,7 +19,7 @@ Associate a barcode with a product Name | Type | Description | Required | Notes ------------- | ------------- | ------------- | ------------- | ------------- -**id** | **uuid::Uuid** | The id of the product to associated the barcode with | [required] | +**id** | [**ProductId**](.md) | The id of the product to associated the barcode with | [required] | **barcode** | [**Barcode**](Barcode.md) | | [required] | ### Return type @@ -40,7 +40,7 @@ No authorization required ## register_product -> uuid::Uuid register_product(product_stub) +> models::ProductId register_product(product_stub) Register a product ### Parameters @@ -52,7 +52,7 @@ Name | Type | Description | Required | Notes ### Return type -[**uuid::Uuid**](uuid::Uuid.md) +[**models::ProductId**](ProductId.md) ### Authorization diff --git a/crates/rocie-client/docs/ApiSetUnitApi.md b/crates/rocie-client/docs/ApiSetUnitApi.md index 6d6d397..ebe8e5c 100644 --- a/crates/rocie-client/docs/ApiSetUnitApi.md +++ b/crates/rocie-client/docs/ApiSetUnitApi.md @@ -10,7 +10,7 @@ Method | HTTP request | Description ## register_unit -> uuid::Uuid register_unit(unit_stub) +> models::UnitId register_unit(unit_stub) Register an Unit ### Parameters @@ -22,7 +22,7 @@ Name | Type | Description | Required | Notes ### Return type -[**uuid::Uuid**](uuid::Uuid.md) +[**models::UnitId**](UnitId.md) ### Authorization diff --git a/crates/rocie-client/docs/Barcode.md b/crates/rocie-client/docs/Barcode.md index 7e6f4fb..622b82d 100644 --- a/crates/rocie-client/docs/Barcode.md +++ b/crates/rocie-client/docs/Barcode.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **amount** | [**models::UnitAmount**](UnitAmount.md) | | -**id** | **i32** | | +**id** | [**models::BarcodeId**](BarcodeId.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/crates/rocie-client/docs/BarcodeId.md b/crates/rocie-client/docs/BarcodeId.md new file mode 100644 index 0000000..630e07f --- /dev/null +++ b/crates/rocie-client/docs/BarcodeId.md @@ -0,0 +1,11 @@ +# BarcodeId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **u32** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/crates/rocie-client/docs/Product.md b/crates/rocie-client/docs/Product.md index 3995429..6f0f914 100644 --- a/crates/rocie-client/docs/Product.md +++ b/crates/rocie-client/docs/Product.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **associated_bar_codes** | [**Vec<models::Barcode>**](Barcode.md) | | **description** | Option<**String**> | | [optional] -**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**id** | [**models::ProductId**](ProductId.md) | | **name** | **String** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/crates/rocie-client/docs/ProductAmount.md b/crates/rocie-client/docs/ProductAmount.md index d6e869c..ac5d9cc 100644 --- a/crates/rocie-client/docs/ProductAmount.md +++ b/crates/rocie-client/docs/ProductAmount.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **amount** | [**models::UnitAmount**](UnitAmount.md) | | -**product_id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**product_id** | [**models::ProductId**](ProductId.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/crates/rocie-client/docs/ProductId.md b/crates/rocie-client/docs/ProductId.md new file mode 100644 index 0000000..90dc866 --- /dev/null +++ b/crates/rocie-client/docs/ProductId.md @@ -0,0 +1,11 @@ +# ProductId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | [**uuid::Uuid**](uuid::Uuid.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/crates/rocie-client/docs/ProductStub.md b/crates/rocie-client/docs/ProductStub.md index d0b0db8..4d4ffde 100644 --- a/crates/rocie-client/docs/ProductStub.md +++ b/crates/rocie-client/docs/ProductStub.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **description** | Option<**String**> | | [optional] **name** | **String** | | -**parent** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] +**parent** | Option<[**models::ProductId**](ProductId.md)> | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/crates/rocie-client/docs/Unit.md b/crates/rocie-client/docs/Unit.md index 9fb95a5..5e86ab3 100644 --- a/crates/rocie-client/docs/Unit.md +++ b/crates/rocie-client/docs/Unit.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **description** | Option<**String**> | | [optional] **full_name_plural** | **String** | | **full_name_singular** | **String** | | -**id** | [**uuid::Uuid**](uuid::Uuid.md) | | +**id** | [**models::UnitId**](UnitId.md) | | **short_name** | **String** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/crates/rocie-client/docs/UnitAmount.md b/crates/rocie-client/docs/UnitAmount.md index f0c1b5f..1546f57 100644 --- a/crates/rocie-client/docs/UnitAmount.md +++ b/crates/rocie-client/docs/UnitAmount.md @@ -4,8 +4,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**unit** | [**uuid::Uuid**](uuid::Uuid.md) | | -**value** | **i64** | | +**unit** | [**models::UnitId**](UnitId.md) | | +**value** | **u32** | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/crates/rocie-client/docs/UnitId.md b/crates/rocie-client/docs/UnitId.md new file mode 100644 index 0000000..7d0979c --- /dev/null +++ b/crates/rocie-client/docs/UnitId.md @@ -0,0 +1,11 @@ +# UnitId + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | [**uuid::Uuid**](uuid::Uuid.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + 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, + } + } +} + |
