updateItem method

Future<Item> updateItem(
  1. String itemId,
  2. ItemRequest request
)

Update item

Implementation

Future<Item> updateItem(String itemId, ItemRequest request) async {
  state = const AsyncValue.loading();

  try {
    final client = ref.read(prodobitClientProvider);
    final item = await client.inventory.updateItem(itemId, request);

    // Refresh related providers
    ref
      ..invalidate(itemsProvider)
      ..invalidate(itemProvider(itemId));

    state = const AsyncValue.data(null);
    return item;
  } catch (e, stack) {
    state = AsyncValue.error(e, stack);
    rethrow;
  }
}