refactoring
This commit is contained in:
@@ -33,6 +33,7 @@ class NetworkRepository {
|
||||
final data = _parseListResponse(response.data);
|
||||
return data.map((json) => _memberFromJson(json as Map<String, dynamic>)).toList();
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) rethrow;
|
||||
if (e.response?.statusCode == 400) return [];
|
||||
rethrow;
|
||||
}
|
||||
@@ -49,6 +50,7 @@ class NetworkRepository {
|
||||
final data = _parseListResponse(response.data);
|
||||
return data.map((json) => _organisationFromJson(json as Map<String, dynamic>)).toList();
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) rethrow;
|
||||
if (e.response?.statusCode == 400) return [];
|
||||
rethrow;
|
||||
}
|
||||
@@ -83,6 +85,7 @@ class NetworkRepository {
|
||||
if (data is! List) return [];
|
||||
return data.map((e) => e.toString()).toList();
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) rethrow;
|
||||
if (e.response?.statusCode == 401 || e.response?.statusCode == 403) return [];
|
||||
AppLogger.error('NetworkRepository: getFollowedIds échoué', error: e);
|
||||
rethrow;
|
||||
@@ -98,6 +101,7 @@ class NetworkRepository {
|
||||
}
|
||||
return false;
|
||||
} on DioException catch (e, st) {
|
||||
if (e.type == DioExceptionType.cancel) rethrow;
|
||||
AppLogger.error('NetworkRepository: follow échoué', error: e, stackTrace: st);
|
||||
rethrow;
|
||||
}
|
||||
@@ -112,6 +116,7 @@ class NetworkRepository {
|
||||
}
|
||||
return false;
|
||||
} on DioException catch (e, st) {
|
||||
if (e.type == DioExceptionType.cancel) rethrow;
|
||||
AppLogger.error('NetworkRepository: unfollow échoué', error: e, stackTrace: st);
|
||||
rethrow;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
|
||||
@@ -46,6 +47,7 @@ class NetworkBloc extends Bloc<NetworkEvent, NetworkState> {
|
||||
}).toList();
|
||||
emit(NetworkLoaded(items: items, currentQuery: current.currentQuery));
|
||||
} catch (e, st) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
AppLogger.error('NetworkBloc: toggle follow échoué', error: e, stackTrace: st);
|
||||
emit(const NetworkError('Impossible de mettre à jour le suivi. Réessayez.'));
|
||||
}
|
||||
@@ -58,6 +60,7 @@ class NetworkBloc extends Bloc<NetworkEvent, NetworkState> {
|
||||
final items = await _repository.search('', followedIds: followedIds.toSet());
|
||||
emit(NetworkLoaded(items: items, currentQuery: ''));
|
||||
} catch (e, st) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
AppLogger.error('NetworkBloc: chargement réseau échoué', error: e, stackTrace: st);
|
||||
emit(NetworkError('Erreur chargement réseau : $e'));
|
||||
}
|
||||
@@ -76,6 +79,7 @@ class NetworkBloc extends Bloc<NetworkEvent, NetworkState> {
|
||||
final items = await _repository.search(event.query, followedIds: followedIds.toSet());
|
||||
emit(NetworkLoaded(items: items, currentQuery: event.query));
|
||||
} catch (e, st) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
AppLogger.error('NetworkBloc: recherche réseau échouée', error: e, stackTrace: st);
|
||||
emit(NetworkError('Erreur de recherche : $e'));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user