Modifs MVVM

This commit is contained in:
2025-03-12 17:49:23 +01:00
parent 2b8e7085aa
commit 456d0bb4b8
12 changed files with 287 additions and 401 deletions

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