Files
tasks/lib/model/alarm/location_alarm.dart
T
2026-07-17 17:08:31 +02:00

45 lines
938 B
Dart

import 'alarm.dart';
import '../location.dart';
class LocationAlarm implements Alarm {
@override
final String id;
@override
final String taskId;
final Location location;
final int radiusMeters;
@override
final AlarmType alarmType;
const LocationAlarm({
required this.id,
required this.taskId,
required this.location,
required this.radiusMeters,
}) : alarmType = AlarmType.location;
factory LocationAlarm.fromJson(Map<String, dynamic> json) {
return LocationAlarm(
id: json['id'] as String,
taskId: json['taskId'] as String,
location: Location.fromJson(json['location'] as Map<String, dynamic>),
radiusMeters: json['radiusMeters'] as int,
);
}
@override
Map<String, dynamic> toJson() {
return {
'id': id,
'taskId': taskId,
'location': location.toJson(),
'radiusMeters': radiusMeters,
'alarmType': alarmType,
};
}
}