/// Service API pour la communication avec le backend du chat /// /// Ce service gère toutes les requêtes HTTP vers l'API chat class ChatApiService { final String baseUrl; final String? authToken; ChatApiService({ required this.baseUrl, this.authToken, }); /// Récupère les conversations Future> fetchConversations() async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Récupère les messages d'une conversation Future> fetchMessages(String conversationId, {int page = 1, int limit = 50}) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Crée une nouvelle conversation Future> createConversation(Map data) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Envoie un message Future> sendMessage(String conversationId, Map messageData) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Marque un message comme lu Future> markMessageAsRead(String messageId) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Ajoute un participant Future> addParticipant(String conversationId, Map participantData) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Retire un participant Future> removeParticipant(String conversationId, String participantId) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Crée un utilisateur anonyme Future> createAnonymousUser({String? name, String? email}) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Récupère les annonces Future> fetchAnnouncements() async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Crée une annonce Future> createAnnouncement(Map data) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Récupère les statistiques d'une annonce Future> fetchAnnouncementStats(String conversationId) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Récupère les cibles d'audience disponibles Future> fetchAvailableAudienceTargets() async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Met à jour une conversation Future> updateConversation(String id, Map data) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } /// Supprime une conversation Future deleteConversation(String id) async { // TODO: Implémenter la requête HTTP throw UnimplementedError(); } }