Major Change Inputs & Co
This commit is contained in:
37
lib/models/schedule.dart
Normal file
37
lib/models/schedule.dart
Normal file
@@ -0,0 +1,37 @@
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user