aboutsummaryrefslogtreecommitdiffstats
path: root/crates/rocie-server/src
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-10-23 23:39:19 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-10-23 23:39:19 +0200
commit4bd331b43137f80085b51af8b7c6311ce8f60ff6 (patch)
treea3ce8626b078cb9995e9b8326f154c945142515c /crates/rocie-server/src
parentfix(crates/rocie-server/api/get-product-{by-name,by-part-name}): Test (diff)
downloadserver-4bd331b43137f80085b51af8b7c6311ce8f60ff6.zip
fix(crates/rocie-server/api/buy-barcode): Allow specifying how often to buy
Diffstat (limited to '')
-rw-r--r--crates/rocie-server/src/api/set/barcode.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/crates/rocie-server/src/api/set/barcode.rs b/crates/rocie-server/src/api/set/barcode.rs
index 29eac9e..bb84bbf 100644
--- a/crates/rocie-server/src/api/set/barcode.rs
+++ b/crates/rocie-server/src/api/set/barcode.rs
@@ -28,21 +28,26 @@ use crate::{
)
),
params(
- ("id" = BarcodeId, description = "The numeric value of the barcode"),
+ ("barcode_id" = BarcodeId, description = "The numeric value of the barcode"),
+ ("times" = u16, description = "How often to buy the barcode"),
)
)]
-#[post("/barcode/{id}/buy")]
+#[post("/barcode/{barcode_id}/buy/{times}")]
pub(crate) async fn buy_barcode(
app: web::Data<App>,
- barcode_id: web::Path<BarcodeIdStub>,
+ path: web::Path<(BarcodeIdStub, u16)>,
) -> Result<impl Responder> {
+ let (barcode_id, times) = path.into_inner();
+
let mut ops = Operations::new("buy barcode unit");
- let barcode = Barcode::from_id(&app, barcode_id.into_inner().into()).await?;
+ let barcode = Barcode::from_id(&app, barcode_id.into()).await?;
match barcode {
Some(barcode) => {
- barcode.buy(&mut ops);
+ for _ in 0..times {
+ barcode.buy(&mut ops);
+ }
ops.apply(&app).await?;