import 'package:dio/dio.dart'; import '../config/api_config.dart'; class ChatService { final Dio dio; ChatService(this.dio); /// Start chat / get ticket Future> startChat() async { final res = await dio.get('/user/chat/start'); return Map.from(res.data); } /// Get all messages Future> getMessages(int ticketId) async { final res = await dio.get('/user/chat/messages/$ticketId'); return res.data['messages']; } /// Send message (text or file) Future sendMessage( int ticketId, { String? message, String? filePath, }) async { final form = FormData(); if (message != null) form.fields.add(MapEntry('message', message)); if (filePath != null) { form.files.add( MapEntry( 'file', await MultipartFile.fromFile(filePath), ), ); } await dio.post('/user/chat/send/$ticketId', data: form); } }