getLogbook method

Future<(HaLogbook?, HaFailure?)> getLogbook({
  1. String? entityId,
  2. DateTime? startTime,
  3. DateTime? endTime,
})

Implementation

Future<(HaLogbook?, HaFailure?)> getLogbook({
  String? entityId,
  DateTime? startTime,
  DateTime? endTime,
}) async {
  final startTimeStr = startTime?.toIso8601String();
  final params = <String, String>{};
  if (endTime != null) params['end_time'] = endTime.toIso8601String();
  if (entityId != null) params['entity'] = entityId;
  final endpoint =
      '/api/logbook${startTimeStr != null ? '/$startTimeStr' : ''}'
      '${_formUrlParameters(params)}';
  final endpointEncoded = Uri.encodeFull(url + endpoint);
  final response = await sl.get<HttpClient>().get(endpointEncoded, _headers);
  return response.success
      ? (HaLogbook.fromResponse(jsonDecode(response.dataStr)), null)
      : (null, HaFailure(message: response.dataStr));
}