This repository has been archived on 2025-08-25. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Seshat/<
2025-08-11 22:41:15 +02:00

46 lines
934 B
Text

import 'package:provider/provider.dart';
enum State { pending, ongoing, ended }
class Bal {
Bal({
required this.id,
required this.name,
required this.state,
required this.startTime,
required this.endTime,
});
int id;
String name;
State state;
DateTime startTime;
DateTime endTime;
factory Bal.fromJSON(Map<String, dynamic> json) => Bal(
id: json["id"],
name: json["name"],
state: switch (json["state"]) {
"Pending" => State.pending,
"Ongoing" => State.ongoing,
_ => State.ended,
},
startTime: DateTime.fromMillisecondsSinceEpoch(
json["start_timestamp"] * 1000,
isUtc: true,
),
endTime: DateTime.fromMillisecondsSinceEpoch(
json["end_timestamp"] * 1000,
isUtc: true,
),
);
int compareTo(Bal other) {
if (ended == other.ended) {
return 0;
} else if (ended) {
return 1;
}
return -1;
}
}