Adds requests for total flight time and flight in between timestamps

This commit is contained in:
2025-07-05 10:24:55 +02:00
parent b35656d4ce
commit 5d461d5b0f
2 changed files with 53 additions and 2 deletions

View File

@ -160,6 +160,34 @@ class DbHelper {
return maps.map((e) => Flight.fromMap(e)).toList();
}
Future<List<Flight>> getFlightsBetween(
int startTimestamp,
int endTimestamp,
) async {
final db = await database;
final maps = await db.rawQuery('''
SELECT * FROM flights AS F
WHERE F.start_timestamp >= $startTimestamp AND F.end_timestamp <= $endTimestamp
''');
return maps.map((e) => Flight.fromMap(e)).toList();
}
Future<int?> getTotalFlightTime() async {
final db = await database;
final ft = await db.rawQuery('''
SELECT SUM(F.end_timestamp - F.startTimestamp) FROM flights AS F
''');
final mapping = ft.firstOrNull;
if (mapping == null) {
return null;
}
final val = mapping["SUM(F.end_timestamp - F.startTimestamp)"];
if (val is! int) {
return null;
}
return val;
}
Future closeDb() async {
final db = await database;
log.info("Closing database.");