Erweiterungen
This commit is contained in:
1 parent
a35532b909
commit
4b0203b71b
5 files changed
+107
-37
No files matched your search
@@ -22,9 +22,9 @@ const EnqueuedMessageSchema = CollectionSchema(
|
|||||||
name: r'payload',
|
name: r'payload',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
),
|
),
|
||||||
r'receiver': PropertySchema(
|
r'topic': PropertySchema(
|
||||||
id: 1,
|
id: 1,
|
||||||
name: r'receiver',
|
name: r'topic',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
@@ -380,13 +380,13 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverEqualTo(
|
topicEqualTo(
|
||||||
String value, {
|
String value, {
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: value,
|
value: value,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -394,7 +394,7 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverGreaterThan(
|
topicGreaterThan(
|
||||||
String value, {
|
String value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
@@ -402,7 +402,7 @@ extension EnqueuedMessageQueryFilter
|
|||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
include: include,
|
include: include,
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: value,
|
value: value,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -410,7 +410,7 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverLessThan(
|
topicLessThan(
|
||||||
String value, {
|
String value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
@@ -418,7 +418,7 @@ extension EnqueuedMessageQueryFilter
|
|||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.lessThan(
|
return query.addFilterCondition(FilterCondition.lessThan(
|
||||||
include: include,
|
include: include,
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: value,
|
value: value,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -426,7 +426,7 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverBetween(
|
topicBetween(
|
||||||
String lower,
|
String lower,
|
||||||
String upper, {
|
String upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
@@ -435,7 +435,7 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.between(
|
return query.addFilterCondition(FilterCondition.between(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
lower: lower,
|
lower: lower,
|
||||||
includeLower: includeLower,
|
includeLower: includeLower,
|
||||||
upper: upper,
|
upper: upper,
|
||||||
@@ -446,13 +446,13 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverStartsWith(
|
topicStartsWith(
|
||||||
String value, {
|
String value, {
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.startsWith(
|
return query.addFilterCondition(FilterCondition.startsWith(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: value,
|
value: value,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -460,13 +460,13 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverEndsWith(
|
topicEndsWith(
|
||||||
String value, {
|
String value, {
|
||||||
bool caseSensitive = true,
|
bool caseSensitive = true,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.endsWith(
|
return query.addFilterCondition(FilterCondition.endsWith(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: value,
|
value: value,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -474,10 +474,10 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverContains(String value, {bool caseSensitive = true}) {
|
topicContains(String value, {bool caseSensitive = true}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.contains(
|
return query.addFilterCondition(FilterCondition.contains(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: value,
|
value: value,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -485,10 +485,10 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverMatches(String pattern, {bool caseSensitive = true}) {
|
topicMatches(String pattern, {bool caseSensitive = true}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.matches(
|
return query.addFilterCondition(FilterCondition.matches(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
wildcard: pattern,
|
wildcard: pattern,
|
||||||
caseSensitive: caseSensitive,
|
caseSensitive: caseSensitive,
|
||||||
));
|
));
|
||||||
@@ -496,20 +496,20 @@ extension EnqueuedMessageQueryFilter
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverIsEmpty() {
|
topicIsEmpty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: '',
|
value: '',
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterFilterCondition>
|
||||||
receiverIsNotEmpty() {
|
topicIsNotEmpty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
property: r'receiver',
|
property: r'topic',
|
||||||
value: '',
|
value: '',
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
@@ -537,17 +537,16 @@ extension EnqueuedMessageQuerySortBy
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy> sortByTopic() {
|
||||||
sortByReceiver() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'receiver', Sort.asc);
|
return query.addSortBy(r'topic', Sort.asc);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
|
||||||
sortByReceiverDesc() {
|
sortByTopicDesc() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
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>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy> thenByTopic() {
|
||||||
thenByReceiver() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'receiver', Sort.asc);
|
return query.addSortBy(r'topic', Sort.asc);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
|
QueryBuilder<EnqueuedMessage, EnqueuedMessage, QAfterSortBy>
|
||||||
thenByReceiverDesc() {
|
thenByTopicDesc() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
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}) {
|
{bool caseSensitive = true}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
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 QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'receiver');
|
return query.addPropertyName(r'topic');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ import 'package:stadtbote/tools/mqtt_core.dart';
|
|||||||
import 'package:stadtbote/tools/util.dart';
|
import 'package:stadtbote/tools/util.dart';
|
||||||
|
|
||||||
void showInfosPopup(BuildContext context, SessionStatus? status) async {
|
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 += "Verbindungsstatus: ${MqttCore.instance.connectionState == ConnectionStateEnum.connected ? "Verbunden" : "NICHT verbunden"}\n";
|
||||||
text += "GPS-Status: ${MyApp.currentPosition != null ? MyApp.currentPosition!.timestamp.toString() : "Unbekannt"}\n";
|
text += "GPS-Status: ${MyApp.currentPosition != null ? MyApp.currentPosition!.timestamp.toString() : "Unbekannt"}\n";
|
||||||
text += "\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,
|
||||||
|
};
|
||||||
@@ -9,6 +9,7 @@ import 'package:mqtt_client/mqtt_server_client.dart';
|
|||||||
import 'package:stadtbote/model/enqueued_message.dart';
|
import 'package:stadtbote/model/enqueued_message.dart';
|
||||||
import 'package:stadtbote/model/ranking.dart';
|
import 'package:stadtbote/model/ranking.dart';
|
||||||
import 'package:stadtbote/model/status.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_request.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
|
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/device_object.dart';
|
import 'package:stadtbote/protocoll_messages/device_object.dart';
|
||||||
@@ -285,6 +286,8 @@ class MqttCore {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MessageService().publish<JobReceivedMessage>(Constants.messageTopicJobReceived, arguments: JobReceivedMessage(job: newJob));
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user