From 4bd331b43137f80085b51af8b7c6311ce8f60ff6 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 23 Oct 2025 23:39:19 +0200 Subject: fix(crates/rocie-server/api/buy-barcode): Allow specifying how often to buy --- crates/rocie-server/src/api/set/barcode.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'crates/rocie-server/src/api') 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, - barcode_id: web::Path, + path: web::Path<(BarcodeIdStub, u16)>, ) -> Result { + 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?; -- cgit 1.4.1