package core.repositories;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;
public interface ReposService {
@GET("/user/repos?type=owner")
Call<List<Repo>> userReposList(@Query("sort") String sort);
@GET("/user/repos?type=owner")
Call<List<Repo>> userReposList(@Query("page") int page, @Query("sort") String sort);
@GET("/users/{username}/repos?type=owner")
Call<List<Repo>> userReposList(@Path("username") String username, @Query("sort") String sort);
@GET("/users/{username}/repos?type=owner")
Call<List<Repo>> userReposList(@Path("username") String username, @Query("page") int page, @Query("sort") String sort);
// Starred repos
@GET("/user/starred?sort=updated")
Call<List<Repo>> userStarredReposList(@Query("sort") String sort);
@GET("/user/starred?sort=updated")
Call<List<Repo>> userStarredReposList(@Query("page") int page, @Query("sort") String sort);
@GET("/users/{username}/starred?sort=updated")
Call<List<Repo>> userStarredReposList(@Path("username") String username, @Query("sort") String sort);
@GET("/users/{username}/starred?sort=updated")
Call<List<Repo>> userStarredReposList(@Path("username") String username, @Query("page") int page, @Query("sort") String sort);
// Watched repos
@GET("/user/subscriptions")
Call<List<Repo>> userSubscribedReposList(@Query("sort") String sort);
@GET("/user/subscriptions")
Call<List<Repo>> userSubscribedReposList(@Query("page") int page, @Query("sort") String sort);
@GET("/users/{username}/subscriptions")
Call<List<Repo>> userSubscribedReposList(@Path("username") String username, @Query("sort") String sort);
@GET("/users/{username}/subscriptions")
Call<List<Repo>> userSubscribedReposList(@Path("username") String username, @Query("page") int page, @Query("sort") String sort);
// Member
@GET("/user/repos?affiliation=collaborator,organization_member")
Call<List<Repo>> userMemberRepos(@Query("sort") String sort);
// Member
@GET("/user/repos?affiliation=collaborator,organization_member")
Call<List<Repo>> userMemberRepos(@Query("page") int page, @Query("sort") String sort);
@GET("/user/repos?affiliation=organization_member")
Call<List<Repo>> userReposListFromOrgs(@Query("sort") String sort);
@GET("/user/repos?affiliation=organization_member")
Call<List<Repo>> userReposListFromOrgs(@Query("page") int page, @Query("sort") String sort);
// Orgs
@GET("/orgs/{org}/repos?type=all")
Call<List<Repo>> orgsReposList(@Path("org") String org, @Query("sort") String sort);
@GET("/orgs/{org}/repos?type=all")
Call<List<Repo>> orgsReposList(@Path("org") String org, @Query("page") int page, @Query("sort") String sort);
}