package com.santiparra.yomitrack.api; import com.santiparra.yomitrack.db.entities.AnimeEntity; import com.santiparra.yomitrack.db.entities.MangaEntity; import com.santiparra.yomitrack.db.entities.UserEntity; import com.santiparra.yomitrack.model.AniListAnime; import com.santiparra.yomitrack.model.LoginResponse; import com.santiparra.yomitrack.model.RegisterResponse; import java.util.List; import java.util.Map; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.DELETE; import retrofit2.http.GET; import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path; import retrofit2.http.Query; public interface ApiService { // ---------------- Usuario ---------------- @POST("users/register") Call registerUser(@Body Map request); @POST("users/login") Call loginUser(@Body UserEntity user); // ---------------- Anime ---------------- @POST("anime/add") Call insertAnime(@Body AnimeEntity anime); @GET("anime/list/{userId}") Call> getAnimeByUser(@Path("userId") int userId); @PUT("anime/{id}") Call updateAnime(@Path("id") int animeId, @Body AnimeEntity anime); @DELETE("anime/delete/{id}") Call deleteAnime(@Path("id") int id); // ---------------- Manga ---------------- @POST("manga/add") Call insertManga(@Body MangaEntity manga); @GET("manga/list/{userId}") Call> getMangaByUser(@Path("userId") int userId); @PUT("manga/{id}") Call updateManga(@Path("id") int mangaId, @Body MangaEntity manga); @DELETE("manga/delete/{id}") Call deleteManga(@Path("id") int id); // ---------------- AniList API ---------------- @GET("/anilist/search") Call> searchAnimeAniList(@Query("query") String query); @GET("anilist/search/manga") Call> searchMangaAniList(@Query("query") String query); }