diff --git a/lib/model/job.dart b/lib/model/job.dart index d14f389..1c45697 100644 --- a/lib/model/job.dart +++ b/lib/model/job.dart @@ -22,7 +22,7 @@ class JobsPayload { class Job { late Id id; @JsonKey(name: 'ver') - late int ver; + late String ver; @JsonKey(name: 'state') late int state; @JsonKey(name: 'cr_filter') diff --git a/lib/model/job.g.dart b/lib/model/job.g.dart index ce273f6..176282f 100644 --- a/lib/model/job.g.dart +++ b/lib/model/job.g.dart @@ -56,7 +56,7 @@ const JobSchema = CollectionSchema( r'ver': PropertySchema( id: 7, name: r'ver', - type: IsarType.long, + type: IsarType.string, ), r'vhtId': PropertySchema( id: 8, @@ -111,6 +111,7 @@ int _jobEstimateSize( bytesCount += JobTourSchema.estimateSize(value, offsets, allOffsets); } } + bytesCount += 3 + object.ver.length * 3; return bytesCount; } @@ -132,7 +133,7 @@ void _jobSerialize( JobTourSchema.serialize, object.tours, ); - writer.writeLong(offsets[7], object.ver); + writer.writeString(offsets[7], object.ver); writer.writeLong(offsets[8], object.vhtId); } @@ -157,7 +158,7 @@ Job _jobDeserialize( JobTour(), ) ?? []; - object.ver = reader.readLong(offsets[7]); + object.ver = reader.readString(offsets[7]); object.vhtId = reader.readLong(offsets[8]); return object; } @@ -190,7 +191,7 @@ P _jobDeserializeProp

( ) ?? []) as P; case 7: - return (reader.readLong(offset)) as P; + return (reader.readString(offset)) as P; case 8: return (reader.readLong(offset)) as P; default: @@ -1018,46 +1019,55 @@ extension JobQueryFilter on QueryBuilder { }); } - QueryBuilder verEqualTo(int value) { + QueryBuilder verEqualTo( + String value, { + bool caseSensitive = true, + }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'ver', value: value, + caseSensitive: caseSensitive, )); }); } QueryBuilder verGreaterThan( - int value, { + String value, { bool include = false, + bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'ver', value: value, + caseSensitive: caseSensitive, )); }); } QueryBuilder verLessThan( - int value, { + String value, { bool include = false, + bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'ver', value: value, + caseSensitive: caseSensitive, )); }); } QueryBuilder verBetween( - int lower, - int upper, { + String lower, + String upper, { bool includeLower = true, bool includeUpper = true, + bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( @@ -1066,6 +1076,73 @@ extension JobQueryFilter on QueryBuilder { includeLower: includeLower, upper: upper, includeUpper: includeUpper, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder verStartsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.startsWith( + property: r'ver', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder verEndsWith( + String value, { + bool caseSensitive = true, + }) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.endsWith( + property: r'ver', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder verContains(String value, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.contains( + property: r'ver', + value: value, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder verMatches(String pattern, + {bool caseSensitive = true}) { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.matches( + property: r'ver', + wildcard: pattern, + caseSensitive: caseSensitive, + )); + }); + } + + QueryBuilder verIsEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.equalTo( + property: r'ver', + value: '', + )); + }); + } + + QueryBuilder verIsNotEmpty() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(FilterCondition.greaterThan( + property: r'ver', + value: '', )); }); } @@ -1357,9 +1434,9 @@ extension JobQueryWhereDistinct on QueryBuilder { }); } - QueryBuilder distinctByVer() { + QueryBuilder distinctByVer({bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { - return query.addDistinctBy(r'ver'); + return query.addDistinctBy(r'ver', caseSensitive: caseSensitive); }); } @@ -1419,7 +1496,7 @@ extension JobQueryProperty on QueryBuilder { }); } - QueryBuilder verProperty() { + QueryBuilder verProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'ver'); }); @@ -1449,7 +1526,7 @@ Map _$JobsPayloadToJson(JobsPayload instance) => Job _$JobFromJson(Map json) => Job() ..id = json['id'] as int - ..ver = json['ver'] as int + ..ver = json['ver'] as String ..state = json['state'] as int ..crFilter = json['cr_filter'] as String? ..ordertime = json['ordertime'] as String diff --git a/lib/protocoll_messages/start_session_message.dart b/lib/protocoll_messages/start_session_message.dart index da279d5..8ab2946 100644 --- a/lib/protocoll_messages/start_session_message.dart +++ b/lib/protocoll_messages/start_session_message.dart @@ -6,6 +6,8 @@ part 'start_session_message.g.dart'; @JsonSerializable() class StartSessionMessage { + late String otto; + StartSessionMessage(); factory StartSessionMessage.fromJson(Map json) => _$StartSessionMessageFromJson(json); diff --git a/lib/protocoll_messages/start_session_message.g.dart b/lib/protocoll_messages/start_session_message.g.dart index e99df88..889c19e 100644 --- a/lib/protocoll_messages/start_session_message.g.dart +++ b/lib/protocoll_messages/start_session_message.g.dart @@ -7,8 +7,10 @@ part of 'start_session_message.dart'; // ************************************************************************** StartSessionMessage _$StartSessionMessageFromJson(Map json) => - StartSessionMessage(); + StartSessionMessage()..otto = json['otto'] as String; Map _$StartSessionMessageToJson( StartSessionMessage instance) => - {}; + { + 'otto': instance.otto, + }; diff --git a/lib/tools/mqtt_core.dart b/lib/tools/mqtt_core.dart index de7fa4e..8b1a615 100644 --- a/lib/tools/mqtt_core.dart +++ b/lib/tools/mqtt_core.dart @@ -370,6 +370,7 @@ class MqttCore { _initSession() { var startSessionMessage = StartSessionMessage(); + startSessionMessage.otto = "test"; var jsonMap = startSessionMessage.toJson(); var json = jsonEncode(jsonMap);