+++ /dev/null
-package adullact.publicrowdfunding.model.server.entities;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import retrofit.http.Body;
-import retrofit.http.DELETE;
-import retrofit.http.Field;
-import retrofit.http.FormUrlEncoded;
-import retrofit.http.GET;
-import retrofit.http.POST;
-import retrofit.http.PUT;
-import retrofit.http.Path;
-import retrofit.http.QueryMap;
-import rx.Observable;
-
-/**
- * @author Ferrand and Nelaupe
- */
-public interface Service {
- // Check
- @GET("/authentication/")
- Observable<SimpleServerResponse> authenticate();
- @FormUrlEncoded
- @POST("/registration/")
- Observable<ServerRegistrationResponse> register(@Field("username") String username, @Field("password") String password, @Field("pseudo") String pseudo);
-
- // Accounts
- @GET("/account/{name}")
- Observable<ServerAccount> detailAccount(@Path("name") String name);
- @GET("/account/")
- Observable<ArrayList<ServerAccount>> listAccount(@QueryMap Map<String, String> filter);
- @POST("/account/")
- Observable<RowAffected> createAccount(@Body ServerAccount serverAccount);
- @PUT("/account/{name}")
- Observable<SimpleServerResponse> modifyAccount(@Body ServerAccount serverAccount, @Path("name") String name);
- @DELETE("/account/{name}")
- Observable<SimpleServerResponse> deleteAccount(@Path("name") String name);
-
- // Users
- @GET("/user/{username}")
- Observable<DetailedServerUser> detailUser(@Path("username") String username);
- @GET("/user/")
- Observable<ArrayList<ServerUser>> listUsers(@QueryMap Map<String, String> filter);
- @POST("/user/")
- Observable<RowAffected> createUser(@Body ServerUser serverUser);
- @PUT("/user/{username}")
- Observable<SimpleServerResponse> modifyUser(@Body ServerUser serverUser, @Path("username") String username);
- @DELETE("/user/{username}")
- Observable<SimpleServerResponse> deleteUser(@Path("username") String username);
-
- // Projects
- @GET("/project/{projectID}")
- Observable<DetailedServerProject> detailProject(@Path("projectID") String projectID);
- @GET("/project/")
- Observable<ArrayList<ServerProject>> listProjects(@QueryMap Map<String, String> filter);
- @POST("/project/")
- Observable<RowAffected> createProject(@Body ServerProject serverProject);
- @PUT("/project/{projectID}")
- Observable<SimpleServerResponse> modifyProject(@Path("projectID") String projectID, @Body ServerProject serverProject);
- @DELETE("/project/{projectID}")
- Observable<SimpleServerResponse> deleteProject(@Path("projectID") String projectID);
-
- // Funding
- @GET("/funding/{id}")
- Observable<ServerFunding> detailFunding(@Path("id") String id);
- @GET("/funding/")
- Observable<ArrayList<ServerFunding>> listFunding(@QueryMap Map<String, String> filter);
- @POST("/funding/")
- Observable<RowAffected> createFunding(@Body ServerFunding serverFunding);
- @PUT("/funding/{id}")
- Observable<SimpleServerResponse> modifyFunding(@Path("id") String id, @Body ServerFunding serverFunding);
- @DELETE("/funding/{id}")
- Observable<SimpleServerResponse> deleteFunding(@Path("id") String id);
-
- // Commentaries
- @GET("/commentary/")
- Observable<ArrayList<ServerCommentary>> listCommentaries(@QueryMap Map<String, String> filter);
- @GET("/commentary/{id}")
- Observable<ServerCommentary> detailCommentary(@Path("id") String id);
- @POST("/commentary/")
- Observable<RowAffected> createCommentary(@Body ServerCommentary serverCommentary);
- @PUT("/commentary/{commentaryID}")
- Observable<SimpleServerResponse> modifyCommentary(@Path("commentaryID") String commentaryID, @Body ServerCommentary serverCommentary);
- @DELETE("/commentary/{commentaryID}")
- Observable<SimpleServerResponse> deleteCommentary(@Path("commentaryID") String commentaryID);
-
- // Bookmarks
- @GET("/bookmark/")
- Observable<ArrayList<ServerBookmark>> listBookmarks(@QueryMap Map<String, String> filter);
- @GET("/bookmark/{id}")
- Observable<ServerBookmark> detailBookmark(@Path("id") String id);
- @POST("/bookmark/")
- Observable<RowAffected> createBookmark(@Body ServerBookmark serverBookmark);
- @PUT("/bookmark/{id}")
- Observable<SimpleServerResponse> modifyBookmark(@Path("id") String id, @Body ServerBookmark serverBookmark);
- @DELETE("/bookmark/{id}")
- Observable<SimpleServerResponse> deleteBookmark(@Path("id") String id);
-}