feat(core): refonte architecture transverse (cache, network, websocket, DI)
- lib/app : app.dart, router mis à jour (routes nouveaux modules) - lib/core/cache : cache_service + cached_datasource_decorator - lib/core/network : api_client, offline_manager, retry_policy - lib/core/websocket : websocket service (reconnexion exponentielle, heartbeat) - lib/core/di : injection + register_module - lib/core/storage : pending_operations_store (offline support) - lib/core/navigation : main_navigation_layout (onglets par rôle) - lib/core/config : environment, lcb_ft_constants - lib/core/utils : error_formatter, validators - pubspec.yaml/lock : dépendances mises à jour
This commit is contained in:
@@ -77,6 +77,17 @@ abstract class WebSocketEvent {
|
||||
organizationId: json['organizationId'] as String?,
|
||||
);
|
||||
|
||||
case 'NOUVEAU_MESSAGE':
|
||||
case 'MESSAGE_SUPPRIME':
|
||||
case 'CONVERSATION_LUE':
|
||||
return ChatMessageEvent(
|
||||
eventType: eventType,
|
||||
timestamp: timestamp,
|
||||
data: data,
|
||||
conversationId: json['conversationId'] as String?,
|
||||
organizationId: json['organizationId'] as String?,
|
||||
);
|
||||
|
||||
default:
|
||||
return GenericEvent(
|
||||
eventType: eventType,
|
||||
@@ -144,6 +155,19 @@ class ContributionEvent extends WebSocketEvent {
|
||||
});
|
||||
}
|
||||
|
||||
class ChatMessageEvent extends WebSocketEvent {
|
||||
final String? conversationId;
|
||||
final String? organizationId;
|
||||
|
||||
ChatMessageEvent({
|
||||
required super.eventType,
|
||||
required super.timestamp,
|
||||
required super.data,
|
||||
this.conversationId,
|
||||
this.organizationId,
|
||||
});
|
||||
}
|
||||
|
||||
class GenericEvent extends WebSocketEvent {
|
||||
GenericEvent({
|
||||
required super.eventType,
|
||||
|
||||
Reference in New Issue
Block a user