EM2RP/em2rp/lib/services/user_service.dart

45 lines
1.2 KiB
Dart

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");
}
}
}