import 'alarm.dart'; class RelativeTimeAlarm implements Alarm { @override final String id; @override final String taskId; final DateTime triggerAt; @override final AlarmType alarmType; const RelativeTimeAlarm({ required this.id, required this.taskId, required this.triggerAt, }) : alarmType = AlarmType.timeRelative; factory RelativeTimeAlarm.fromJson(Map json) { return RelativeTimeAlarm( id: json['id'] as String, taskId: json['taskId'] as String, triggerAt: DateTime.parse(json['triggerAt'] as String), ); } @override Map toJson() { return { 'id': id, 'taskId': taskId, 'triggerAt': triggerAt.toIso8601String(), 'alarmType': alarmType, }; } }