fix(mobile): URL changement mdp corrigée + v3.0 — multi-org, AppAuth, sécurité prod
Auth: - profile_repository.dart: /api/auth/change-password → /api/membres/auth/change-password Multi-org (Phase 3): - OrgSelectorPage, OrgSwitcherBloc, OrgSwitcherEntry - org_context_service.dart: headers X-Active-Organisation-Id + X-Active-Role Navigation: - MorePage: navigation conditionnelle par typeOrganisation - Suppression adaptive_navigation (remplacé par main_navigation_layout) Auth AppAuth: - keycloak_webview_auth_service: fixes AppAuth Android - AuthBloc: gestion REAUTH_REQUIS + premierLoginComplet Onboarding: - Nouveaux états: payment_method_page, onboarding_shared_widgets - SouscriptionStatusModel mis à jour StatutValidationSouscription Android: - build.gradle: ProGuard/R8, network_security_config - Gradle wrapper mis à jour
This commit is contained in:
@@ -81,12 +81,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
totalPages: result.totalPages,
|
||||
));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -115,12 +110,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
));
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -151,11 +141,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
code: '400',
|
||||
));
|
||||
} else {
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
}
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
@@ -187,11 +173,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
code: '400',
|
||||
));
|
||||
} else {
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
}
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
@@ -214,12 +196,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
|
||||
emit(EvenementDeleted(event.id));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -250,12 +227,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
totalPages: result.totalPages,
|
||||
));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -286,12 +258,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
totalPages: result.totalPages,
|
||||
));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -322,12 +289,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
totalPages: result.totalPages,
|
||||
));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -349,12 +311,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
|
||||
emit(EvenementInscrit(event.evenementId));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -376,12 +333,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
|
||||
emit(EvenementDesinscrit(event.evenementId));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -406,12 +358,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
participants: participants,
|
||||
));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -433,12 +380,7 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
|
||||
emit(EvenementsStatsLoaded(stats));
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: e.response?.statusCode.toString(),
|
||||
error: e,
|
||||
));
|
||||
_emitDioError(e, emit);
|
||||
} catch (e) {
|
||||
if (e is DioException && e.type == DioExceptionType.cancel) return;
|
||||
emit(EvenementsError(
|
||||
@@ -493,5 +435,24 @@ class EvenementsBloc extends Bloc<EvenementsEvent, EvenementsState> {
|
||||
return 'Erreur réseau inattendue.';
|
||||
}
|
||||
}
|
||||
|
||||
/// Émet le bon état selon le type d'erreur :
|
||||
/// 401/403 → EvenementsError (autorisation), autres → EvenementsNetworkError (réseau).
|
||||
void _emitDioError(DioException e, Emitter<EvenementsState> emit) {
|
||||
if (e.type == DioExceptionType.cancel) return;
|
||||
final statusCode = e.response?.statusCode;
|
||||
if (statusCode == 401 || statusCode == 403) {
|
||||
emit(EvenementsError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
error: e,
|
||||
));
|
||||
} else {
|
||||
emit(EvenementsNetworkError(
|
||||
message: _getNetworkErrorMessage(e),
|
||||
code: statusCode?.toString(),
|
||||
error: e,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user