added id to alarms
This commit is contained in:
@@ -2,6 +2,7 @@ import 'location_alarm.dart';
|
|||||||
import 'time_alarm.dart';
|
import 'time_alarm.dart';
|
||||||
|
|
||||||
abstract class Alarm {
|
abstract class Alarm {
|
||||||
|
String get id;
|
||||||
String get taskId;
|
String get taskId;
|
||||||
Map<String, dynamic> toJson();
|
Map<String, dynamic> toJson();
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ import 'alarm.dart';
|
|||||||
import 'location.dart';
|
import 'location.dart';
|
||||||
|
|
||||||
class LocationAlarm implements Alarm {
|
class LocationAlarm implements Alarm {
|
||||||
|
@override
|
||||||
|
final String id;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final String taskId;
|
final String taskId;
|
||||||
|
|
||||||
@@ -10,6 +13,7 @@ class LocationAlarm implements Alarm {
|
|||||||
final int radiusMeters;
|
final int radiusMeters;
|
||||||
|
|
||||||
const LocationAlarm({
|
const LocationAlarm({
|
||||||
|
required this.id,
|
||||||
required this.taskId,
|
required this.taskId,
|
||||||
required this.location,
|
required this.location,
|
||||||
required this.radiusMeters,
|
required this.radiusMeters,
|
||||||
@@ -17,6 +21,7 @@ class LocationAlarm implements Alarm {
|
|||||||
|
|
||||||
factory LocationAlarm.fromJson(Map<String, dynamic> json) {
|
factory LocationAlarm.fromJson(Map<String, dynamic> json) {
|
||||||
return LocationAlarm(
|
return LocationAlarm(
|
||||||
|
id: json['id'] as String,
|
||||||
taskId: json['taskId'] as String,
|
taskId: json['taskId'] as String,
|
||||||
location: Location.fromJson(json['location'] as Map<String, dynamic>),
|
location: Location.fromJson(json['location'] as Map<String, dynamic>),
|
||||||
radiusMeters: json['radiusMeters'] as int,
|
radiusMeters: json['radiusMeters'] as int,
|
||||||
@@ -26,6 +31,7 @@ class LocationAlarm implements Alarm {
|
|||||||
@override
|
@override
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
return {
|
return {
|
||||||
|
'id': id,
|
||||||
'taskId': taskId,
|
'taskId': taskId,
|
||||||
'location': location.toJson(),
|
'location': location.toJson(),
|
||||||
'radiusMeters': radiusMeters,
|
'radiusMeters': radiusMeters,
|
||||||
|
|||||||
@@ -1,15 +1,23 @@
|
|||||||
import 'alarm.dart';
|
import 'alarm.dart';
|
||||||
|
|
||||||
class TimeAlarm implements Alarm {
|
class TimeAlarm implements Alarm {
|
||||||
|
@override
|
||||||
|
final String id;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final String taskId;
|
final String taskId;
|
||||||
|
|
||||||
final DateTime triggerAt;
|
final DateTime triggerAt;
|
||||||
|
|
||||||
const TimeAlarm({required this.taskId, required this.triggerAt});
|
const TimeAlarm({
|
||||||
|
required this.id,
|
||||||
|
required this.taskId,
|
||||||
|
required this.triggerAt,
|
||||||
|
});
|
||||||
|
|
||||||
factory TimeAlarm.fromJson(Map<String, dynamic> json) {
|
factory TimeAlarm.fromJson(Map<String, dynamic> json) {
|
||||||
return TimeAlarm(
|
return TimeAlarm(
|
||||||
|
id: json['id'] as String,
|
||||||
taskId: json['taskId'] as String,
|
taskId: json['taskId'] as String,
|
||||||
triggerAt: DateTime.parse(json['triggerAt'] as String),
|
triggerAt: DateTime.parse(json['triggerAt'] as String),
|
||||||
);
|
);
|
||||||
@@ -17,6 +25,10 @@ class TimeAlarm implements Alarm {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
return {'taskId': taskId, 'triggerAt': triggerAt.toIso8601String()};
|
return {
|
||||||
|
'id': id,
|
||||||
|
'taskId': taskId,
|
||||||
|
'triggerAt': triggerAt.toIso8601String(),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user