import 'dart:convert'; import '../../webuntis_api.dart'; import 'get_holidays_response.dart'; class GetHolidays extends WebuntisApi { GetHolidays() : super('getHolidays', null); @override Future run() async { final rawAnswer = await query(this); return finalize( GetHolidaysResponse.fromJson( jsonDecode(rawAnswer) as Map, ), ); } static GetHolidaysResponseObject? find( GetHolidaysResponse holidaysResponse, { DateTime? time, }) { time ??= DateTime.now(); time = DateTime(time.year, time.month, time.day, 0, 0, 0, 0, 0); for (var element in holidaysResponse.result) { var start = DateTime.parse(element.startDate.toString()); var end = DateTime.parse(element.endDate.toString()); if (!start.isAfter(time) && !end.isBefore(time)) return element; } return null; } }