package awais.instagrabber.repositories; import java.util.Map; import awais.instagrabber.repositories.responses.LikersResponse; import awais.instagrabber.repositories.responses.MediaInfoResponse; import retrofit2.Call; import retrofit2.http.FieldMap; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.POST; import retrofit2.http.Path; import retrofit2.http.Query; import retrofit2.http.QueryMap; public interface MediaRepository { @GET("/api/v1/media/{mediaId}/info/") Call fetch(@Path("mediaId") final long mediaId); @GET("/api/v1/media/{mediaId}/{action}/") Call fetchLikes(@Path("mediaId") final String mediaId, @Path("action") final String action); // one of "likers" or "comment_likers" @FormUrlEncoded @POST("/api/v1/media/{mediaId}/{action}/") Call action(@Path("action") final String action, @Path("mediaId") final String mediaId, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{mediaId}/comment/") Call comment(@Path("mediaId") final String mediaId, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{mediaId}/comment/bulk_delete/") Call commentsBulkDelete(@Path("mediaId") final String mediaId, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{commentId}/comment_like/") Call commentLike(@Path("commentId") final String commentId, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{commentId}/comment_unlike/") Call commentUnlike(@Path("commentId") final String commentId, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{mediaId}/edit_media/") Call editCaption(@Path("mediaId") final String mediaId, @FieldMap final Map signedForm); @GET("/api/v1/language/translate/") Call translate(@QueryMap final Map form); @FormUrlEncoded @POST("/api/v1/media/upload_finish/") Call uploadFinish(@Header("retry_context") final String retryContext, @QueryMap Map queryParams, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{mediaId}/delete/") Call delete(@Path("mediaId") final String mediaId, @Query("media_type") final String mediaType, @FieldMap final Map signedForm); @FormUrlEncoded @POST("/api/v1/media/{mediaId}/archive/") Call archive(@Path("mediaId") final String mediaId, @FieldMap final Map signedForm); }