34 lines
893 B
Dart
34 lines
893 B
Dart
import 'package:stadtbote/model/log_entry.dart';
|
|
|
|
class DeviceLogResponse {
|
|
late List<LogEntry> entries;
|
|
|
|
DeviceLogResponse();
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'entries': entries.map((e) => {
|
|
'id': e.id,
|
|
'time': e.time.millisecondsSinceEpoch,
|
|
'severity': e.severity,
|
|
'message': e.text,
|
|
}).toList(),
|
|
};
|
|
}
|
|
|
|
factory DeviceLogResponse.fromJson(Map<String, dynamic> json) {
|
|
final response = DeviceLogResponse();
|
|
response.entries = (json['entries'] as List<dynamic>)
|
|
.map((e) {
|
|
final entry = LogEntry();
|
|
entry.id = e['id'] as int? ?? 0;
|
|
entry.time = DateTime.fromMillisecondsSinceEpoch(e['time'] as int);
|
|
entry.severity = e['severity'] as int;
|
|
entry.text = e['message'] as String;
|
|
return entry;
|
|
})
|
|
.toList();
|
|
return response;
|
|
}
|
|
}
|