From 8113ce9c22a0558e5b33a5b5e7eac47156802221 Mon Sep 17 00:00:00 2001 From: marco Date: Mon, 20 Jul 2026 13:52:11 +0200 Subject: [PATCH] create toAlarm and fromAlarm --- .../requests/create_fixed_time_alarm_request.dart | 10 +++++++++- lib/model/requests/create_location_alarm_request.dart | 9 +++++++++ .../requests/create_relative_time_alarm_request.dart | 10 +++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/model/requests/create_fixed_time_alarm_request.dart b/lib/model/requests/create_fixed_time_alarm_request.dart index e9825b4..a8ea98c 100644 --- a/lib/model/requests/create_fixed_time_alarm_request.dart +++ b/lib/model/requests/create_fixed_time_alarm_request.dart @@ -1,9 +1,17 @@ import '../alarm/alarm.dart'; +import '../alarm/fixed_time_alarm.dart'; import 'create_alarm_request.dart'; class CreateFixedTimeAlarmRequest extends CreateAlarmRequest { final DateTime? triggerAt; - CreateFixedTimeAlarmRequest({this.triggerAt}) + const CreateFixedTimeAlarmRequest({this.triggerAt}) : super(alarmType: AlarmType.timeFixed); + + CreateFixedTimeAlarmRequest.fromAlarm(FixedTimeAlarm alarm) + : triggerAt = alarm.triggerAt, + super(alarmType: AlarmType.timeFixed); + + FixedTimeAlarm toFixedTimeAlarm(String id) => + FixedTimeAlarm(id: id, triggerAt: triggerAt!); } diff --git a/lib/model/requests/create_location_alarm_request.dart b/lib/model/requests/create_location_alarm_request.dart index c6ae001..15e8c83 100644 --- a/lib/model/requests/create_location_alarm_request.dart +++ b/lib/model/requests/create_location_alarm_request.dart @@ -1,4 +1,5 @@ import '../alarm/alarm.dart' show AlarmType; +import '../alarm/location_alarm.dart'; import '../location.dart'; import 'create_alarm_request.dart'; @@ -9,4 +10,12 @@ class CreateLocationAlarmRequest extends CreateAlarmRequest { const CreateLocationAlarmRequest({this.location, this.radiusMeters}) : super(alarmType: AlarmType.location); + + CreateLocationAlarmRequest.fromAlarm(LocationAlarm alarm) + : location = alarm.location, + radiusMeters = alarm.radiusMeters, + super(alarmType: AlarmType.location); + + LocationAlarm toLocationAlarm(String id) => + LocationAlarm(id: id, location: location!, radiusMeters: radiusMeters!); } diff --git a/lib/model/requests/create_relative_time_alarm_request.dart b/lib/model/requests/create_relative_time_alarm_request.dart index 8b7d522..7abb129 100644 --- a/lib/model/requests/create_relative_time_alarm_request.dart +++ b/lib/model/requests/create_relative_time_alarm_request.dart @@ -1,9 +1,17 @@ import '../alarm/alarm.dart' show AlarmType; +import '../alarm/relative_time_alarm.dart'; import 'create_alarm_request.dart'; class CreateRelativeTimeAlarmRequest extends CreateAlarmRequest { final DateTime? triggerAt; - CreateRelativeTimeAlarmRequest({this.triggerAt}) + const CreateRelativeTimeAlarmRequest({this.triggerAt}) : super(alarmType: AlarmType.timeRelative); + + CreateRelativeTimeAlarmRequest.fromAlarm(RelativeTimeAlarm alarm) + : triggerAt = alarm.triggerAt, + super(alarmType: AlarmType.timeRelative); + + RelativeTimeAlarm toRelativeTimeAlarm(String id) => + RelativeTimeAlarm(id: id, triggerAt: triggerAt!); }