feat: WebSocket temps réel + Finance Workflow + corrections
- Task #6: WebSocket /ws/dashboard + Kafka events (5 topics) * Backend: KafkaEventProducer, KafkaEventConsumer * Mobile: WebSocketService (reconnection, heartbeat, typed events) * DashboardBloc: Auto-refresh depuis WebSocket events - Finance Workflow: approbations + budgets (backend + mobile) * Backend: entities, services, resources, migrations Flyway V6 * Mobile: features finance_workflow complète avec BLoC - Corrections DI: interfaces IRepository partout * IProfileRepository, IOrganizationRepository, IMembreRepository * GetIt configuré avec @injectable - Spec-Kit: constitution + templates mis à jour * .specify/memory/constitution.md enrichie * Templates agent, plan, spec, tasks, checklist - Nettoyage: fichiers temporaires supprimés Signed-off-by: lions dev Team
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
/// Entité représentant un membre ou une organisation dans la recherche réseau.
|
||||
class NetworkItem extends Equatable {
|
||||
final String id;
|
||||
final String name;
|
||||
final String? subtitle;
|
||||
final String? avatarUrl;
|
||||
final String type; // 'Member', 'Organization'
|
||||
final bool isConnected;
|
||||
|
||||
const NetworkItem({
|
||||
required this.id,
|
||||
required this.name,
|
||||
this.subtitle,
|
||||
this.avatarUrl,
|
||||
required this.type,
|
||||
this.isConnected = false,
|
||||
});
|
||||
|
||||
NetworkItem copyWith({
|
||||
String? id,
|
||||
String? name,
|
||||
String? subtitle,
|
||||
String? avatarUrl,
|
||||
String? type,
|
||||
bool? isConnected,
|
||||
}) {
|
||||
return NetworkItem(
|
||||
id: id ?? this.id,
|
||||
name: name ?? this.name,
|
||||
subtitle: subtitle ?? this.subtitle,
|
||||
avatarUrl: avatarUrl ?? this.avatarUrl,
|
||||
type: type ?? this.type,
|
||||
isConnected: isConnected ?? this.isConnected,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, name, subtitle, avatarUrl, type, isConnected];
|
||||
}
|
||||
Reference in New Issue
Block a user