refactored code to encapsulate date formatting
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'dart:convert';
|
||||
import 'package:timezone/timezone.dart' as tz;
|
||||
|
||||
import '../model/flood_station.dart';
|
||||
import '../model/reading.dart';
|
||||
import 'date_utility.dart';
|
||||
|
||||
class Api {
|
||||
Api._();
|
||||
|
||||
static const String _rootUrl =
|
||||
'https://environment.data.gov.uk/flood-monitoring';
|
||||
|
||||
@@ -56,7 +58,8 @@ class Api {
|
||||
static Future<List<Reading>> fetchReadingsFromStation(
|
||||
String stationId) async {
|
||||
List<Reading> readings = [];
|
||||
final dateTime = _getCurrentUKTime().subtract(Duration(days: 1)).toUtc();
|
||||
final dateTime =
|
||||
DateUtility.currentUKTimeUtc.subtract(Duration(days: 1)).toUtc();
|
||||
final url =
|
||||
'$_rootUrl/id/stations/$stationId/readings?since=${dateTime.toIso8601String()}&_sorted';
|
||||
final response = await http.get(Uri.parse(url));
|
||||
@@ -68,9 +71,4 @@ class Api {
|
||||
}
|
||||
return readings.reversed.toList();
|
||||
}
|
||||
|
||||
static DateTime _getCurrentUKTime() {
|
||||
final london = tz.getLocation('Europe/London');
|
||||
return tz.TZDateTime.now(london);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user