import 'package:dio/dio.dart'; import 'package:eatvio_app/features/chat/models/chat_messages_model.dart'; import 'package:eatvio_app/features/chat/models/chat_room_model.dart'; import 'package:eatvio_app/features/chat/models/chat_room_preview_model.dart'; import 'package:eatvio_app/features/chat/models/websocket_info_model.dart'; import 'package:retrofit/retrofit.dart'; part 'chat_service.g.dart'; @RestApi() abstract class ChatService { factory ChatService(Dio dio, {String baseUrl}) = _ChatService; @GET('/api/chat/index') Future getChatRoomPreviews({ @Query('find') String? query, }); @GET('/api/chat/show/{id}') Future> getChatRoom({ @Path() required String id, }); @POST('/api/chat/{id}/message/send') @MultiPart() Future sendMessage({ @Path() required String id, @Part() String? data, @Part(name: 'media_data[]', contentType: 'multipart/form-data') List? media_data, }); @GET('/api/chat/show/{id}/messages?page={page}') Future getChatMessages({ @Path() required String id, @Path() required int page, }); @GET('/api/profile/ws/params') Future getWebsocket(); @GET('/api/chat/get_by_user/{user}') Future getChatRoomIdByUserSlug({ @Path() required String user, }); }