fix(inscription AM): format NIR Corse + extraction message erreur API

Made-with: Cursor
This commit is contained in:
2026-02-26 21:02:40 +01:00
parent 8636b16659
commit 2fa546e6b7
2 changed files with 17 additions and 9 deletions
+14 -2
View File
@@ -184,8 +184,20 @@ class AuthService {
}
final decoded = response.body.isNotEmpty ? jsonDecode(response.body) : null;
final message = decoded is Map ? (decoded['message'] as String? ?? decoded['error'] as String?) : null;
throw Exception(message ?? 'Erreur lors de l\'inscription (${response.statusCode})');
final message = _extractErrorMessage(decoded, response.statusCode);
throw Exception(message);
}
/// Extrait le message d'erreur des réponses NestJS (message string, array, ou objet).
static String _extractErrorMessage(dynamic decoded, int statusCode) {
const fallback = 'Erreur lors de l\'inscription';
if (decoded == null || decoded is! Map) return '$fallback ($statusCode)';
final msg = decoded['message'];
if (msg == null) return decoded['error'] as String? ?? '$fallback ($statusCode)';
if (msg is String) return msg;
if (msg is List) return msg.map((e) => e.toString()).join('. ').trim();
if (msg is Map && msg['message'] != null) return msg['message'].toString();
return '$fallback ($statusCode)';
}
/// Rafraîchit le profil utilisateur depuis l'API