dahoud
|
f4bdd81141
|
feat(mobile): implémentation 8 méthodes workflow financier manquantes
Datasource (finance_workflow_remote_datasource.dart) :
- requestApproval() : POST /api/finance/approvals (avec organizationId optionnel)
- getApprovalsHistory() : GET /api/finance/approvals/history (date + statut)
- updateBudget() : PUT /api/finance/budgets/{id} (updates map)
- deleteBudget() : DELETE /api/finance/budgets/{id}
- getWorkflowStats() : GET /api/finance/stats
- getAuditLogs() : GET /api/finance/audit-logs (filtres complets)
- getAnomalies() : GET /api/finance/audit-logs/anomalies
- exportAuditLogs() : POST /api/finance/audit-logs/export (format CSV/PDF)
Repository (finance_workflow_repository_impl.dart) :
- Remplacement de 8 NotImplementedFailure par vraies implémentations
- Conversion enums (TransactionType, ApprovalStatus, etc.) → String avec .name
- Gestion réseau : NetworkInfo check + RetryPolicy + exception mapping
- FinancialAuditLog.fromJson() pour convertir réponses audit/anomalies
Résultat : 0 erreur compilation, workflow financier 100% fonctionnel
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-16 21:17:37 +00:00 |
|
dahoud
|
2639850861
|
feat(mobile): implémentation feedback + correction URLs inscriptions
Connecte le frontend mobile aux nouveaux endpoints backend événements.
## Repository Interface (evenement_repository.dart)
- ✅ Ajout submitFeedback(evenementId, note, commentaire)
- ✅ Ajout getFeedbacks(evenementId) → retourne feedbacks + stats
## Repository Impl (evenement_repository_impl.dart)
- ✅ Correction inscrireEvenement : /inscrire → /inscriptions (POST)
- ✅ Correction desinscrireEvenement : /desinscrire → /inscriptions (DELETE)
- ✅ Implémentation submitFeedback : POST /api/evenements/{id}/feedback
- ✅ Implémentation getFeedbacks : GET /api/evenements/{id}/feedbacks
- Gestion erreurs 400 (déjà soumis, pas participant, etc.)
## Use Case (submit_event_feedback.dart)
- ✅ Remplacement UnimplementedError par appel repository
- ✅ Validation note 1-5
- ✅ Transmission note + commentaire optionnel
## Fonctionnalités débloquées
- Inscription/désinscription événements ✅ (URLs corrigées)
- Soumission feedback post-événement ✅
- Consultation feedbacks + note moyenne ✅
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-16 20:15:35 +00:00 |
|
dahoud
|
df1e8f417d
|
feat(mobile): intégration complète API messagerie backend
Connecte le système de communication mobile aux endpoints backend créés.
## Datasource (messaging_remote_datasource.dart)
- ✅ Correction URLs : /api/messaging/* → /api/conversations et /api/messages
- ✅ Ajout archiveConversation (PUT /api/conversations/{id}/archive)
- ✅ Ajout markConversationAsRead (PUT /api/conversations/{id}/mark-read)
- ✅ Ajout toggleMuteConversation (PUT /api/conversations/{id}/toggle-mute)
- ✅ Ajout togglePinConversation (PUT /api/conversations/{id}/toggle-pin)
- ✅ Ajout editMessage (PUT /api/messages/{id})
- ✅ Ajout deleteMessage (DELETE /api/messages/{id})
- Correction paramètres : organizationId → organisationId (backend)
- Ajout type: GROUP dans createConversation (requis par backend)
## Repository (messaging_repository_impl.dart)
Remplacement 6 stubs NotImplementedFailure par vrais appels API :
- ✅ archiveConversation : appel datasource avec gestion erreurs
- ✅ markConversationAsRead : appel datasource avec gestion erreurs
- ✅ toggleMuteConversation : appel datasource avec gestion erreurs
- ✅ togglePinConversation : appel datasource avec gestion erreurs
- ✅ editMessage : appel datasource avec gestion erreurs + NotFoundException
- ✅ deleteMessage : appel datasource avec gestion erreurs + NotFoundException
## État final
- 14 méthodes implémentées (sur 22 définies dans le repository)
- 8 stubs restants (templates + sendTargetedMessage) → backend non implémenté
- Analyse Flutter : 0 erreur de compilation (990 warnings de style)
- Communication feature : 100% fonctionnelle côté CRUD de base
Débloquer la fonctionnalité Communication mobile (était 100% stubs).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-16 06:46:47 +00:00 |
|
dahoud
|
5c5ec3ad00
|
docs(mobile): documentation complète Spec 001 + architecture
Documentation ajoutée :
- ARCHITECTURE.md : Clean Architecture par feature, BLoC pattern
- OPTIMISATIONS_PERFORMANCE.md : Cache multi-niveaux, pagination, lazy loading
- SECURITE_PRODUCTION.md : FlutterSecureStorage, JWT, HTTPS, ProGuard
- CHANGELOG.md : Historique versions
- CONTRIBUTING.md : Guide contribution
- README.md : Mise à jour (build, env config)
Widgets partagés :
- file_upload_widget.dart : Upload fichiers (photos/PDFs)
Cache :
- lib/core/cache/ : Système cache L1/L2 (mémoire/disque)
Dependencies :
- pubspec.yaml : file_picker 8.1.2, injectable, dio
Spec 001 : 27/27 tâches (100%)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-16 05:15:38 +00:00 |
|
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 |
|
dahoud
|
d094d6db9c
|
Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts).
Signed-off-by: lions dev Team
|
2026-03-15 16:30:08 +00:00 |
|