package org.gdg.frisbee.android.api;
import org.gdg.frisbee.android.api.model.Directory;
import org.gdg.frisbee.android.api.model.Event;
import org.gdg.frisbee.android.api.model.EventFullDetails;
import org.gdg.frisbee.android.api.model.HomeGdgRequest;
import org.gdg.frisbee.android.api.model.OrganizerCheckResponse;
import org.gdg.frisbee.android.api.model.PagedList;
import org.joda.time.DateTime;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.PUT;
import retrofit2.http.Path;
import retrofit2.http.Query;
public interface GdgXHub {
@GET("chapters?perpage=-1")
Call<Directory> getDirectory();
@GET("chapters/{chapterId}/events/{start}/{end}")
Call<PagedList<Event>> getChapterEventList(@Path("chapterId") final String chapterId,
@Path("start") final DateTime start,
@Path("end") final DateTime end);
@GET("chapters/{chapterId}/events?perpage=20&sort=start&asc=-1")
Call<PagedList<Event>> getChapterAllEventList(@Path("chapterId") final String chapterId,
@Query("page") Integer page);
@GET("events/{id}")
Call<EventFullDetails> getEventDetail(@Path("id") String eventId);
@GET("events/tag/{tag}/upcoming?perpage=-1")
Call<PagedList<Event>> getTaggedEventUpcomingList(@Path("tag") String tag,
@Query("_") DateTime now);
@PUT("frisbee/user/home")
Call<Void> setHomeGdg(@Header("Authorization") String authorization,
@Body HomeGdgRequest request);
@GET("organizer/{gplusId}")
Call<OrganizerCheckResponse> checkOrganizer(@Path("gplusId") String gplusId);
}