Feature
ein paar feature aber datenbank macht probleme wenn man aufträge speichern möchge
This commit is contained in:
63
utils/appwrite_error_message.dart
Normal file
63
utils/appwrite_error_message.dart
Normal file
@@ -0,0 +1,63 @@
|
||||
import 'package:appwrite/appwrite.dart';
|
||||
|
||||
import '../appwrite_config.dart';
|
||||
import '../config/appwrite_rechnungen_setup.dart';
|
||||
|
||||
/// Verständliche Meldung beim Laden von Aufträgen / Account (Haupt-Shell).
|
||||
String nachrichtFuerAppwriteDatenFehler(Object error) {
|
||||
if (error is! AppwriteException) {
|
||||
return error.toString();
|
||||
}
|
||||
final e = error;
|
||||
final typ = e.type ?? '';
|
||||
final msgLower = (e.message ?? '').toLowerCase();
|
||||
|
||||
// Appwrite-Texte sprechen manchmal von „API key“ — die App nutzt aber die
|
||||
// **Nutzer-Session** (nach Login), nicht die Datei `.appwrite_api_key`.
|
||||
if (msgLower.contains('api') && msgLower.contains('key')) {
|
||||
return 'Die App verwendet beim normalen Betrieb **keinen** Server-API-Key '
|
||||
'(die Datei `.appwrite_api_key` ist nur fürs Einrichtungs-Skript).\n\n'
|
||||
'Wenn Appwrite trotzdem von einem Key spricht, liegt es meist an:\n'
|
||||
'• Session abgelaufen oder ungültig → **Abmelden und neu anmelden**\n'
|
||||
'• Falsche **Project-ID** oder **Endpoint** in der App\n'
|
||||
'• Unter Appwrite **Settings → Platforms** die Plattform '
|
||||
'(Bundle-ID / Hostname) fehlt → „Unauthorized“ / merkwürdige Meldungen\n\n'
|
||||
'Technisch: ${e.toString()}';
|
||||
}
|
||||
|
||||
switch (typ) {
|
||||
case 'database_not_found':
|
||||
return 'Auf dem Appwrite-Server gibt es keine Datenbank mit der ID '
|
||||
'„$kAppwriteDatabaseId“.\n\n'
|
||||
'So behebst du das:\n'
|
||||
'• Appwrite Console öffnen → dein Projekt → Databases → '
|
||||
'„Create database“ → als Database ID exakt '
|
||||
'„$kAppwriteDatabaseId“ eintragen\n'
|
||||
'oder\n'
|
||||
'• In lib/appwrite_local.dart bei kAppwriteDatabaseIdOverride die '
|
||||
'ID eintragen (oder --dart-define=APPWRITE_DATABASE_ID=…).\n\n'
|
||||
'Technisch: ${e.toString()}';
|
||||
case 'collection_not_found':
|
||||
return 'Die Collection „$kAppwriteCollectionId“ fehlt in der Datenbank '
|
||||
'„$kAppwriteDatabaseId“.\n\n'
|
||||
'${appwriteRechnungenCollectionCheckliste()}\n\n'
|
||||
'Technisch: ${e.toString()}';
|
||||
case 'bucket_not_found':
|
||||
return 'Der Storage-Bucket „$kAppwriteBucketId“ wurde nicht gefunden.\n\n'
|
||||
'Lege ihn in Storage an oder trage die Bucket-ID in '
|
||||
'lib/appwrite_local.dart (kAppwriteBucketIdOverride) ein.\n\n'
|
||||
'Technisch: ${e.toString()}';
|
||||
case 'project_not_found':
|
||||
return 'Das Appwrite-Projekt wurde nicht gefunden (falsche Project-ID '
|
||||
'oder Endpoint). Prüfe setProject(...) in lib/appwrite_config.dart '
|
||||
'und den Endpoint.\n\n'
|
||||
'Technisch: ${e.toString()}';
|
||||
case 'user_unauthorized':
|
||||
case 'general_unauthorized_scope':
|
||||
return 'Keine Berechtigung für diese Aktion. Bitte erneut anmelden '
|
||||
'oder in der Appwrite Console die Collection-/DB-Rechte prüfen.\n\n'
|
||||
'Technisch: ${e.toString()}';
|
||||
default:
|
||||
return e.toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user