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',
|
||||
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');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
};
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user