45 lines
1.2 KiB
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");
|
|
}
|
|
}
|
|
}
|