package com.pennapps.labs.pennmobile.api; import com.pennapps.labs.pennmobile.classes.Building; import com.pennapps.labs.pennmobile.classes.BusRoute; import com.pennapps.labs.pennmobile.classes.BusStop; import com.pennapps.labs.pennmobile.classes.Course; import com.pennapps.labs.pennmobile.classes.DiningHall; import com.pennapps.labs.pennmobile.classes.LaundryRoom; import com.pennapps.labs.pennmobile.classes.LaundryMachine; import com.pennapps.labs.pennmobile.classes.Person; import com.pennapps.labs.pennmobile.classes.Review; import com.pennapps.labs.pennmobile.classes.Venue; import java.util.List; import retrofit.http.GET; import retrofit.http.Path; import retrofit.http.Query; import rx.Observable; /** * Created by Adel on 12/13/14. * Retrofit interface to the Penn Labs API */ public interface Labs { @GET("/registrar/search") Observable<List<Course>> courses( @Query("q") String name); @GET("/directory/search") Observable<List<Person>> people( @Query("name") String name); @GET("/buildings/search") Observable<List<Building>> buildings( @Query("q") String name); @GET("/dining/venues") Observable<List<Venue>> venues(); @GET("/dining/daily_menu/{id}") Observable<DiningHall> daily_menu( @Path("id") int id); @GET("/transit/stops") Observable<List<BusStop>> bus_stops(); @GET("/transit/routes") Observable<List<BusRoute>> routes(); @GET("/transit/routing") Observable<BusRoute> routing( @Query("latFrom") String latFrom, @Query("latTo") String latTo, @Query("lonFrom") String lonFrom, @Query("lonTo") String lonTo); @GET("/pcr/{id}") Observable<Review> course_review( @Path("id") String id); @GET("/laundry/halls") Observable<List<LaundryRoom>> laundries(); @GET("/laundry/hall/{id}") Observable<List<LaundryMachine>> laundryMachines( @Path("id") int id); }