diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-10-23 23:39:19 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-10-23 23:39:19 +0200 |
| commit | 4bd331b43137f80085b51af8b7c6311ce8f60ff6 (patch) | |
| tree | a3ce8626b078cb9995e9b8326f154c945142515c /crates/rocie-server/src/api/set | |
| parent | fix(crates/rocie-server/api/get-product-{by-name,by-part-name}): Test (diff) | |
| download | server-4bd331b43137f80085b51af8b7c6311ce8f60ff6.zip | |
fix(crates/rocie-server/api/buy-barcode): Allow specifying how often to buy
Diffstat (limited to 'crates/rocie-server/src/api/set')
| -rw-r--r-- | crates/rocie-server/src/api/set/barcode.rs | 15 |
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?; |
