build for web server
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user