package com.androcid.zomato.retro; import com.androcid.zomato.util.Constant; import com.squareup.okhttp.OkHttpClient; import java.util.Map; import retrofit.Callback; import retrofit.RequestInterceptor; import retrofit.RestAdapter; import retrofit.client.OkClient; import retrofit.http.Field; import retrofit.http.FieldMap; import retrofit.http.FormUrlEncoded; import retrofit.http.POST; /** * Created by Androcid on 23-11-2015. */ public class RetroInterface { private static final RestAdapter.LogLevel LOG_LEVEL = Constant.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE ; //WEB SERVER URL //"http://192.168.2.95";//"http://192.168.2.95/zomato/"; //public static final String SERVER_URL ="http://www.kholdepoll.com"; public static final String SERVER_URL ="http://www.unexploredgoa.com"; //PROFILE IMAGE URL public static final String IMAGE_URL = SERVER_URL+"/zomato/images/"; //CONTENT IMAGE URL public static final String VERSION = ":5002/";//"v1/"; public static final String TARGET_URL = SERVER_URL + VERSION; private static RestAdapter getRestAdapter() { RequestInterceptor requestInterceptor = new RequestInterceptor() { @Override public void intercept(RequestFacade request) { request.addHeader(Constant.TAG_TOKEN, Constant.APP_TOKEN); } }; return new RestAdapter.Builder() .setLogLevel(LOG_LEVEL) .setEndpoint(RetroInterface.TARGET_URL) .setRequestInterceptor(requestInterceptor) .setClient(new OkClient(new OkHttpClient())) .build(); } public static ZomatoRestApi getZomatoRestApi() { return getRestAdapter().create(ZomatoRestApi.class); } public interface ZomatoRestApi { @FormUrlEncoded @POST("/loginSocial") public void loginSocial( @FieldMap Map<String, String> params, Callback<UserResponse> cb ); @FormUrlEncoded @POST("/loginNormal") public void loginNormal( @FieldMap Map<String, String> params, Callback<UserResponse> cb ); @FormUrlEncoded @POST("/registerNormal") public void registerNormal( @FieldMap Map<String, String> params, Callback<UserResponse> cb ); @FormUrlEncoded @POST("/getRecommendedRestaurants") public void getRecommendedRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getAllRestaurants") public void getAllRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getRecentRestaurants") public void getRecentRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getCollectionRestaurants") public void getCollectionRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.COLLECTION_ID) String collection_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getSearchRestaurants") public void getSearchRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.DATA) String data, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getRestaurantDetails") public void getRestaurantDetails( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_BRANCH_ID) String id, Callback<RestaurantDetailResponse> cb ); @FormUrlEncoded @POST("/getUserSearch") public void getUserSearch( @Field(Constant.USER_ID) String user_id, @Field(Constant.NAME) String name, Callback<UserListResponse> cb ); @FormUrlEncoded @POST("/getUserSuggestion") public void getUserSuggestion( @Field(Constant.USER_ID) String user_id, Callback<UserListResponse> cb ); @FormUrlEncoded @POST("/getUserFollowers") public void getUserFollowers( @Field(Constant.ID) String _id, @Field(Constant.USER_ID) String user_id, Callback<UserListResponse> cb ); @FormUrlEncoded @POST("/getUserFollowing") public void getUserFollowing( @Field(Constant.ID) String _id, @Field(Constant.USER_ID) String user_id, Callback<UserListResponse> cb ); @FormUrlEncoded @POST("/followUser") public void followUser( @Field(Constant.ID) String _id, @Field(Constant.USER_ID) String user_id, @Field(Constant.STATUS) String status, Callback<NormalResponse> cb ); @FormUrlEncoded @POST("/getNearbyLocation") public void getNearbyLocation( @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<UserLocationResponse> cb ); @FormUrlEncoded @POST("/getSearchLocation") public void getSearchLocation( @Field(Constant.DATA) String data, Callback<UserLocationResponse> cb ); @FormUrlEncoded @POST("/getPopularLocation") public void getPopularLocation( @Field(Constant.DATA) String data, Callback<UserLocationResponse> cb ); @FormUrlEncoded @POST("/addUserAddress") public void addUserAddress( @FieldMap Map<String, String> params, Callback<UserAddressResponse> cb ); @FormUrlEncoded @POST("/getUserAddress") public void getUserAddress( @Field(Constant.USER_ID) String user_id, Callback<UserAddressResponse> cb ); @FormUrlEncoded @POST("/setUserHandle") public void setUserHandle( @Field(Constant.USER_ID) String user_id, @Field(Constant.HANDLE) String handle, Callback<NormalResponse> cb ); @FormUrlEncoded @POST("/setUserLocation") public void setUserLocation( @Field(Constant.USER_ID) String user_id, @Field(Constant.LOCATION_ID) String location_id, Callback<NormalResponse> cb ); @FormUrlEncoded @POST("/setUserDetails") public void setUserDetails( @Field(Constant.USER_ID) String user_id, @Field(Constant.NAME) String name, @Field(Constant.PHONE_NO) String phone_no, @Field(Constant.DESCRIPTION) String description, Callback<NormalResponse> cb ); @FormUrlEncoded @POST("/deleteUserAddress") public void deleteUserAddress( @Field(Constant.ADDRESS_ID) String address_id, Callback<UserAddressResponse> cb ); @FormUrlEncoded @POST("/getAllCuisine") public void getAllCuisine( @Field(Constant.ID) String id, Callback<CuisineResponse> cb ); @FormUrlEncoded @POST("/getAllOffers") public void getAllOffers( @Field(Constant.ID) String id, Callback<OfferResponse> cb ); @FormUrlEncoded @POST("/createCollection") public void createCollection( @FieldMap Map<String, String> params, Callback<NormalResponse> cb ); @FormUrlEncoded @POST("/getRecommendedCollection") public void getRecommendedCollection( @Field(Constant.USER_ID) String id, Callback<CollectionResponse> cb ); @FormUrlEncoded @POST("/getSavedCollection") public void getSavedCollection( @Field(Constant.USER_ID) String id, Callback<CollectionResponse> cb ); @FormUrlEncoded @POST("/getFollowCollection") public void getFollowCollection( @Field(Constant.USER_ID) String id, Callback<CollectionResponse> cb ); @FormUrlEncoded @POST("/getMyCollection") public void getMyCollection( @Field(Constant.USER_ID) String id, Callback<CollectionResponse> cb ); @FormUrlEncoded @POST("/saveCollection") public void saveCollection( @Field(Constant.USER_ID) String user_id, @Field(Constant.COLLECTION_ID) String collection_id, @Field(Constant.STATUS) String status, Callback<SaveResponse> cb ); @FormUrlEncoded @POST("/bookmarkRestaurant") public void bookmarkRestaurant( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_BRANCH_ID) String restaurant_id, @Field(Constant.STATUS) String status, Callback<SaveResponse> cb ); @FormUrlEncoded @POST("/beenthereRestaurant") public void beenthereRestaurant( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_BRANCH_ID) String restaurant_id, @Field(Constant.STATUS) String status, Callback<SaveResponse> cb ); @FormUrlEncoded @POST("/getBeenThereRestaurants") public void getBeenThereRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getBookmarkedRestaurants") public void getBookmarkedRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<RestaurantResponse> cb ); @FormUrlEncoded @POST("/getUserDineline") public void getUserDineline( @Field(Constant.USER_ID) String user_id, Callback<DinelineResponse> cb ); @FormUrlEncoded @POST("/getUserReviews") public void getUserReviews( @Field(Constant.USER_ID) String user_id, Callback<ProfileReviewResponse> cb ); @FormUrlEncoded @POST("/getUserPhotos") public void getUserPhotos( @Field(Constant.USER_ID) String user_id, Callback<RestaurantImageResponse> cb ); @FormUrlEncoded @POST("/getRestaurantPhotos") public void getRestaurantPhotos( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_BRANCH_ID) String restaurant_branch_id, Callback<RestaurantImageResponse> cb ); @FormUrlEncoded @POST("/getRestaurantMenu") public void getRestaurantMenu( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_BRANCH_ID) String restaurant_branch_id, Callback<RestaurantImageResponse> cb ); //TODO new @FormUrlEncoded @POST("/getMealRestaurants") public void getMealRestaurants( @Field(Constant.USER_ID) String user_id, @Field(Constant.LATITUDE) String latitude, @Field(Constant.LONGITUDE) String longitude, Callback<MealDetailResponse> cb ); @FormUrlEncoded @POST("/addRestaurantPhotos") public void addRestaurantPhotos( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_ID) String restaurant_id, @Field(Constant.RESTAURANT_BRANCH_ID) String restaurant_branch_id, @Field(Constant.CONTENT) String content, Callback<MealDetailResponse> cb ); @FormUrlEncoded @POST("/addRestaurantReview") public void addRestaurantReview( @Field(Constant.USER_ID) String user_id, @Field(Constant.RESTAURANT_ID) String restaurant_id, @Field(Constant.RESTAURANT_BRANCH_ID) String restaurant_branch_id, @Field(Constant.RATING) String rating, @Field(Constant.DATA) String data, @Field(Constant.CONTENT) String content, Callback<MealDetailResponse> cb ); @FormUrlEncoded @POST("/getProfileDetails") public void getProfileDetails( @Field(Constant.ID) String _id, @Field(Constant.USER_ID) String user_id, Callback<ProfileDetailResponse> cb ); } //TODO FOR IMAGE private static RestAdapter getImageApiAdapter() { RequestInterceptor requestInterceptor = new RequestInterceptor() { @Override public void intercept(RequestFacade request) { request.addHeader(Constant.TAG_TOKEN, Constant.APP_TOKEN); } }; return new RestAdapter.Builder() .setLogLevel(LOG_LEVEL) .setEndpoint(RetroInterface.TARGET_URL) .setRequestInterceptor(requestInterceptor) .setClient(new OkClient(new OkHttpClient())) .build(); } public static ImageApi getImageApi() { return getImageApiAdapter().create(ImageApi.class); } public interface ImageApi { @FormUrlEncoded @POST("/uploadPhoto") void uploadImageService( @Field(Constant.CONTENT) String content, @Field(Constant.NAME) String name, Callback<NormalResponse> cb); } }