Feature
ein paar feature aber datenbank macht probleme wenn man aufträge speichern möchge
This commit is contained in:
79
appwrite_config.dart
Normal file
79
appwrite_config.dart
Normal file
@@ -0,0 +1,79 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user