From ad09bce68c7b2beebd2e13d8b528e95849da0c2c Mon Sep 17 00:00:00 2001 From: oxidiert Date: Fri, 10 Oct 2025 15:33:44 +0200 Subject: [PATCH] switch from http zu https --- .../java/com/dano/test1/DatabaseDownloader.kt | 2 +- .../java/com/dano/test1/DatabaseUploader.kt | 29 ++++++++++++------- .../main/java/com/dano/test1/LoginManager.kt | 2 +- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/dano/test1/DatabaseDownloader.kt b/app/src/main/java/com/dano/test1/DatabaseDownloader.kt index 28b3263..39aa418 100644 --- a/app/src/main/java/com/dano/test1/DatabaseDownloader.kt +++ b/app/src/main/java/com/dano/test1/DatabaseDownloader.kt @@ -14,7 +14,7 @@ import java.io.FileOutputStream object DatabaseDownloader { private const val DB_NAME = "questionnaire_database" - private const val SERVER_DOWNLOAD_URL = "http://49.13.157.44/downloadFull.php" + private const val SERVER_DOWNLOAD_URL = "https://daniel-ocks.de/qdb/downloadFull.php" private val client = OkHttpClient() diff --git a/app/src/main/java/com/dano/test1/DatabaseUploader.kt b/app/src/main/java/com/dano/test1/DatabaseUploader.kt index 4dd7bd4..918648e 100644 --- a/app/src/main/java/com/dano/test1/DatabaseUploader.kt +++ b/app/src/main/java/com/dano/test1/DatabaseUploader.kt @@ -1,4 +1,3 @@ -// app/src/main/java/com/dano/test1/DatabaseUploader.kt package com.dano.test1 import android.content.Context @@ -21,12 +20,11 @@ import kotlin.system.exitProcess object DatabaseUploader { private const val DB_NAME = "questionnaire_database" - private const val SERVER_DELTA_URL = "http://49.13.157.44/uploadDeltaTest5.php" - private const val SERVER_CHECK_URL = "http://49.13.157.44/checkDatabaseExists.php" + private const val SERVER_DELTA_URL = "https://daniel-ocks.de/qdb/uploadDeltaTest5.php" + private const val SERVER_CHECK_URL = "https://daniel-ocks.de/qdb/checkDatabaseExists.php" private val client = OkHttpClient() - /** NEU: Login mit Username+Password, danach Upload wie gehabt */ fun uploadDatabaseWithLogin(context: Context, username: String, password: String) { LoginManager.loginUserWithCredentials( context = context, @@ -49,6 +47,7 @@ object DatabaseUploader { return@launch } + // WAL sauber schließen (falls aktiv) try { val db = SQLiteDatabase.openDatabase(dbFile.absolutePath, null, SQLiteDatabase.OPEN_READWRITE) db.rawQuery("PRAGMA wal_checkpoint(FULL);", null).use { /* noop */ } @@ -82,11 +81,14 @@ object DatabaseUploader { put("questionnaires", queryToJsonArray(db, "SELECT id FROM questionnaires")) put("questions", queryToJsonArray(db, "SELECT questionId, questionnaireId, question FROM questions")) put("answers", queryToJsonArray(db, "SELECT clientCode, questionId, answerValue FROM answers")) - put("completed_questionnaires", - queryToJsonArray(db, "SELECT clientCode, questionnaireId, timestamp, isDone, sumPoints FROM completed_questionnaires")) + put( + "completed_questionnaires", + queryToJsonArray(db, "SELECT clientCode, questionnaireId, timestamp, isDone, sumPoints FROM completed_questionnaires") + ) } db.close() + // JSON -> verschlüsselte Payload val tmpJson = File(context.cacheDir, "payload.json").apply { writeText(data.toString()) } val tmpEnc = File(context.cacheDir, "payload.enc") try { @@ -98,11 +100,17 @@ object DatabaseUploader { val body = MultipartBody.Builder() .setType(MultipartBody.FORM) - .addFormDataPart("token", token) + .addFormDataPart("token", token) // bleibt für Kompatibilität enthalten .addFormDataPart("file", "payload.enc", tmpEnc.asRequestBody("application/octet-stream".toMediaType())) .build() - val request = Request.Builder().url("http://49.13.157.44/uploadDeltaTest5.php").post(body).build() + // WICHTIG: Jetzt HTTPS + Konstanten-URL verwenden, plus Bearer-Header + val request = Request.Builder() + .url(SERVER_DELTA_URL) + .post(body) + .header("Authorization", "Bearer $token") + .build() + client.newCall(request).enqueue(object : Callback { override fun onFailure(call: Call, e: IOException) { Log.e("UPLOAD", "Fehlgeschlagen: ${e.message}") @@ -113,7 +121,7 @@ object DatabaseUploader { if (response.isSuccessful) { Log.d("UPLOAD", "OK: $respBody") - // <<< alte Logik wieder aktivieren: lokale DB + Neben­dateien löschen + // alte Logik: lokale DB + Neben­dateien löschen try { if (!file.delete()) Log.w("UPLOAD", "Lokale DB nicht gelöscht.") File(file.parent, "${file.name}-journal").delete() @@ -122,11 +130,12 @@ object DatabaseUploader { } catch (e: Exception) { Log.w("UPLOAD", "Fehler beim Löschen lokaler DB-Dateien", e) } - // >>> } else { Log.e("UPLOAD", "HTTP ${response.code}: $respBody") } tmpJson.delete(); tmpEnc.delete() + + // unverändert beibehalten try { exitProcess(0) } catch (_: Exception) {} } }) diff --git a/app/src/main/java/com/dano/test1/LoginManager.kt b/app/src/main/java/com/dano/test1/LoginManager.kt index ff3f344..071fc60 100644 --- a/app/src/main/java/com/dano/test1/LoginManager.kt +++ b/app/src/main/java/com/dano/test1/LoginManager.kt @@ -13,7 +13,7 @@ import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject object LoginManager { - private const val SERVER_LOGIN_URL = "http://49.13.157.44/login.php" + private const val SERVER_LOGIN_URL = "https://daniel-ocks.de/qdb/login.php" private val client = OkHttpClient() fun loginUserWithCredentials(