Modifs MVVM
This commit is contained in:
		
							
								
								
									
										44
									
								
								em2rp/lib/providers/users_provider.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								em2rp/lib/providers/users_provider.dart
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| import 'package:cloud_firestore/cloud_firestore.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
| import '../models/user_model.dart'; | ||||
| import '../services/user_service.dart'; | ||||
|  | ||||
| class UsersProvider with ChangeNotifier { | ||||
|   final UserService _userService; | ||||
|   List<UserModel> _users = []; | ||||
|   bool _isLoading = false; | ||||
|  | ||||
|   List<UserModel> get users => _users; | ||||
|   bool get isLoading => _isLoading; | ||||
|  | ||||
|   UsersProvider(this._userService); | ||||
|  | ||||
|   /// Récupération de tous les utilisateurs | ||||
|   Future<void> fetchUsers() async { | ||||
|     _isLoading = true; | ||||
|     notifyListeners(); | ||||
|     try { | ||||
|       _users = await _userService.fetchUsers(); | ||||
|     } finally { | ||||
|       _isLoading = false; | ||||
|       notifyListeners(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   /// Mise à jour d'un utilisateur | ||||
|   Future<void> updateUser(UserModel user) async { | ||||
|     await _userService.updateUser(user); | ||||
|     await fetchUsers(); | ||||
|   } | ||||
|  | ||||
|   /// Suppression d'un utilisateur | ||||
|   Future<void> deleteUser(String uid) async { | ||||
|     await _userService.deleteUser(uid); | ||||
|     await fetchUsers(); | ||||
|   } | ||||
|  | ||||
|   /// Réinitialisation du mot de passe | ||||
|   Future<void> resetPassword(String email) async { | ||||
|     await _userService.resetPassword(email); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user