Files
unionflow-mobile-apps/lib/core/di/register_module.dart
dahoud 775729b4c3 feat(mobile): upload pièce justificative LCB-FT (T020 - Spec 001)
Implémentation upload documents pour transactions épargne ≥ seuil LCB-FT :

Backend :
- DocumentUploadService (@lazySingleton) : upload JPG/PNG/PDF max 5MB
- Dio provider dans register_module.dart (timeouts 15s)

Mobile :
- 3 dialogs épargne modifiés (dépôt, retrait, transfert)
- FilePicker + upload + validation seuil
- UI états (idle, loading, success)
- Validation : pièce requise si montant ≥ seuil

Corrections :
- AppLogger.error() : signature correcte (error: param nommé)
- Assets : création répertoires mobile_money/ et virement/

Spec 001 : 27/27 tâches (100%)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-16 05:14:22 +00:00

30 lines
892 B
Dart

import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:dio/dio.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:http/http.dart' as http;
import 'package:injectable/injectable.dart';
import 'package:shared_preferences/shared_preferences.dart';
@module
abstract class RegisterModule {
@lazySingleton
Connectivity get connectivity => Connectivity();
@lazySingleton
FlutterSecureStorage get storage => const FlutterSecureStorage(
aOptions: AndroidOptions(encryptedSharedPreferences: true),
);
@lazySingleton
http.Client get httpClient => http.Client();
@lazySingleton
Dio get dio => Dio(BaseOptions(
connectTimeout: const Duration(seconds: 15),
receiveTimeout: const Duration(seconds: 15),
));
@preResolve
Future<SharedPreferences> get sharedPreferences => SharedPreferences.getInstance();
}