35 lines
728 B
Dart
35 lines
728 B
Dart
import 'alarm.dart';
|
|
import 'location.dart';
|
|
|
|
class LocationAlarm implements Alarm {
|
|
@override
|
|
final String taskId;
|
|
|
|
final Location location;
|
|
|
|
final int radiusMeters;
|
|
|
|
const LocationAlarm({
|
|
required this.taskId,
|
|
required this.location,
|
|
required this.radiusMeters,
|
|
});
|
|
|
|
factory LocationAlarm.fromJson(Map<String, dynamic> json) {
|
|
return LocationAlarm(
|
|
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 {
|
|
'taskId': taskId,
|
|
'location': location.toJson(),
|
|
'radiusMeters': radiusMeters,
|
|
};
|
|
}
|
|
}
|