package com.sweetzpot.stravazpot.club.rest;
import com.sweetzpot.stravazpot.activity.model.Activity;
import com.sweetzpot.stravazpot.athlete.model.Athlete;
import com.sweetzpot.stravazpot.club.model.Announcement;
import com.sweetzpot.stravazpot.club.model.Club;
import com.sweetzpot.stravazpot.club.model.Event;
import com.sweetzpot.stravazpot.club.model.JoinResult;
import com.sweetzpot.stravazpot.club.model.LeaveResult;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
public interface ClubRest {
@GET("clubs/{id}")
Call<Club> getClub(@Path("id") Integer id);
@GET("clubs/{id}/announcements")
Call<List<Announcement>> getClubAnnouncements(@Path("id") Integer id);
@GET("clubs/{id}/group_events")
Call<List<Event>> getClubGroupEvents(@Path("id") Integer id);
@GET("athlete/clubs")
Call<List<Club>> getMyClubs();
@GET("clubs/{id}/members")
Call<List<Athlete>> getClubMembers(
@Path("id") Integer id,
@Query("page") Integer page,
@Query("per_page") Integer perPage);
@GET("clubs/{id}/admins")
Call<List<Athlete>> getClubAdmins(
@Path("id") Integer id,
@Query("page") Integer page,
@Query("per_page") Integer perPage);
@GET("clubs/{id}/activities")
Call<List<Activity>> getClubActivities(
@Path("id") Integer id,
@Query("before") Integer before,
@Query("page") Integer page,
@Query("per_page") Integer perPage);
@POST("clubs/{id}/join")
Call<JoinResult> joinClub(@Path("id") Integer id);
@POST("clubs/{id}/leave")
Call<LeaveResult> leaveClub(@Path("id") Integer id);
}