feat(mobile): récupération seuil LCB-FT depuis API (T018)

Phase 4 Mobile - Section 4.1 Épargne

Nouveaux fichiers :
- SeuilLcbFtModel : modèle pour seuil depuis API
- ParametresLcbFtRepository : appel /api/parametres-lcb-ft/seuil-justification
- @lazySingleton pour injection GetIt

Modifications :
- DepotEpargneDialog : charge seuil au initState, fallback 500k XOF
- RetraitEpargneDialog : idem
- Remplace constante kSeuilOrigineFondsObligatoireXOF par valeur dynamique

Impact :
- Seuil LCB-FT maintenant configurable par organisation
- Fallback automatique si API échoue
- Messages utilisateur avec montant dynamique

Spec : specs/001-mutuelles-anti-blanchiment/spec.md
Progression : 16/27 tâches (59%)

Signed-off-by: lions dev Team
This commit is contained in:
dahoud
2026-03-15 02:41:05 +00:00
parent 6ba710401c
commit 74161dfc89
4 changed files with 154 additions and 6 deletions

View File

@@ -0,0 +1,26 @@
/// Modèle pour le seuil LCB-FT récupéré depuis l'API.
/// Endpoint: GET /api/parametres-lcb-ft/seuil-justification
class SeuilLcbFtModel {
final double montantSeuil;
final String codeDevise;
const SeuilLcbFtModel({
required this.montantSeuil,
required this.codeDevise,
});
factory SeuilLcbFtModel.fromJson(Map<String, dynamic> json) {
return SeuilLcbFtModel(
montantSeuil: (json['montantSeuil'] as num).toDouble(),
codeDevise: json['codeDevise'] as String? ?? 'XOF',
);
}
/// Seuil par défaut si l'API échoue (500k XOF selon spec LCB-FT BCEAO).
factory SeuilLcbFtModel.defaultSeuil() {
return const SeuilLcbFtModel(
montantSeuil: 500000.0,
codeDevise: 'XOF',
);
}
}