Files
Handwerks_app/appwrite_config.dart
JUSN 9ddce354c0 Feature
ein paar feature aber datenbank macht probleme wenn man aufträge speichern möchge
2026-04-05 12:47:57 +02:00

80 lines
2.8 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:appwrite/appwrite.dart';
import 'appwrite_local.dart';
/// Zentraler Appwrite-Client (Session-Cookies werden vom SDK verwaltet).
///
/// **Wenn `database_not_found` trotz angelegter DB:**
/// 1. In der Console **dieselbe Project-ID** wie in der App (Profil → Appwrite).
/// 2. Unter Databases die **Database ID** kopieren (nicht nur den Namen) und in
/// [lib/appwrite_local.dart] bei `kAppwriteDatabaseIdOverride` eintragen.
/// 3. Oder per Build: `--dart-define=APPWRITE_DATABASE_ID=deine_id`
///
/// **Console-Setup (einmalig):**
/// Optional: Collection/Bucket per Skript im Projektroot `.appwrite_api_key`
/// (eine Zeile = Server-API-Key, siehe `.appwrite_api_key.example`), dann
/// `./tool/run_appwrite_setup.sh` ausführen.
/// 1. **Auth:** E-Mail/Passwort aktivieren.
/// 2. **Plattformen:** Bundle-ID `com.example.handwerksapp` (macOS/iOS/Android)
/// unter Settings → Platforms eintragen (sonst „Invalid Origin“).
/// 3. **Database** mit ID wie in [kAppwriteDatabaseId] (oder Override in
/// `appwrite_local.dart`).
/// 4. **Collection** mit ID wie [kAppwriteCollectionId] — wegen Appwrite-1.8-Limit
/// nur **zwei** String-Attribute: `userId` (required, Index) und `extendedJson`
/// (JSON mit `v: 2`, kompletter Datensatz inkl. Fotos/Unterschrift; siehe
/// [Auftrag.toMap] / [Auftrag.fromAppwriteDoc]).
/// 5. **Storage-Bucket** mit ID [kAppwriteBucketId].
const String kAppwriteEndpoint = String.fromEnvironment(
'APPWRITE_ENDPOINT',
defaultValue: 'https://appwrite.webklar.com/v1',
);
const String _projectIdEnv = String.fromEnvironment(
'APPWRITE_PROJECT_ID',
defaultValue: '',
);
const String _databaseIdEnv = String.fromEnvironment(
'APPWRITE_DATABASE_ID',
defaultValue: '',
);
const String _collectionIdEnv = String.fromEnvironment(
'APPWRITE_COLLECTION_ID',
defaultValue: '',
);
const String _bucketIdEnv = String.fromEnvironment(
'APPWRITE_BUCKET_ID',
defaultValue: '',
);
String get kAppwriteProjectId {
final o = kAppwriteProjectIdOverride.trim();
if (o.isNotEmpty) return o;
if (_projectIdEnv.isNotEmpty) return _projectIdEnv;
return '69cd3e77002e40f90f00';
}
String get kAppwriteDatabaseId {
final o = kAppwriteDatabaseIdOverride.trim();
if (o.isNotEmpty) return o;
if (_databaseIdEnv.isNotEmpty) return _databaseIdEnv;
return 'handwerksapp_db';
}
String get kAppwriteCollectionId {
final o = kAppwriteCollectionIdOverride.trim();
if (o.isNotEmpty) return o;
if (_collectionIdEnv.isNotEmpty) return _collectionIdEnv;
return 'rechnungen';
}
String get kAppwriteBucketId {
final o = kAppwriteBucketIdOverride.trim();
if (o.isNotEmpty) return o;
if (_bucketIdEnv.isNotEmpty) return _bucketIdEnv;
return 'rechnung_dateien';
}
final Client appwriteClient = Client()
..setEndpoint(kAppwriteEndpoint)
..setProject(kAppwriteProjectId);