Commit Graph

6 Commits

Author SHA1 Message Date
dahoud
04896349d6 fix: BUG-02 IC-03 session expirée sur Workflow Financier et Messagerie
Ajoute KeycloakAuthService.getValidAccessToken() qui vérifie l'expiration
du JWT et rafraîchit automatiquement avant de retourner le token.

FinanceWorkflowRemoteDatasource et MessagingRemoteDatasource injectent
désormais KeycloakAuthService au lieu de FlutterSecureStorage directement,
ce qui évite d'envoyer un Bearer expiré et d'obtenir un 401 silencieux.
2026-04-10 20:53:28 +00:00
dahoud
289efc4956 feat(mobile): consolidation modules epargne, messaging, organisations
- Epargne: badge LCB-FT (bouclier ambre) sur comptes avec fonds bloques + note recap
- EpargneDetail: historique pagine (page/size), affichage soldeAvant/soldeApres/motif dans chaque transaction, bouton "Charger plus"
- TransactionEpargneRepository: getByCompte accepte page et size, gere reponse paginee Spring (content[])
- MessagingDatasource: markMessageAsRead silencieuse (pas d'endpoint unitaire), getUnreadCount somme unreadCount des conversations
- OrganizationDetail: _memberCount charge le vrai nombre depuis GET /membres/count, affiche la valeur reelle au lieu de nombreMembres (toujours 0)
2026-04-05 13:37:21 +00:00
dahoud
5383df6dcb refactoring 2026-03-31 09:14:47 +00:00
dahoud
b63fc46182 feat(mobile): amélioration UX NotImplementedFailure + SnackbarHelper
- NotImplementedFailure: ajout userFriendlyMessage et icon construction (blue)
- ErrorDisplayWidget: support spécial pour NotImplementedFailure (bientôt disponible)
- SnackbarHelper: classe centralisée pour messages cohérents (success, error, warning, info, notImplemented)
- budgets_list_page: remplace generic snackbar par SnackbarHelper.showNotImplemented
- conversations_page: remplace 2 TODOs par SnackbarHelper.showNotImplemented
- export_members: met à jour TODO obsolète (endpoint PDF maintenant disponible)
- cache_service: fix AppLogger.error calls (error: named param)
- cached_datasource_decorator: fix AppLogger.error call

Task #64 - Fix Snackbar Placeholders + NotImplementedFailure UX
2026-03-17 10:06:21 +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
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