Erweiterungen

This commit is contained in:
Sven committed 2024-03-15 11:56:21 +01:00
1 parent 75787d51ff
commit 279f6cb868
5 files changed
+57 -2

No files matched your search

+11 -2
View File
@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:isar/isar.dart';
@@ -9,10 +11,12 @@ import 'package:stadtbote/content_views/messages_page.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/content_views/utils/header_info.dart';
import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/model/log_entry.dart';
import 'package:stadtbote/model/message.dart';
import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/model/status.dart';
import 'package:stadtbote/popups/infos_popup.dart';
import 'package:stadtbote/protocoll_messages/device_log.dart';
import 'package:stadtbote/protocoll_messages/logout_message.dart';
import 'package:stadtbote/tools/message_service.dart';
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
@@ -387,8 +391,13 @@ class _MainPageState extends State<MainPage> {
MqttCore.instance.publishPayloadMessage('session', logoutMessage.toJson());
}
void _test() {
var otto = MyApp.isarInstance;
void _test() async {
var logEintries = await MyApp.isarInstance.logEntrys.where().findAll();
var deviceLog = DeviceLog();
deviceLog.entries = logEintries;
var json = jsonEncode(deviceLog.toJson());
Util.logInfo('message');
}
+2
View File
@@ -23,5 +23,7 @@ class LogEntry {
LogEntry();
factory LogEntry.fromJson(Map<String, dynamic> json) => _$LogEntryFromJson(json);
Map<String, dynamic> toJson() => _$LogEntryToJson(this);
}
+13
View File
@@ -0,0 +1,13 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:stadtbote/model/log_entry.dart';
part 'device_log.g.dart';
@JsonSerializable()
class DeviceLog {
late List<LogEntry> entries;
DeviceLog();
Map<String, dynamic> toJson() => _$DeviceLogToJson(this);
}
+16
View File
@@ -0,0 +1,16 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'device_log.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
DeviceLog _$DeviceLogFromJson(Map<String, dynamic> json) => DeviceLog()
..entries = (json['entries'] as List<dynamic>)
.map((e) => LogEntry.fromJson(e as Map<String, dynamic>))
.toList();
Map<String, dynamic> _$DeviceLogToJson(DeviceLog instance) => <String, dynamic>{
'entries': instance.entries,
};
+15
View File
@@ -7,11 +7,13 @@ import 'package:isar/isar.dart';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';
import 'package:stadtbote/model/enqueued_message.dart';
import 'package:stadtbote/model/log_entry.dart';
import 'package:stadtbote/model/ranking.dart';
import 'package:stadtbote/model/status.dart';
import 'package:stadtbote/protocoll_messages/acknowledge_job.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_request.dart';
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
import 'package:stadtbote/protocoll_messages/device_log.dart';
import 'package:stadtbote/protocoll_messages/device_object.dart';
import 'package:stadtbote/model/job.dart';
import 'package:stadtbote/model/message.dart';
@@ -204,6 +206,10 @@ class MqttCore {
_messageMessageReceived(payloadData);
break;
case "device_log":
_messageDeviceLogReceived(payloadData);
break;
default:
Util.logInfo('Unknown topic: $payloadEntry');
break;
@@ -318,6 +324,15 @@ class MqttCore {
MessageService().publish<MessageReceivedMessage>(Constants.messageTopicMessageReceived, arguments: MessageReceivedMessage(message: newMessage));
}
void _messageDeviceLogReceived(payloadData) async {
var logEintries = await MyApp.isarInstance.logEntrys.where().findAll();
var deviceLog = DeviceLog();
deviceLog.entries = logEintries;
MqttCore.instance.publishPayloadMessage("device_log", deviceLog.toJson());
}
void _startReconnectTimer() {
connectionState = ConnectionStateEnum.notConnected;