Files
busylight-buddy/lib/models/busylight_status.dart

38 lines
1.0 KiB
Dart
Raw Permalink Normal View History

2026-03-21 01:34:22 +01:00
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,
);
}
}