import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../core/api/api_client.dart'; import '../../../core/api/guarded_api_call.dart'; import '../../../core/api/api_exception.dart'; import '../../auth/data/auth_providers.dart'; final profileRepositoryProvider = Provider((ref) { final apiClient = ref.read(apiClientProvider); return ProfileRepository(apiClient, ref); }); class ProfileRepository { final ApiClient _apiClient; final Ref _ref; ProfileRepository(this._apiClient, this._ref); Future> getProfile() async { return guardedApiCall( _ref, () => _apiClient.getJson('/api/profile'), ); } Future> updateProfile(Map profileData) async { return guardedApiCall( _ref, () => _apiClient.patchJson('/api/profile', profileData), ); } }