37 lines
1.0 KiB
Dart
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,
|
|
};
|
|
}
|
|
} |