Erweiterungen

This commit is contained in:
Sven committed 2024-03-04 11:12:26 +01:00
1 parent a35532b909
commit 4b0203b71b
5 files changed
+107 -37

No files matched your search

+34 -36
View File
@@ -22,9 +22,9 @@ const EnqueuedMessageSchema = CollectionSchema(
name: r'payload',
type: IsarType.string,
),
r'receiver': PropertySchema(
r'topic': PropertySchema(
id: 1,
name: r'receiver',
name: r'topic',
type: IsarType.string,
)
},
@@ -380,13 +380,13 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverEqualTo(
topicEqualTo(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'receiver',
property: r'topic',
value: value,
caseSensitive: caseSensitive,
));
@@ -394,7 +394,7 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverGreaterThan(
topicGreaterThan(
String value, {
bool include = false,
bool caseSensitive = true,
@@ -402,7 +402,7 @@ extension EnqueuedMessageQueryFilter
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
include: include,
property: r'receiver',
property: r'topic',
value: value,
caseSensitive: caseSensitive,
));
@@ -410,7 +410,7 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverLessThan(
topicLessThan(
String value, {
bool include = false,
bool caseSensitive = true,
@@ -418,7 +418,7 @@ extension EnqueuedMessageQueryFilter
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.lessThan(
include: include,
property: r'receiver',
property: r'topic',
value: value,
caseSensitive: caseSensitive,
));
@@ -426,7 +426,7 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverBetween(
topicBetween(
String lower,
String upper, {
bool includeLower = true,
@@ -435,7 +435,7 @@ extension EnqueuedMessageQueryFilter
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.between(
property: r'receiver',
property: r'topic',
lower: lower,
includeLower: includeLower,
upper: upper,
@@ -446,13 +446,13 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverStartsWith(
topicStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.startsWith(
property: r'receiver',
property: r'topic',
value: value,
caseSensitive: caseSensitive,
));
@@ -460,13 +460,13 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverEndsWith(
topicEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.endsWith(
property: r'receiver',
property: r'topic',
value: value,
caseSensitive: caseSensitive,
));
@@ -474,10 +474,10 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverContains(String value, {bool caseSensitive = true}) {
topicContains(String value, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.contains(
property: r'receiver',
property: r'topic',
value: value,
caseSensitive: caseSensitive,
));
@@ -485,10 +485,10 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverMatches(String pattern, {bool caseSensitive = true}) {
topicMatches(String pattern, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.matches(
property: r'receiver',
property: r'topic',
wildcard: pattern,
caseSensitive: caseSensitive,
));
@@ -496,20 +496,20 @@ extension EnqueuedMessageQueryFilter
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverIsEmpty() {
topicIsEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.equalTo(
property: r'receiver',
property: r'topic',
value: '',
));
});
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
receiverIsNotEmpty() {
topicIsNotEmpty() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(FilterCondition.greaterThan(
property: r'receiver',
property: r'topic',
value: '',
));
});
@@ -537,17 +537,16 @@ extension EnqueuedMessageQuerySortBy
});
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
sortByReceiver() {
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy> sortByTopic() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'receiver', Sort.asc);
return query.addSortBy(r'topic', Sort.asc);
});
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
sortByReceiverDesc() {
sortByTopicDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'receiver', Sort.desc);
return query.addSortBy(r'topic', Sort.desc);
});
}
}
@@ -579,17 +578,16 @@ extension EnqueuedMessageQuerySortThenBy
});
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
thenByReceiver() {
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy> thenByTopic() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'receiver', Sort.asc);
return query.addSortBy(r'topic', Sort.asc);
});
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
thenByReceiverDesc() {
thenByTopicDesc() {
return QueryBuilder.apply(this, (query) {
return query.addSortBy(r'receiver', Sort.desc);
return query.addSortBy(r'topic', Sort.desc);
});
}
}
@@ -603,10 +601,10 @@ extension EnqueuedMessageQueryWhereDistinct
});
}
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QDistinct> distinctByReceiver(
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QDistinct> distinctByTopic(
{bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'receiver', caseSensitive: caseSensitive);
return query.addDistinctBy(r'topic', caseSensitive: caseSensitive);
});
}
}
@@ -625,9 +623,9 @@ extension EnqueuedMessageQueryProperty
});
}
QueryBuilder<EnqueuedMessage, String, QQueryOperations> receiverProperty() {
QueryBuilder<EnqueuedMessage, String, QQueryOperations> topicProperty() {
return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'receiver');
return query.addPropertyName(r'topic');
});
}
}
+1 -1
View File
@@ -5,7 +5,7 @@ import 'package:stadtbote/tools/mqtt_core.dart';
import 'package:stadtbote/tools/util.dart';
void showInfosPopup(BuildContext context, SessionStatus? status) async {
var text = "Versionsnummer: a206\n";
var text = "Versionsnummer: a207\n";
text += "Verbindungsstatus: ${MqttCore.instance.connectionState == ConnectionStateEnum.connected ? "Verbunden" : "NICHT verbunden"}\n";
text += "GPS-Status: ${MyApp.currentPosition != null ? MyApp.currentPosition!.timestamp.toString() : "Unbekannt"}\n";
text += "\n";
@@ -0,0 +1,21 @@
import 'package:isar/isar.dart';
import 'package:json_annotation/json_annotation.dart';
part 'acknowledge_job.g.dart';
@JsonSerializable()
class AcknowledgeJob {
late int id;
late int state;
late int ver;
late int utc;
AcknowledgeJob();
factory AcknowledgeJob.fromJson(Map<String, dynamic> json) => _$AcknowledgeJobFromJson(json);
Map<String, dynamic> toJson() => _$AcknowledgeJobToJson(this);
}
@@ -0,0 +1,22 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'acknowledge_job.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
AcknowledgeJob _$AcknowledgeJobFromJson(Map<String, dynamic> json) =>
AcknowledgeJob()
..id = json['id'] as int
..state = json['state'] as int
..ver = json['ver'] as int
..utc = json['utc'] as int;
Map<String, dynamic> _$AcknowledgeJobToJson(AcknowledgeJob instance) =>
<String, dynamic>{
'id': instance.id,
'state': instance.state,
'ver': instance.ver,
'utc': instance.utc,
};
+29
View File
@@ -9,6 +9,7 @@ import 'package:mqtt_client/mqtt_server_client.dart';
import 'package:stadtbote/model/enqueued_message.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_object.dart';
@@ -285,6 +286,8 @@ class MqttCore {
}
MessageService().publish<JobReceivedMessage>(Constants.messageTopicJobReceived, arguments: JobReceivedMessage(job: newJob));
_acknowlegdeJob(newJob);
}
}
@@ -483,4 +486,30 @@ class MqttCore {
}
}
}
/*
private void AcknowledgeJob(Job job)
{
var payloadObject = new JObject();
var receivedObject = new JObject();
payloadObject.Add(new JProperty("received", receivedObject));
receivedObject.Add(new JProperty("id", job.Id));
receivedObject.Add(new JProperty("state", job.State));
receivedObject.Add(new JProperty("ver", job.Ver));
receivedObject.Add(new JProperty("utc", Utils.GetUTCTimestamp()));
SendJsonMessageAsync("job", payloadObject);
}
*/
void _acknowlegdeJob(Job job) {
var message = AcknowledgeJob();
message.id = job.id;
message.state = job.state;
message.ver = job.ver;
message.utc = DateTime.now().millisecondsSinceEpoch;
MqttCore.instance.publishPayloadMessage('job', message.toJson());
}
}