Skip to content

Instantly share code, notes, and snippets.

@esafirm
Last active February 9, 2016 15:26
Show Gist options
  • Save esafirm/0888735795939505a522 to your computer and use it in GitHub Desktop.
Save esafirm/0888735795939505a522 to your computer and use it in GitHub Desktop.
What's better than documentation? A sample code ..
package com.satulingkaran.obeng.http;
import com.satulingkaran.obeng.data.model.Area;
import com.satulingkaran.obeng.data.model.BaseResponse;
import com.satulingkaran.obeng.data.model.Bengkel;
import com.satulingkaran.obeng.data.model.Category;
import com.satulingkaran.obeng.data.model.EditResponse;
import com.satulingkaran.obeng.data.model.JenisUsaha;
import com.satulingkaran.obeng.data.model.User;
import com.satulingkaran.obeng.data.model.UserReview;
import java.util.List;
import retrofit.http.GET;
import retrofit.http.Multipart;
import retrofit.http.POST;
import retrofit.http.Part;
import retrofit.http.Query;
import rx.Observable;
/**
* Created by esa on 04/08/15, with awesomeness
*/
public interface ApiService {
/* --------------------------------------------------- */
/* > Account
/* --------------------------------------------------- */
@GET("/svc_api.php?type=login")
Observable<User>
login(@Query(value = "username", encodeValue = false) String username,
@Query(value = "password", encodeValue = false) String password);
@GET("/svc_api.php?type=loginPemilik")
Observable<List<Bengkel>>
loginOwner(@Query(value = "email", encodeValue = false) String username,
@Query(value = "password", encodeValue = false) String password);
@Multipart
@POST("/svc_api.php?type=registerUser")
Observable<User>
register(@Part("username") String username,
@Part("password") String password,
@Part("nama_lengkap") String nama,
@Part("email") String email,
@Part("telp") String telp);
@Multipart
@POST("/svc_api.php?type=registerUserLogin")
Observable<User>
registerLogin(@Part("username") String username,
@Part("password") String password,
@Part("nama_lengkap") String nama,
@Part("email") String email,
@Part("telp") String telp);
/* --------------------------------------------------- */
/* > Profile
/* --------------------------------------------------- */
@GET("/svc_api.php?type=getUserBookmark")
Observable<List<Bengkel>>
getUserBookmars(@Query("id_user") String idUser);
@GET("/svc_api.php?type=getUserProfile")
Observable<User>
getUserProfile(@Query("id_user") String idUser);
@GET("/svc_api.php?type=getUserReview")
Observable<List<UserReview>>
getUserReviews(@Query("id_user") String idUser);
@GET("/svc_api.php?type=getBengkelReview")
Observable<List<UserReview>>
getBengkelReviews(@Query("id_bengkel") String idBengkel);
@GET("/svc_api.php?type=getUserBengkel")
Observable<List<Bengkel>>
getUserBengkel(@Query("id_user") String idUser);
@GET("/svc_api.php?type=getBengkelOwnedByUser")
Observable<List<Bengkel>>
getBengkelOwnedByUser(@Query("id_user") String idUser);
@Multipart
@POST("/svc_api.php?type=resetPassword")
Observable<BaseResponse>
resetPassword(@Part("email") String email);
// id_user, email, nama_lengkap, telp, img_user, motor, merk_motor, mobil, merk_mobil, password(jika ingin ganti password)
@Multipart
@POST("/svc_api.php?type=editUserProfile")
Observable<BaseResponse>
editUserProfile(@Part("id_user") String idUser,
@Part("email") String email,
@Part("nama_lengkap") String namaLengkap,
@Part("telp") String telp,
@Part("img_user") String imgUser,
@Part("motor") String motor,
@Part("merk_motor") String merkMotor,
@Part("mobil") String mobile,
@Part("merk_mobil") String merkMobil,
@Part("password") String password);
/* --------------------------------------------------- */
/* > Bengkel
/* --------------------------------------------------- */
@GET("/svc_api.php?type=getArea")
Observable<List<Area>> getArea();
@GET("/svc_api.php?type=getJenisUsaha")
Observable<List<JenisUsaha>> getJenisUsaha();
@GET("/svc_api.php?type=getKategori")
Observable<List<Category>> getCategory();
@GET("/svc_api.php?type=getKategori")
Observable<List<Category>>
getCategory(@Query("id_jenis_usaha") String idJenisUsaha);
@GET("/svc_api.php?type=getBengkel")
Observable<List<Bengkel>>
getBengkel(@Query("id_jenis_usaha") String idUsaha,
@Query("id_area") String idArea,
@Query("id_user") String idUser,
@Query("id_kategori") String idKategori);
@GET("/svc_api.php?type=getBengkel")
Observable<List<Bengkel>>
getAllBengkel(@Query("id_user") String idUser);
@GET("/svc_api.php?type=searchBengkelNear")
Observable<List<Bengkel>>
getNearbyBengkel(@Query(value = "lat", encodeValue = false) String lat,
@Query(value = "lng", encodeValue = false) String lng,
@Query(value = "id_jenis_usaha") String idUsaha,
@Query(value = "id_kategori") String idcategory,
@Query("id_user") String idUser);
@GET("/svc_api.php?type=getTop10Bengkel")
Observable<List<Bengkel>>
getTopTenBengkel(@Query("id_user") String idUser,
@Query(value = "lat", encodeValue = false) String lat,
@Query(value = "lng", encodeValue = false) String lng,
@Query("id_kategori") String idCategory);
@Multipart
@POST("/svc_api.php?type=rateBengkel")
Observable<BaseResponse>
rateBengkel(@Part("id_bengkel") String idBengkel,
@Part("id_user") String idUser,
@Part("rate_review") String rateReview,
@Part("comment") String comment);
@Multipart
@POST("/svc_api.php?type=bookmarkBengkel")
Observable<BaseResponse>
bookmarkBengkel(@Part("id_user") String idUser,
@Part("id_bengkel") String idBengkel,
@Part("deskripsi") String description);
@Multipart
@POST("/svc_api.php?type=unbookmarkBengkel")
Observable<BaseResponse>
unbookmarkBengkel(@Part("id_user") String idUser,
@Part("id_bengkel") String idBengkel);
// id_user, nama_bengkel, nama_pemilik,email, telp, alamat, lat, lng,
// jenis_usaha(ID), kategori(ID), image_file, website, keterangan, password
@Multipart
@POST("/svc_api.php")
Observable<EditResponse>
registerBengkel(@Part("type") String type,
@Part("id_bengkel") String idBengkel,
@Part("id_user") String idUser,
@Part("nama_bengkel") String bengkelName,
@Part("nama_pemilik") String ownerName,
@Part("email") String email,
@Part("telp") String telp,
@Part("alamat") String alamat,
@Part("lat") String lat,
@Part("lng") String lng,
@Part("jenis_usaha") String jenisUsaha,
@Part("kategori") String category,
@Part("image_file") String imageFile,
@Part("website") String website,
@Part("keterangan") String description,
@Part("password") String password,
@Part("hari_buka") String hariBuka,
@Part("jam_buka") String jamBuka,
@Part("jam_tutup") String jamTututp);
@Multipart
@POST("/svc_api.php?type=userCheckin")
Observable<BaseResponse>
checkInBengkel(@Part("id_user") String idUser,
@Part("id_bengkel") String idBengkel);
@GET("/svc_api.php?type=searchBengkel")
Observable<List<Bengkel>> searchBengkel(@Query("id_user") String idUser,
@Query("search") String query);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment