Files
tasks/lib/model/alarm/relative_time_alarm.dart
T
2026-07-24 01:21:06 +02:00

31 lines
651 B
Dart

import 'alarm.dart';
class RelativeTimeAlarm implements Alarm {
@override
final String id;
final Duration triggerAt;
@override
final AlarmType alarmType;
const RelativeTimeAlarm({required this.id, required this.triggerAt})
: alarmType = AlarmType.timeRelative;
factory RelativeTimeAlarm.fromJson(Map<String, dynamic> json) {
return RelativeTimeAlarm(
id: json['id'] as String,
triggerAt: Duration(minutes: json['triggerAt'] as int),
);
}
@override
Map<String, dynamic> toJson() {
return {
'id': id,
'triggerAt': triggerAt.inMinutes,
'alarmType': alarmType.toJson(),
};
}
}