getOrders method

Future<List<Order>> getOrders({
  1. int? limit,
  2. int? offset,
  3. bool? shipped,
})

Implementation

Future<List<Order>> getOrders(
    {final int? limit, final int? offset, final bool? shipped}) async {
  Map<String, dynamic> parameters = {};
  if (limit != null) {
    parameters['limit'] = limit;
  }
  if (offset != null) {
    parameters['offset'] = offset;
  }
  if (shipped != null) {
    parameters['shipped'] = shipped;
  }
  final response = await http.get(
    Uri(
      scheme: 'https',
      host: 'www.tindie.com',
      path: '/api/v1/order',
      queryParameters: parameters,
    ),
    headers: {
      'Authorization': 'ApiKey $username:$apikey',
    },
  );

  if (response.statusCode != 200) {
    return Future.error(
        "Could not fetch orders. StatusCode ${response.statusCode}");
  }

  final data = jsonDecode(response.body)['orders'];
  List<Order> orders = [];
  for (Map<String, dynamic> order in data) {
    orders.add(Order.fromJson(order));
  }
  return orders;
}