setMangaReadingStatus function Null safety

Future<ResultOk> setMangaReadingStatus(
  1. String token,
  2. String mangaId,
  3. ReadingStatus status
)

Implementation

Future<ResultOk> setMangaReadingStatus(
    String token, String mangaId, ReadingStatus status) async {
  var statusString = '';

  switch (status) {
    case ReadingStatus.completed:
      statusString = 'completed';
      break;
    case ReadingStatus.dropped:
      statusString = 'dropped';
      break;
    case ReadingStatus.on_hold:
      statusString = 'on_hold';
      break;
    case ReadingStatus.plan_to_read:
      statusString = 'plan_to_read';
      break;
    case ReadingStatus.re_reading:
      statusString = 're_reading';
      break;
    case ReadingStatus.reading:
      statusString = 'reading';
      break;
  }
  var unencodedPath = '/manga/$mangaId/status';
  final uri = 'https://$authority/$unencodedPath';
  var response = await http.post(Uri.parse(uri), headers: {
    HttpHeaders.contentTypeHeader: 'application/json',
    HttpHeaders.authorizationHeader: 'Bearer $token',
    'status': '$statusString',
  });
  print(response.body);
  return ResultOk.fromJson(jsonDecode(response.body));
}