38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
enum BusylightStatus {
|
|
on,
|
|
off,
|
|
available,
|
|
away,
|
|
busy,
|
|
colored;
|
|
|
|
String get apiPath {
|
|
switch (this) {
|
|
case BusylightStatus.on: return '/api/status/on';
|
|
case BusylightStatus.off: return '/api/status/off';
|
|
case BusylightStatus.available: return '/api/status/available';
|
|
case BusylightStatus.away: return '/api/status/away';
|
|
case BusylightStatus.busy: return '/api/status/busy';
|
|
case BusylightStatus.colored: return '/api/status';
|
|
}
|
|
}
|
|
|
|
String get label {
|
|
switch (this) {
|
|
case BusylightStatus.on: return 'On';
|
|
case BusylightStatus.off: return 'Off';
|
|
case BusylightStatus.available: return 'Available';
|
|
case BusylightStatus.away: return 'Away';
|
|
case BusylightStatus.busy: return 'Busy';
|
|
case BusylightStatus.colored: return 'Custom';
|
|
}
|
|
}
|
|
|
|
static BusylightStatus fromString(String value) {
|
|
return BusylightStatus.values.firstWhere(
|
|
(e) => e.name == value,
|
|
orElse: () => BusylightStatus.off,
|
|
);
|
|
}
|
|
}
|