getCalendar method

Future<(HaCalendar?, HaFailure?)> getCalendar({
  1. required String entityId,
  2. required DateTime start,
  3. required DateTime end,
})

Returns the list of calendar events for the specified calendar entity_id between the start and end times (exclusive).

The events in the response have a start and end that contain either dateTime or date for an all day event.

Implementation

Future<(HaCalendar?, HaFailure?)> getCalendar({
  required String entityId,
  required DateTime start,
  required DateTime end,
}) async {
  final starIsoStr = start.toIso8601String();
  final endIsoStr = end.toIso8601String();
  final endpoint =
      '/api/calendars/$entityId?start=$starIsoStr&end=$endIsoStr';
  final response = await sl.get<HttpClient>().get(url + endpoint, _headers);
  return response.success
      ? (HaCalendar.fromResponse(jsonDecode(response.dataStr)), null)
      : (null, HaFailure(message: response.dataStr));
}