Début refacto en MVVM (Login, drawer OK
This commit is contained in:
44
em2rp/lib/services/user_service.dart
Normal file
44
em2rp/lib/services/user_service.dart
Normal file
@ -0,0 +1,44 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:firebase_auth/firebase_auth.dart';
|
||||
import '../models/user_model.dart';
|
||||
|
||||
class UserService {
|
||||
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
|
||||
|
||||
Future<List<UserModel>> fetchUsers() async {
|
||||
try {
|
||||
final snapshot = await _firestore.collection('users').get();
|
||||
return snapshot.docs
|
||||
.map((doc) => UserModel.fromMap(doc.data(), doc.id))
|
||||
.toList();
|
||||
} catch (e) {
|
||||
print("Erreur: $e");
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> updateUser(UserModel user) async {
|
||||
try {
|
||||
await _firestore.collection('users').doc(user.uid).update(user.toMap());
|
||||
} catch (e) {
|
||||
print("Erreur mise à jour: $e");
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteUser(String uid) async {
|
||||
try {
|
||||
await _firestore.collection('users').doc(uid).delete();
|
||||
} catch (e) {
|
||||
print("Erreur suppression: $e");
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> resetPassword(String email) async {
|
||||
try {
|
||||
await FirebaseAuth.instance.sendPasswordResetEmail(email: email);
|
||||
print("Email de réinitialisation envoyé à $email");
|
||||
} catch (e) {
|
||||
print("Erreur reset password: $e");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user