79 lines
2.2 KiB
Java
79 lines
2.2 KiB
Java
package it.unisannio.ding.ids.wedroid.wrapper.api;
|
|
|
|
import it.unisannio.ding.ids.wedroid.wrapper.entity.Action;
|
|
import it.unisannio.ding.ids.wedroid.wrapper.entity.Board;
|
|
import it.unisannio.ding.ids.wedroid.wrapper.entity.User;
|
|
import java.util.List;
|
|
import retrofit2.Call;
|
|
import retrofit2.http.Body;
|
|
import retrofit2.http.DELETE;
|
|
import retrofit2.http.Field;
|
|
import retrofit2.http.FormUrlEncoded;
|
|
import retrofit2.http.GET;
|
|
import retrofit2.http.Headers;
|
|
import retrofit2.http.POST;
|
|
import retrofit2.http.Path;
|
|
|
|
public interface UserService {
|
|
|
|
/**
|
|
* Get all users.
|
|
*
|
|
* @return the list with all users
|
|
*/
|
|
@GET("api/users")
|
|
Call<List<User>> getAllUser();
|
|
|
|
/**
|
|
* Get user information
|
|
*
|
|
* @param userId ID user
|
|
* @return user information
|
|
*/
|
|
@GET("api/users/{user}")
|
|
Call<User> getUser(@Path("user") String userId);
|
|
|
|
/**
|
|
* Get current User
|
|
* @return the current user
|
|
*/
|
|
@GET("api/user")
|
|
Call<User> getCurrentUser();
|
|
|
|
|
|
/**
|
|
* Delete user
|
|
* @param userId
|
|
* @return
|
|
*/
|
|
@DELETE("api/users/{user}")
|
|
Call<User> delete(@Path("user") String userId);
|
|
|
|
|
|
/******************** Don't work ****************************************************/
|
|
|
|
@FormUrlEncoded
|
|
@POST("api/users")
|
|
@Headers("Content-Type: multipart/form-data")
|
|
Call<User> newUser(@Field("username") String username,
|
|
@Field("email") String email,
|
|
@Field("password") String password
|
|
);
|
|
|
|
|
|
|
|
@FormUrlEncoded
|
|
@Headers("Content-Type: multipart/form-data")
|
|
@POST("/api/boards/{board}/members/{user}/add")
|
|
Call<Board> addMemberToBoard(@Path("board") String boardId, @Path("user") String userId,
|
|
@Field("action") String action,
|
|
@Field("isAdmin") boolean b1,
|
|
@Field("isNoComments") boolean b2,
|
|
@Field("isCommentOnly") boolean b3);
|
|
|
|
@POST("api/boards/{board}/members/{user}/remove")
|
|
Call<Void> removeUserFromBoard(@Path("board") String boardId, @Path("user") String userId,
|
|
@Body Action action);
|
|
|
|
}
|