Skip to content

Commit

Permalink
fix: Can only add items starting with a-z to shopping lists (#316)
Browse files Browse the repository at this point in the history
  • Loading branch information
TomBursch authored Dec 6, 2023
1 parent 8abea96 commit d0aa896
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 36 deletions.
28 changes: 8 additions & 20 deletions lib/services/api/shoppinglist.dart
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,16 @@ extension ShoppinglistApi on ApiService {
return body.map((e) => ItemWithDescription.fromJson(e)).toList();
}

Future<bool> addItem(
Future<bool> putItem(
ShoppingList shoppinglist,
ShoppinglistItem item,
Item item,
) async {
final data = {'name': item.name};
if (item.description.isNotEmpty) data['description'] = item.description;
final res = await post(
'${route(shoppinglist: shoppinglist)}/add-item-by-name',
final Map<String, dynamic> data = {};
if (item is ItemWithDescription) {
data['description'] = item.description;
}
final res = await put(
'${route(shoppinglist: shoppinglist)}/item/${item.id}',
jsonEncode(data),
);

Expand Down Expand Up @@ -120,20 +122,6 @@ extension ShoppinglistApi on ApiService {
return res.statusCode == 200;
}

Future<bool> updateShoppingListItemDescription(
ShoppingList shoppinglist,
Item item,
String description,
) async {
final data = {'description': description};
final res = await post(
'${route(shoppinglist: shoppinglist)}/item/${item.id}',
jsonEncode(data),
);

return res.statusCode == 200;
}

Future<bool> removeItem(
ShoppingList shoppinglist,
ShoppinglistItem item, [
Expand Down
34 changes: 18 additions & 16 deletions lib/services/transactions/shoppinglist.dart
Original file line number Diff line number Diff line change
Expand Up @@ -197,13 +197,20 @@ class TransactionShoppingListAddItem extends Transaction<bool> {

@override
Future<bool?> runOnline() {
return ApiService.getInstance().addItemByName(
shoppinglist,
item.name,
(item is ItemWithDescription
? (item as ItemWithDescription).description
: ""),
);
if (item.id != null) {
return ApiService.getInstance().putItem(
shoppinglist,
item,
);
} else {
return ApiService.getInstance().addItemByName(
shoppinglist,
item.name,
(item is ItemWithDescription
? (item as ItemWithDescription).description
: ""),
);
}
}
}

Expand Down Expand Up @@ -374,15 +381,10 @@ class TransactionShoppingListUpdateItem extends Transaction<bool> {

@override
Future<bool?> runOnline() async {
if (item is ShoppinglistItem) {
return ApiService.getInstance()
.updateShoppingListItemDescription(shoppinglist, item, description);
} else if (description.isNotEmpty) {
ApiService.getInstance()
.addItemByName(shoppinglist, item.name, description);
}

return false;
return ApiService.getInstance().putItem(
shoppinglist,
ItemWithDescription.fromItem(item: item, description: description),
);
}
}

Expand Down

0 comments on commit d0aa896

Please sign in to comment.