oc-front/lib/models/schedule.dart
2025-02-04 17:02:49 +01:00

37 lines
1.0 KiB
Dart

import 'package:oc_front/models/abstract.dart';
class Scheduler extends SerializerDeserializer<Scheduler> {
DateTime? start;
DateTime? end;
double? duration;
String? cron;
Scheduler({
this.start,
this.end,
this.duration,
this.cron,
});
@override
Scheduler deserialize(json) {
try { json = json as Map<String, dynamic>;
} catch (e) { return Scheduler(); }
var w = Scheduler(
start: json.containsKey("start") && json["start"] != null ? DateTime.parse(json["start"]) : null,
end: json.containsKey("end") && json["end"] != null ? DateTime.parse(json["end"]) : null,
duration: json.containsKey("duration_s") && json["duration_s"] != null ? json["duration_s"] : -1,
cron: json.containsKey("cron") && json["cron"] != null ? json["cron"] : null,
);
return w;
}
@override Map<String, dynamic> serialize() {
return {
"start": start?.toIso8601String(),
"end": end?.toIso8601String(),
"duration_s": duration,
"cron": cron,
};
}
}