Files
Client/lib/api/webuntis/queries/get_holidays/get_holidays.dart
T
2026-05-08 20:12:40 +02:00

35 lines
901 B
Dart

import 'dart:convert';
import '../../webuntis_api.dart';
import 'get_holidays_response.dart';
class GetHolidays extends WebuntisApi {
GetHolidays() : super('getHolidays', null);
@override
Future<GetHolidaysResponse> run() async {
final rawAnswer = await query(this);
return finalize(
GetHolidaysResponse.fromJson(
jsonDecode(rawAnswer) as Map<String, dynamic>,
),
);
}
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;
}
}