build for web server

This commit is contained in:
2026-02-25 01:19:47 +01:00
parent 9c8cdb3845
commit 760969f8f8
39 changed files with 189806 additions and 53 deletions

View File

@@ -1,4 +1,3 @@
import 'package:appwrite/models.dart';
import 'package:appwrite/appwrite.dart';
@@ -7,23 +6,21 @@ import '../configs/environment.dart';
class AppwriteService {
static final String endpoint = Environment.appwritePublicEndpoint;
static final String projectId = Environment.appwriteProjectId;
static final String projectName = Environment.appwriteProjectName;
static final String realtimeCollectionId =
Environment.appwriteRealtimeCollectionId;
static final String databaseId = Environment.appwriteDatabaseId;
static final String userEMail = Environment.appwriteUserEMail;
static final String userEmail = Environment.appwriteUserEMail;
static final String passwd = Environment.appwritePasswd;
final Client _client = Client().setProject(projectId).setEndpoint(endpoint);
// ignore: unused_field
late final Account _account;
// ignore: unused_field
late final Databases _databases;
late final Account _account;
bool _sessionActive = false;
AppwriteService._internal() {
_account = Account(_client);
_databases = Databases(_client);
_account = Account(_client);
}
static final AppwriteService _instance = AppwriteService._internal();
@@ -31,45 +28,30 @@ class AppwriteService {
/// Singleton instance getter
factory AppwriteService() => _instance;
// login with e-Mail and password
/// Login mit Email/Passwort. Erstellt nur eine neue Session wenn noch keine aktiv ist.
Future<bool> login() async {
await logout();
if (_sessionActive) return true;
try {
final session = await _account.createEmailPasswordSession(
email: userEMail,
await _account.getSession(sessionId: 'current');
_sessionActive = true;
return true;
} catch (_) {
// Keine aktive Session neu einloggen
}
try {
await _account.createEmailPasswordSession(
email: userEmail,
password: passwd,
);
print('Login erfolgreich: ${session.$id}');
_sessionActive = true;
print('Appwrite Login erfolgreich');
return true;
} catch (e) {
print('Login fehlgeschlagen: $e');
print('Fehler beim Login: $e');
return false;
}
}
// logout current user
Future<bool> logout() async {
try {
await _account.deleteSession(sessionId: 'current');
print('Logout erfolgreich');
return true;
} catch (e) {
print('Logout fehlgeschlagen: $e');
return false;
}
}
//Get current user ID
Future<String?> getCurrentUserId() async {
try {
final user = await _account.get();
return user.$id;
} catch (e) {
print('Fehler beim Abrufen der Benutzer-ID: $e');
return null;
}
}
// Get List<Document> from Realtime Collection
Future<List<Document>> getDocumentsFromCollection() async {
try {