feat(database): implement function to delete rows from db tables

This commit is contained in:
fbachus
2026-07-03 00:24:04 +02:00
parent 9bf98f4fb8
commit 0897a45eb9
+67
View File
@@ -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 {