package com.alorma.github.sdk.services.notifications; import com.alorma.github.sdk.bean.dto.request.LastDate; import core.notifications.Notification; import java.util.List; import retrofit.client.Response; import retrofit.http.Body; import retrofit.http.DELETE; import retrofit.http.GET; import retrofit.http.PATCH; import retrofit.http.PUT; import retrofit.http.Path; import retrofit.http.Query; import rx.Observable; public interface NotificationsService { //obs @GET("/notifications") Observable<List<Notification>> getNotifications(@Query("all") boolean all, @Query("participating") boolean participating); @PUT("/repos/{owner}/{name}/notifications") Observable<Response> markAsReadRepo(@Path("owner") String owner, @Path("name") String repo); @PUT("/repos/{owner}/{name}/notifications") Observable<Response> markAsReadRepo(@Path("owner") String owner, @Path("name") String repo, @Body LastDate body); @PATCH("/notifications/threads/{id}") Observable<Response> markThreadAsRead(@Path("id") String id, @Body Object empty); @PUT("/notifications/threads/{id}/subscription") Observable<Response> subscribeThread(@Path("id") String id, @Query("subscribed") boolean subscribed, @Query("ignored") boolean ignored); @DELETE("/notifications/threads/{id}/subscription") Observable<Response> unsubscribeThread(@Path("id") String id); }