From 20076fc11c434b9b895b63ff8f0887c0a7174076 Mon Sep 17 00:00:00 2001 From: Mikkel Troels Kongsted <mtkongsted@gmail.com> Date: Tue, 18 Mar 2025 15:26:41 +0100 Subject: [PATCH] fix purchase --- mobile/lib/pages/finish_shopping_page.dart | 3 ++- mobile/lib/server/backend_server.dart | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/mobile/lib/pages/finish_shopping_page.dart b/mobile/lib/pages/finish_shopping_page.dart index 731fe84..9a725a2 100644 --- a/mobile/lib/pages/finish_shopping_page.dart +++ b/mobile/lib/pages/finish_shopping_page.dart @@ -59,7 +59,8 @@ class FinishShoppingPage extends StatelessWidget { onPressed: () async { payingStateRepo.next(); await Future.delayed(const Duration(seconds: 1)); - if (cartController.purchase() is Err) { + if (await cartController.purchase() + is Err<Null, String>) { if (context.mounted) { showDialog<String>( context: context, diff --git a/mobile/lib/server/backend_server.dart b/mobile/lib/server/backend_server.dart index e3f80a9..2e6229e 100644 --- a/mobile/lib/server/backend_server.dart +++ b/mobile/lib/server/backend_server.dart @@ -102,6 +102,13 @@ class BackendServer implements Server { @override Future<Result<Null, String>> purchaseCart( String token, List<CartItem> cartItems) async { + final items = json.encode({ + "items": cartItems + .map((cartItem) => + {"product_id": cartItem.product.id, "amount": cartItem.amount}) + .toList() + }); + print(items); final res = await http .post(Uri.parse("$_apiUrl/carts/purchase"), headers: { @@ -109,7 +116,7 @@ class BackendServer implements Server { "Session-Token": token }, body: json.encode({ - "cart_items": cartItems + "items": cartItems .map((cartItem) => { "product_id": cartItem.product.id, "amount": cartItem.amount @@ -119,7 +126,7 @@ class BackendServer implements Server { .then((res) => json.decode(res.body)); if (res["ok"]) { - return Ok(null); + return const Ok(null); } else { return Err(res["msg"]); }