Major Change Inputs & Co

This commit is contained in:
mr
2025-02-04 17:02:49 +01:00
parent 2c86e90b76
commit 05854c84d8
43 changed files with 2837 additions and 1809 deletions

37
lib/models/schedule.dart Normal file
View 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,
};
}
}