From d1d5761b0a92282b02418a047819318be85c4dc2 Mon Sep 17 00:00:00 2001 From: Nico Date: Wed, 18 Jun 2025 15:28:05 +0200 Subject: [PATCH] now sends username in Sent field. hopefully --- lib/methods/excursion_db_helper.dart | 2 +- lib/methods/place_db_helper.dart | 2 +- lib/screens/sharedMethods/http_request.dart | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/methods/excursion_db_helper.dart b/lib/methods/excursion_db_helper.dart index 4bdbc69..5e99647 100644 --- a/lib/methods/excursion_db_helper.dart +++ b/lib/methods/excursion_db_helper.dart @@ -47,7 +47,7 @@ class ExcursionDBHelper implements IDb { onCreateDatabases(Database excursionDB, int version) async { // Create main excursions table with tracking data fields await excursionDB.execute( - 'CREATE TABLE excursion (ID INTEGER PRIMARY KEY AUTOINCREMENT, Rudel TEXT, Teilnehmer TEXT, Datum TEXT, Dauer TEXT, MHund INTEGER, MLeine TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, BimaName TEXT, Wetter TEXT, Temperat TEXT, RegenVor TEXT, KmRad TEXT, KmAuto TEXT, KmFuss TEXT, KmTotal TEXT, KmAuProz TEXT, KmFuProz TEXT, KmRaProz TEXT, SpGut TEXT, SpMittel, SpSchlecht TEXT, SpurFund TEXT, SpurLang TEXT, SpurTiere Text, SpSicher TEXT, WelpenSp TEXT, WelpenAnz TEXT, WpSicher TEXT, LosungGes TEXT, LosungAnz TEXT, LosungGen TEXT, UrinAnz TEXT, UrinGen TEXT, OestrAnz TEXT, OestrGen TEXT, HaarAnz TEXT, HaarGen TEXT, LosungKm TEXT, GenetiKm TEXT, Hinweise TEXT, Bemerk TEXT, IntKomm TEXT, BimaNr TEXT, BimaNutzer TEXT, BimaAGV TEXT, FallNum INTEGER, Weg TEXT, Sent INTEGER DEFAULT 0)', + 'CREATE TABLE excursion (ID INTEGER PRIMARY KEY AUTOINCREMENT, Rudel TEXT, Teilnehmer TEXT, Datum TEXT, Dauer TEXT, MHund INTEGER, MLeine TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, BimaName TEXT, Wetter TEXT, Temperat TEXT, RegenVor TEXT, KmRad TEXT, KmAuto TEXT, KmFuss TEXT, KmTotal TEXT, KmAuProz TEXT, KmFuProz TEXT, KmRaProz TEXT, SpGut TEXT, SpMittel, SpSchlecht TEXT, SpurFund TEXT, SpurLang TEXT, SpurTiere Text, SpSicher TEXT, WelpenSp TEXT, WelpenAnz TEXT, WpSicher TEXT, LosungGes TEXT, LosungAnz TEXT, LosungGen TEXT, UrinAnz TEXT, UrinGen TEXT, OestrAnz TEXT, OestrGen TEXT, HaarAnz TEXT, HaarGen TEXT, LosungKm TEXT, GenetiKm TEXT, Hinweise TEXT, Bemerk TEXT, IntKomm TEXT, BimaNr TEXT, BimaNutzer TEXT, BimaAGV TEXT, FallNum INTEGER, Weg TEXT, Sent TEXT DEFAULT 0)', ); // Create templates table (similar structure but without Sent flag) diff --git a/lib/methods/place_db_helper.dart b/lib/methods/place_db_helper.dart index 733ae48..8bdd6fc 100644 --- a/lib/methods/place_db_helper.dart +++ b/lib/methods/place_db_helper.dart @@ -44,7 +44,7 @@ class PlaceDBHelper implements IDb { onCreateDatabases(Database placeDB, int version) async { // Create main places table await placeDB.execute( - 'CREATE TABLE place (ID INTEGER PRIMARY KEY AUTOINCREMENT, CID TEXT, Standort TEXT, Rudel TEXT, Datum TEXT, Adresse1 TEXT, Adresse2 TEXT, Adresse3 TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, OrtInfo TEXT, Status TEXT, FFTyp TEXT, FotoFilm TEXT, MEZ TEXT, Platzung TEXT, KSchloNr TEXT, KontDat DATE, Betreuung TEXT, AbbauDat DATE, Auftrag TEXT, KontAbsp TEXT, SonstBem TEXT, FKontakt1 TEXT, FKontakt2 TEXT, FKontakt3 TEXT, KTage1 INTEGER, KTage2 INTEGER, ProtoAm DATE, IntKomm TEXT, DECLNG DECIMALS(4,8), DECLAT DECIMALS(4,8), Sent INTEGER DEFAULT 0)'); + 'CREATE TABLE place (ID INTEGER PRIMARY KEY AUTOINCREMENT, CID TEXT, Standort TEXT, Rudel TEXT, Datum TEXT, Adresse1 TEXT, Adresse2 TEXT, Adresse3 TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, OrtInfo TEXT, Status TEXT, FFTyp TEXT, FotoFilm TEXT, MEZ TEXT, Platzung TEXT, KSchloNr TEXT, KontDat DATE, Betreuung TEXT, AbbauDat DATE, Auftrag TEXT, KontAbsp TEXT, SonstBem TEXT, FKontakt1 TEXT, FKontakt2 TEXT, FKontakt3 TEXT, KTage1 INTEGER, KTage2 INTEGER, ProtoAm DATE, IntKomm TEXT, DECLNG DECIMALS(4,8), DECLAT DECIMALS(4,8), Sent TEXT)'); // Create templates table (similar structure but without Sent flag) await placeDB.execute( diff --git a/lib/screens/sharedMethods/http_request.dart b/lib/screens/sharedMethods/http_request.dart index 575785b..b613245 100644 --- a/lib/screens/sharedMethods/http_request.dart +++ b/lib/screens/sharedMethods/http_request.dart @@ -16,7 +16,7 @@ class HttpRequestService { /// Send data to the appropriate backend endpoint /// @param saveDataMap Optional map of data to send /// @param saveDataString Optional string of data to send - /// @return Future HTTP status code of the response + /// @return Future[int] HTTP status code of the response static Future httpRequest({Map? saveDataMap, String? saveDataString}) async { // print(jsonEncode(place)); @@ -30,12 +30,22 @@ class HttpRequestService { Response response = Response(requestOptions: RequestOptions(path: ''), statusCode: 400); + try { // Choose endpoint based on data type (camera trap vs excursion) if (saveDataMap != null && saveDataMap.containsKey("CID") || saveDataString != null && saveDataString.contains("CID")) { + // write username in Sent field + if (saveDataMap != null) { + saveDataMap["Sent"] = prefs.getString("addresse1") ?? ""; + } else if (saveDataString != null){ + saveDataString.replaceAll("\"Sent\": \"\"", "\"Sent\": \"${prefs.getString("addresse1")}\""); + } + response = await dio.post(prefs.getString('fotofallenApiAddress') ?? "", data: saveDataMap == null ? saveDataString : jsonEncode(saveDataMap)); } else { + // write username in Sent field + response = await dio.post(prefs.getString('exkursionenApiAddress') ?? "", data: saveDataMap == null ? saveDataString : jsonEncode(saveDataMap)); }