Ranking erweitert
This commit is contained in:
1 parent
32ec25af14
commit
91f641f998
6 files changed
+449
-327
No files matched your search
@@ -10,6 +10,7 @@ import 'package:stadtbote/popups/tasks_popups/zip_popup.dart';
|
|||||||
import 'package:stadtbote/protocoll_messages/zip_message.dart';
|
import 'package:stadtbote/protocoll_messages/zip_message.dart';
|
||||||
import 'package:stadtbote/tools/constants.dart';
|
import 'package:stadtbote/tools/constants.dart';
|
||||||
import 'package:stadtbote/tools/message_service.dart';
|
import 'package:stadtbote/tools/message_service.dart';
|
||||||
|
import 'package:stadtbote/tools/messages/ranking_updated.dart';
|
||||||
import 'package:stadtbote/tools/mqtt_core.dart';
|
import 'package:stadtbote/tools/mqtt_core.dart';
|
||||||
|
|
||||||
import '../tools/util.dart';
|
import '../tools/util.dart';
|
||||||
@@ -40,7 +41,7 @@ class ApproachAreaPage extends ContentViewWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
||||||
late List<Rank>? _ranking;
|
late Ranking? _ranking;
|
||||||
|
|
||||||
late bool _initCompleted = false;
|
late bool _initCompleted = false;
|
||||||
|
|
||||||
@@ -49,12 +50,10 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
|
|
||||||
Future.delayed(const Duration(seconds: 0), () async {
|
Future.delayed(const Duration(seconds: 0), () async {
|
||||||
_ranking = await MyApp.isarInstance.ranks.where().findAll();
|
_ranking = await MyApp.isarInstance.rankings.where().findFirst();
|
||||||
|
|
||||||
_initCompleted = true;
|
_initCompleted = true;
|
||||||
|
|
||||||
_sendZip(Rank(), "24893");
|
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -74,6 +73,8 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
|||||||
return Util.getWaitWidget(context);
|
return Util.getWaitWidget(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_fillColumns();
|
||||||
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: InteractiveViewer(
|
child: InteractiveViewer(
|
||||||
@@ -93,8 +94,8 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
|||||||
List<Widget> columns = [];
|
List<Widget> columns = [];
|
||||||
|
|
||||||
if (_ranking != null) {
|
if (_ranking != null) {
|
||||||
for (int i = 0; i < _ranking!.length; i++) {
|
for (int i = 0; i < _ranking!.ranks.length; i++) {
|
||||||
var rank = _ranking![i];
|
var rank = _ranking!.ranks[i];
|
||||||
|
|
||||||
List<Widget> entries = [];
|
List<Widget> entries = [];
|
||||||
entries.add(
|
entries.add(
|
||||||
@@ -196,10 +197,10 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_initMessages() {
|
_initMessages() {
|
||||||
/*MessageService().subscribe<RankingUpdated>(Constants.messageTopicRankingUpdated, this, (rankingUpdateMessage) async {
|
MessageService().subscribe<RankingUpdated>(Constants.messageTopicRankingUpdated, this, (rankingUpdateMessage) async {
|
||||||
_ranking = await MyApp.isarInstance.rankings.where().findFirst();
|
_ranking = await MyApp.isarInstance.rankings.where().findFirst();
|
||||||
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
});*/
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -129,7 +129,7 @@ class _MessagesPageState extends State<MessagesPage> {
|
|||||||
author: message.from == _sid ? _user : _central,
|
author: message.from == _sid ? _user : _central,
|
||||||
createdAt: DateTime.parse(message.time).toLocal().millisecondsSinceEpoch,
|
createdAt: DateTime.parse(message.time).toLocal().millisecondsSinceEpoch,
|
||||||
id: message.id.toString(),
|
id: message.id.toString(),
|
||||||
text: message.text,
|
text: message.subj + "\n" + message.text,
|
||||||
));
|
));
|
||||||
|
|
||||||
_messages.sort((a, b) => b.createdAt! > a.createdAt! ? 1 : 0);
|
_messages.sort((a, b) => b.createdAt! > a.createdAt! ? 1 : 0);
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ Future<void> main() async {
|
|||||||
MessageSchema,
|
MessageSchema,
|
||||||
EnqueuedMessageSchema,
|
EnqueuedMessageSchema,
|
||||||
LogEntrySchema,
|
LogEntrySchema,
|
||||||
RankSchema
|
RankingSchema
|
||||||
], directory: dir.path);
|
], directory: dir.path);
|
||||||
|
|
||||||
runZonedGuarded(() {}, (error, stackTrace) {
|
runZonedGuarded(() {}, (error, stackTrace) {
|
||||||
|
|||||||
+17
-3
@@ -5,15 +5,29 @@ part 'rank.g.dart';
|
|||||||
|
|
||||||
@collection
|
@collection
|
||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
|
class Ranking {
|
||||||
|
@JsonValue(0)
|
||||||
|
late Id? id = Isar.autoIncrement;
|
||||||
|
|
||||||
|
@JsonKey(name: "ranking")
|
||||||
|
late List<Rank> ranks;
|
||||||
|
|
||||||
|
Ranking();
|
||||||
|
|
||||||
|
factory Ranking.fromJson(Map<String, dynamic> json) => _$RankingFromJson(json);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$RankingToJson(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@embedded
|
||||||
|
@JsonSerializable()
|
||||||
class Rank {
|
class Rank {
|
||||||
late Id id;
|
late int id;
|
||||||
|
|
||||||
late String zip;
|
late String zip;
|
||||||
|
|
||||||
late String area;
|
late String area;
|
||||||
|
|
||||||
late int time;
|
|
||||||
|
|
||||||
late List<Vehicle> vehicles;
|
late List<Vehicle> vehicles;
|
||||||
|
|
||||||
Rank();
|
Rank();
|
||||||
|
|||||||
+413
-309
@@ -9,11 +9,402 @@ part of 'rank.dart';
|
|||||||
// coverage:ignore-file
|
// coverage:ignore-file
|
||||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||||
|
|
||||||
extension GetRankCollection on Isar {
|
extension GetRankingCollection on Isar {
|
||||||
IsarCollection<Rank> get ranks => this.collection();
|
IsarCollection<Ranking> get rankings => this.collection();
|
||||||
}
|
}
|
||||||
|
|
||||||
const RankSchema = CollectionSchema(
|
const RankingSchema = CollectionSchema(
|
||||||
|
name: r'Ranking',
|
||||||
|
id: 923686411839286896,
|
||||||
|
properties: {
|
||||||
|
r'ranks': PropertySchema(
|
||||||
|
id: 0,
|
||||||
|
name: r'ranks',
|
||||||
|
type: IsarType.objectList,
|
||||||
|
target: r'Rank',
|
||||||
|
)
|
||||||
|
},
|
||||||
|
estimateSize: _rankingEstimateSize,
|
||||||
|
serialize: _rankingSerialize,
|
||||||
|
deserialize: _rankingDeserialize,
|
||||||
|
deserializeProp: _rankingDeserializeProp,
|
||||||
|
idName: r'id',
|
||||||
|
indexes: {},
|
||||||
|
links: {},
|
||||||
|
embeddedSchemas: {r'Rank': RankSchema, r'Vehicle': VehicleSchema},
|
||||||
|
getId: _rankingGetId,
|
||||||
|
getLinks: _rankingGetLinks,
|
||||||
|
attach: _rankingAttach,
|
||||||
|
version: '3.1.0+1',
|
||||||
|
);
|
||||||
|
|
||||||
|
int _rankingEstimateSize(
|
||||||
|
Ranking object,
|
||||||
|
List<int> offsets,
|
||||||
|
Map<Type, List<int>> allOffsets,
|
||||||
|
) {
|
||||||
|
var bytesCount = offsets.last;
|
||||||
|
bytesCount += 3 + object.ranks.length * 3;
|
||||||
|
{
|
||||||
|
final offsets = allOffsets[Rank]!;
|
||||||
|
for (var i = 0; i < object.ranks.length; i++) {
|
||||||
|
final value = object.ranks[i];
|
||||||
|
bytesCount += RankSchema.estimateSize(value, offsets, allOffsets);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bytesCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
void _rankingSerialize(
|
||||||
|
Ranking object,
|
||||||
|
IsarWriter writer,
|
||||||
|
List<int> offsets,
|
||||||
|
Map<Type, List<int>> allOffsets,
|
||||||
|
) {
|
||||||
|
writer.writeObjectList<Rank>(
|
||||||
|
offsets[0],
|
||||||
|
allOffsets,
|
||||||
|
RankSchema.serialize,
|
||||||
|
object.ranks,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Ranking _rankingDeserialize(
|
||||||
|
Id id,
|
||||||
|
IsarReader reader,
|
||||||
|
List<int> offsets,
|
||||||
|
Map<Type, List<int>> allOffsets,
|
||||||
|
) {
|
||||||
|
final object = Ranking();
|
||||||
|
object.id = id;
|
||||||
|
object.ranks = reader.readObjectList<Rank>(
|
||||||
|
offsets[0],
|
||||||
|
RankSchema.deserialize,
|
||||||
|
allOffsets,
|
||||||
|
Rank(),
|
||||||
|
) ??
|
||||||
|
[];
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
|
||||||
|
P _rankingDeserializeProp<P>(
|
||||||
|
IsarReader reader,
|
||||||
|
int propertyId,
|
||||||
|
int offset,
|
||||||
|
Map<Type, List<int>> allOffsets,
|
||||||
|
) {
|
||||||
|
switch (propertyId) {
|
||||||
|
case 0:
|
||||||
|
return (reader.readObjectList<Rank>(
|
||||||
|
offset,
|
||||||
|
RankSchema.deserialize,
|
||||||
|
allOffsets,
|
||||||
|
Rank(),
|
||||||
|
) ??
|
||||||
|
[]) as P;
|
||||||
|
default:
|
||||||
|
throw IsarError('Unknown property with id $propertyId');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Id _rankingGetId(Ranking object) {
|
||||||
|
return object.id ?? Isar.autoIncrement;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<IsarLinkBase<dynamic>> _rankingGetLinks(Ranking object) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
void _rankingAttach(IsarCollection<dynamic> col, Id id, Ranking object) {
|
||||||
|
object.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
extension RankingQueryWhereSort on QueryBuilder<Ranking, Ranking, QWhere> {
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterWhere> anyId() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addWhereClause(const IdWhereClause.any());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension RankingQueryWhere on QueryBuilder<Ranking, Ranking, QWhereClause> {
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterWhereClause> idEqualTo(Id id) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addWhereClause(IdWhereClause.between(
|
||||||
|
lower: id,
|
||||||
|
upper: id,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterWhereClause> idNotEqualTo(Id id) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
if (query.whereSort == Sort.asc) {
|
||||||
|
return query
|
||||||
|
.addWhereClause(
|
||||||
|
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||||
|
)
|
||||||
|
.addWhereClause(
|
||||||
|
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return query
|
||||||
|
.addWhereClause(
|
||||||
|
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||||
|
)
|
||||||
|
.addWhereClause(
|
||||||
|
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterWhereClause> idGreaterThan(Id id,
|
||||||
|
{bool include = false}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addWhereClause(
|
||||||
|
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterWhereClause> idLessThan(Id id,
|
||||||
|
{bool include = false}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addWhereClause(
|
||||||
|
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterWhereClause> idBetween(
|
||||||
|
Id lowerId,
|
||||||
|
Id upperId, {
|
||||||
|
bool includeLower = true,
|
||||||
|
bool includeUpper = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addWhereClause(IdWhereClause.between(
|
||||||
|
lower: lowerId,
|
||||||
|
includeLower: includeLower,
|
||||||
|
upper: upperId,
|
||||||
|
includeUpper: includeUpper,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension RankingQueryFilter
|
||||||
|
on QueryBuilder<Ranking, Ranking, QFilterCondition> {
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> idIsNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNull(
|
||||||
|
property: r'id',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> idIsNotNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||||
|
property: r'id',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> idEqualTo(Id? value) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'id',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> idGreaterThan(
|
||||||
|
Id? value, {
|
||||||
|
bool include = false,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
|
include: include,
|
||||||
|
property: r'id',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> idLessThan(
|
||||||
|
Id? value, {
|
||||||
|
bool include = false,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.lessThan(
|
||||||
|
include: include,
|
||||||
|
property: r'id',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> idBetween(
|
||||||
|
Id? lower,
|
||||||
|
Id? upper, {
|
||||||
|
bool includeLower = true,
|
||||||
|
bool includeUpper = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.between(
|
||||||
|
property: r'id',
|
||||||
|
lower: lower,
|
||||||
|
includeLower: includeLower,
|
||||||
|
upper: upper,
|
||||||
|
includeUpper: includeUpper,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksLengthEqualTo(
|
||||||
|
int length) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.listLength(
|
||||||
|
r'ranks',
|
||||||
|
length,
|
||||||
|
true,
|
||||||
|
length,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksIsEmpty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.listLength(
|
||||||
|
r'ranks',
|
||||||
|
0,
|
||||||
|
true,
|
||||||
|
0,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksIsNotEmpty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.listLength(
|
||||||
|
r'ranks',
|
||||||
|
0,
|
||||||
|
false,
|
||||||
|
999999,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksLengthLessThan(
|
||||||
|
int length, {
|
||||||
|
bool include = false,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.listLength(
|
||||||
|
r'ranks',
|
||||||
|
0,
|
||||||
|
true,
|
||||||
|
length,
|
||||||
|
include,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksLengthGreaterThan(
|
||||||
|
int length, {
|
||||||
|
bool include = false,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.listLength(
|
||||||
|
r'ranks',
|
||||||
|
length,
|
||||||
|
include,
|
||||||
|
999999,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksLengthBetween(
|
||||||
|
int lower,
|
||||||
|
int upper, {
|
||||||
|
bool includeLower = true,
|
||||||
|
bool includeUpper = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.listLength(
|
||||||
|
r'ranks',
|
||||||
|
lower,
|
||||||
|
includeLower,
|
||||||
|
upper,
|
||||||
|
includeUpper,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension RankingQueryObject
|
||||||
|
on QueryBuilder<Ranking, Ranking, QFilterCondition> {
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterFilterCondition> ranksElement(
|
||||||
|
FilterQuery<Rank> q) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.object(q, r'ranks');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension RankingQueryLinks
|
||||||
|
on QueryBuilder<Ranking, Ranking, QFilterCondition> {}
|
||||||
|
|
||||||
|
extension RankingQuerySortBy on QueryBuilder<Ranking, Ranking, QSortBy> {}
|
||||||
|
|
||||||
|
extension RankingQuerySortThenBy
|
||||||
|
on QueryBuilder<Ranking, Ranking, QSortThenBy> {
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterSortBy> thenById() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'id', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, Ranking, QAfterSortBy> thenByIdDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'id', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension RankingQueryWhereDistinct
|
||||||
|
on QueryBuilder<Ranking, Ranking, QDistinct> {}
|
||||||
|
|
||||||
|
extension RankingQueryProperty
|
||||||
|
on QueryBuilder<Ranking, Ranking, QQueryProperty> {
|
||||||
|
QueryBuilder<Ranking, int, QQueryOperations> idProperty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addPropertyName(r'id');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Ranking, List<Rank>, QQueryOperations> ranksProperty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addPropertyName(r'ranks');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// IsarEmbeddedGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
// coverage:ignore-file
|
||||||
|
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||||
|
|
||||||
|
const RankSchema = Schema(
|
||||||
name: r'Rank',
|
name: r'Rank',
|
||||||
id: 4990427334210593033,
|
id: 4990427334210593033,
|
||||||
properties: {
|
properties: {
|
||||||
@@ -22,9 +413,9 @@ const RankSchema = CollectionSchema(
|
|||||||
name: r'area',
|
name: r'area',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
),
|
),
|
||||||
r'time': PropertySchema(
|
r'id': PropertySchema(
|
||||||
id: 1,
|
id: 1,
|
||||||
name: r'time',
|
name: r'id',
|
||||||
type: IsarType.long,
|
type: IsarType.long,
|
||||||
),
|
),
|
||||||
r'vehicles': PropertySchema(
|
r'vehicles': PropertySchema(
|
||||||
@@ -43,14 +434,6 @@ const RankSchema = CollectionSchema(
|
|||||||
serialize: _rankSerialize,
|
serialize: _rankSerialize,
|
||||||
deserialize: _rankDeserialize,
|
deserialize: _rankDeserialize,
|
||||||
deserializeProp: _rankDeserializeProp,
|
deserializeProp: _rankDeserializeProp,
|
||||||
idName: r'id',
|
|
||||||
indexes: {},
|
|
||||||
links: {},
|
|
||||||
embeddedSchemas: {r'Vehicle': VehicleSchema},
|
|
||||||
getId: _rankGetId,
|
|
||||||
getLinks: _rankGetLinks,
|
|
||||||
attach: _rankAttach,
|
|
||||||
version: '3.1.0+1',
|
|
||||||
);
|
);
|
||||||
|
|
||||||
int _rankEstimateSize(
|
int _rankEstimateSize(
|
||||||
@@ -79,7 +462,7 @@ void _rankSerialize(
|
|||||||
Map<Type, List<int>> allOffsets,
|
Map<Type, List<int>> allOffsets,
|
||||||
) {
|
) {
|
||||||
writer.writeString(offsets[0], object.area);
|
writer.writeString(offsets[0], object.area);
|
||||||
writer.writeLong(offsets[1], object.time);
|
writer.writeLong(offsets[1], object.id);
|
||||||
writer.writeObjectList<Vehicle>(
|
writer.writeObjectList<Vehicle>(
|
||||||
offsets[2],
|
offsets[2],
|
||||||
allOffsets,
|
allOffsets,
|
||||||
@@ -97,8 +480,7 @@ Rank _rankDeserialize(
|
|||||||
) {
|
) {
|
||||||
final object = Rank();
|
final object = Rank();
|
||||||
object.area = reader.readString(offsets[0]);
|
object.area = reader.readString(offsets[0]);
|
||||||
object.id = id;
|
object.id = reader.readLong(offsets[1]);
|
||||||
object.time = reader.readLong(offsets[1]);
|
|
||||||
object.vehicles = reader.readObjectList<Vehicle>(
|
object.vehicles = reader.readObjectList<Vehicle>(
|
||||||
offsets[2],
|
offsets[2],
|
||||||
VehicleSchema.deserialize,
|
VehicleSchema.deserialize,
|
||||||
@@ -136,93 +518,6 @@ P _rankDeserializeProp<P>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Id _rankGetId(Rank object) {
|
|
||||||
return object.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<IsarLinkBase<dynamic>> _rankGetLinks(Rank object) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
void _rankAttach(IsarCollection<dynamic> col, Id id, Rank object) {
|
|
||||||
object.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
extension RankQueryWhereSort on QueryBuilder<Rank, Rank, QWhere> {
|
|
||||||
QueryBuilder<Rank, Rank, QAfterWhere> anyId() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addWhereClause(const IdWhereClause.any());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension RankQueryWhere on QueryBuilder<Rank, Rank, QWhereClause> {
|
|
||||||
QueryBuilder<Rank, Rank, QAfterWhereClause> idEqualTo(Id id) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addWhereClause(IdWhereClause.between(
|
|
||||||
lower: id,
|
|
||||||
upper: id,
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterWhereClause> idNotEqualTo(Id id) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
if (query.whereSort == Sort.asc) {
|
|
||||||
return query
|
|
||||||
.addWhereClause(
|
|
||||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
|
||||||
)
|
|
||||||
.addWhereClause(
|
|
||||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return query
|
|
||||||
.addWhereClause(
|
|
||||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
|
||||||
)
|
|
||||||
.addWhereClause(
|
|
||||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterWhereClause> idGreaterThan(Id id,
|
|
||||||
{bool include = false}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addWhereClause(
|
|
||||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterWhereClause> idLessThan(Id id,
|
|
||||||
{bool include = false}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addWhereClause(
|
|
||||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterWhereClause> idBetween(
|
|
||||||
Id lowerId,
|
|
||||||
Id upperId, {
|
|
||||||
bool includeLower = true,
|
|
||||||
bool includeUpper = true,
|
|
||||||
}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addWhereClause(IdWhereClause.between(
|
|
||||||
lower: lowerId,
|
|
||||||
includeLower: includeLower,
|
|
||||||
upper: upperId,
|
|
||||||
includeUpper: includeUpper,
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaEqualTo(
|
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaEqualTo(
|
||||||
String value, {
|
String value, {
|
||||||
@@ -352,7 +647,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> idEqualTo(Id value) {
|
QueryBuilder<Rank, Rank, QAfterFilterCondition> idEqualTo(int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
property: r'id',
|
property: r'id',
|
||||||
@@ -362,7 +657,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> idGreaterThan(
|
QueryBuilder<Rank, Rank, QAfterFilterCondition> idGreaterThan(
|
||||||
Id value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -375,7 +670,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> idLessThan(
|
QueryBuilder<Rank, Rank, QAfterFilterCondition> idLessThan(
|
||||||
Id value, {
|
int value, {
|
||||||
bool include = false,
|
bool include = false,
|
||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
@@ -388,58 +683,6 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> idBetween(
|
QueryBuilder<Rank, Rank, QAfterFilterCondition> idBetween(
|
||||||
Id lower,
|
|
||||||
Id upper, {
|
|
||||||
bool includeLower = true,
|
|
||||||
bool includeUpper = true,
|
|
||||||
}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(FilterCondition.between(
|
|
||||||
property: r'id',
|
|
||||||
lower: lower,
|
|
||||||
includeLower: includeLower,
|
|
||||||
upper: upper,
|
|
||||||
includeUpper: includeUpper,
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> timeEqualTo(int value) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(FilterCondition.equalTo(
|
|
||||||
property: r'time',
|
|
||||||
value: value,
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> timeGreaterThan(
|
|
||||||
int value, {
|
|
||||||
bool include = false,
|
|
||||||
}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
|
||||||
include: include,
|
|
||||||
property: r'time',
|
|
||||||
value: value,
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> timeLessThan(
|
|
||||||
int value, {
|
|
||||||
bool include = false,
|
|
||||||
}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addFilterCondition(FilterCondition.lessThan(
|
|
||||||
include: include,
|
|
||||||
property: r'time',
|
|
||||||
value: value,
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> timeBetween(
|
|
||||||
int lower,
|
int lower,
|
||||||
int upper, {
|
int upper, {
|
||||||
bool includeLower = true,
|
bool includeLower = true,
|
||||||
@@ -447,7 +690,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
|||||||
}) {
|
}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addFilterCondition(FilterCondition.between(
|
return query.addFilterCondition(FilterCondition.between(
|
||||||
property: r'time',
|
property: r'id',
|
||||||
lower: lower,
|
lower: lower,
|
||||||
includeLower: includeLower,
|
includeLower: includeLower,
|
||||||
upper: upper,
|
upper: upper,
|
||||||
@@ -678,154 +921,6 @@ extension RankQueryObject on QueryBuilder<Rank, Rank, QFilterCondition> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension RankQueryLinks on QueryBuilder<Rank, Rank, QFilterCondition> {}
|
|
||||||
|
|
||||||
extension RankQuerySortBy on QueryBuilder<Rank, Rank, QSortBy> {
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> sortByArea() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'area', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> sortByAreaDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'area', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> sortByTime() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'time', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> sortByTimeDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'time', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> sortByZip() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'zip', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> sortByZipDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'zip', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension RankQuerySortThenBy on QueryBuilder<Rank, Rank, QSortThenBy> {
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByArea() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'area', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByAreaDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'area', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenById() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'id', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByIdDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'id', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByTime() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'time', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByTimeDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'time', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByZip() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'zip', Sort.asc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QAfterSortBy> thenByZipDesc() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addSortBy(r'zip', Sort.desc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension RankQueryWhereDistinct on QueryBuilder<Rank, Rank, QDistinct> {
|
|
||||||
QueryBuilder<Rank, Rank, QDistinct> distinctByArea(
|
|
||||||
{bool caseSensitive = true}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addDistinctBy(r'area', caseSensitive: caseSensitive);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QDistinct> distinctByTime() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addDistinctBy(r'time');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, Rank, QDistinct> distinctByZip(
|
|
||||||
{bool caseSensitive = true}) {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addDistinctBy(r'zip', caseSensitive: caseSensitive);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension RankQueryProperty on QueryBuilder<Rank, Rank, QQueryProperty> {
|
|
||||||
QueryBuilder<Rank, int, QQueryOperations> idProperty() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addPropertyName(r'id');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, String, QQueryOperations> areaProperty() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addPropertyName(r'area');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, int, QQueryOperations> timeProperty() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addPropertyName(r'time');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, List<Vehicle>, QQueryOperations> vehiclesProperty() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addPropertyName(r'vehicles');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryBuilder<Rank, String, QQueryOperations> zipProperty() {
|
|
||||||
return QueryBuilder.apply(this, (query) {
|
|
||||||
return query.addPropertyName(r'zip');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// **************************************************************************
|
|
||||||
// IsarEmbeddedGenerator
|
|
||||||
// **************************************************************************
|
|
||||||
|
|
||||||
// coverage:ignore-file
|
// coverage:ignore-file
|
||||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||||
|
|
||||||
@@ -1046,11 +1141,21 @@ extension VehicleQueryObject
|
|||||||
// JsonSerializableGenerator
|
// JsonSerializableGenerator
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
|
Ranking _$RankingFromJson(Map<String, dynamic> json) => Ranking()
|
||||||
|
..id = json['id'] as int?
|
||||||
|
..ranks = (json['ranking'] as List<dynamic>)
|
||||||
|
.map((e) => Rank.fromJson(e as Map<String, dynamic>))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
Map<String, dynamic> _$RankingToJson(Ranking instance) => <String, dynamic>{
|
||||||
|
'id': instance.id,
|
||||||
|
'ranking': instance.ranks,
|
||||||
|
};
|
||||||
|
|
||||||
Rank _$RankFromJson(Map<String, dynamic> json) => Rank()
|
Rank _$RankFromJson(Map<String, dynamic> json) => Rank()
|
||||||
..id = json['id'] as int
|
..id = json['id'] as int
|
||||||
..zip = json['zip'] as String
|
..zip = json['zip'] as String
|
||||||
..area = json['area'] as String
|
..area = json['area'] as String
|
||||||
..time = json['time'] as int
|
|
||||||
..vehicles = (json['vehicles'] as List<dynamic>)
|
..vehicles = (json['vehicles'] as List<dynamic>)
|
||||||
.map((e) => Vehicle.fromJson(e as Map<String, dynamic>))
|
.map((e) => Vehicle.fromJson(e as Map<String, dynamic>))
|
||||||
.toList();
|
.toList();
|
||||||
@@ -1059,7 +1164,6 @@ Map<String, dynamic> _$RankToJson(Rank instance) => <String, dynamic>{
|
|||||||
'id': instance.id,
|
'id': instance.id,
|
||||||
'zip': instance.zip,
|
'zip': instance.zip,
|
||||||
'area': instance.area,
|
'area': instance.area,
|
||||||
'time': instance.time,
|
|
||||||
'vehicles': instance.vehicles,
|
'vehicles': instance.vehicles,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import 'package:stadtbote/model/job.dart';
|
|||||||
import 'package:stadtbote/model/log_entry.dart';
|
import 'package:stadtbote/model/log_entry.dart';
|
||||||
import 'package:stadtbote/model/message.dart';
|
import 'package:stadtbote/model/message.dart';
|
||||||
import 'package:stadtbote/model/location_status.dart';
|
import 'package:stadtbote/model/location_status.dart';
|
||||||
|
import 'package:stadtbote/model/rank.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/acknowledge_job.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';
|
||||||
@@ -27,6 +28,7 @@ import 'package:stadtbote/tools/message_service.dart';
|
|||||||
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
|
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
|
||||||
import 'package:stadtbote/tools/messages/job_received_message.dart';
|
import 'package:stadtbote/tools/messages/job_received_message.dart';
|
||||||
import 'package:stadtbote/tools/messages/message_message.dart';
|
import 'package:stadtbote/tools/messages/message_message.dart';
|
||||||
|
import 'package:stadtbote/tools/messages/ranking_updated.dart';
|
||||||
import 'package:stadtbote/tools/messages/session_info_update.dart';
|
import 'package:stadtbote/tools/messages/session_info_update.dart';
|
||||||
import 'package:stadtbote/tools/messages/status_info_update.dart';
|
import 'package:stadtbote/tools/messages/status_info_update.dart';
|
||||||
// ignore: depend_on_referenced_packages
|
// ignore: depend_on_referenced_packages
|
||||||
@@ -246,16 +248,15 @@ class MqttCore {
|
|||||||
MessageService().publish<LocationStatusUpdate>(Constants.messageTopicLocationStatusUpdated, arguments: LocationStatusUpdate(status: locationStatus));
|
MessageService().publish<LocationStatusUpdate>(Constants.messageTopicLocationStatusUpdated, arguments: LocationStatusUpdate(status: locationStatus));
|
||||||
}
|
}
|
||||||
|
|
||||||
void _rankingMessageReceived(List<dynamic> payloadData) async {
|
void _rankingMessageReceived(payloadData) async {
|
||||||
/*Map<String, dynamic> rankingMap = {};
|
var ranking = Ranking.fromJson(payloadData);
|
||||||
rankingMap["ranks"] = payloadData;
|
|
||||||
var ranking = Ranking.fromJson(rankingMap);
|
|
||||||
|
|
||||||
await MyApp.isarInstance.writeTxn(() async {
|
await MyApp.isarInstance.writeTxn(() async {
|
||||||
|
await MyApp.isarInstance.rankings.clear();
|
||||||
await MyApp.isarInstance.rankings.put(ranking);
|
await MyApp.isarInstance.rankings.put(ranking);
|
||||||
});
|
});
|
||||||
|
|
||||||
MessageService().publish<RankingUpdated>(Constants.messageTopicRankingUpdated, arguments: RankingUpdated());*/
|
MessageService().publish<RankingUpdated>(Constants.messageTopicRankingUpdated, arguments: RankingUpdated());
|
||||||
}
|
}
|
||||||
|
|
||||||
void _jobMessageReceived(payloadData) async {
|
void _jobMessageReceived(payloadData) async {
|
||||||
@@ -405,6 +406,8 @@ class MqttCore {
|
|||||||
|
|
||||||
_connectToBroker();
|
_connectToBroker();
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
|
Util.logException("bootstrap failed");
|
||||||
|
|
||||||
_startBootstrapReconnectTimer();
|
_startBootstrapReconnectTimer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user