From 0897a45eb9e9cadaa6ede37b816b3fccbac4eefb Mon Sep 17 00:00:00 2001 From: fbachus Date: Fri, 3 Jul 2026 00:24:04 +0200 Subject: [PATCH] feat(database): implement function to delete rows from db tables --- lib/transport_helper.dart | 67 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/lib/transport_helper.dart b/lib/transport_helper.dart index 75796ef..d690edb 100644 --- a/lib/transport_helper.dart +++ b/lib/transport_helper.dart @@ -130,6 +130,38 @@ class Route { ); } } + + void dbDelete() async { + Database database = DbHelper.db; + int result = await database.delete( + "route", + where: "id = ?", + whereArgs: [id], + ); + assert(result == 0); + } + + void dbDeleteLastRouteSegment() { + Database database = DbHelper.db; + database.delete( + "routesegments", + where: "route = ? AND segmentorder = ?", + whereArgs: [id, segments.length - 1], // TODO: test the index + ); + } + + void dbDeleteTrailingRouteSegment(int position) { + Database database = DbHelper.db; + if (position <= segments.length) { + database.delete( + "routesegments", + where: "route = ? AND segmentorder >= ?", + whereArgs: [id, position], + ); + } + } + + // TODO: delete leading segments and decrement following segments } class Segment { @@ -196,6 +228,15 @@ class Segment { Database database = DbHelper.db; id = await database.insert(tableName, toMap()); } + + void dbDelete() { + Database database = DbHelper.db; + database.delete( + tableName, + where: "rowid = ?", + whereArgs: [id], + ); + } } class Station { @@ -266,6 +307,17 @@ class Station { database.insert("stationlines", stationLines[i]); } } + + void dbDelete() async { + Database database = DbHelper.db; + database.delete(tableName, where: "stationid = ?", whereArgs: [id]); + } + + /// remove all Lines connected to a Station - should be used together with some kind of reparsing. + void dbDeleteStationLines() async { + Database database = DbHelper.db; + database.delete("stationlines", where: "stationid = ?", whereArgs: [id]); + } } class Vehicle { @@ -308,6 +360,11 @@ class Vehicle { Database database = DbHelper.db; database.insert(tableName, toMap()); } + + void dbDelete() async { + Database database = DbHelper.db; + database.delete(tableName, where: "id = ?", whereArgs: [id]); + } } class Line { @@ -378,6 +435,11 @@ class Line { Database database = DbHelper.db; database.insert(tableName, toMap()); } + + void dbDelete() async { + Database database = DbHelper.db; + database.delete(tableName, where: "lineid = ?", whereArgs: [lineId]); + } } // TODO: add fromJson @@ -424,6 +486,11 @@ class Departure { Database database = DbHelper.db; id = await database.insert(tableName, toMap()); } + + void dbDelete() async { + Database database = DbHelper.db; + database.delete(tableName, where: "id = ?", whereArgs: [id]); + } } class Color {