diff --git a/app/src/main/java/com/example/tampopo_client/resources/UserResource.java b/app/src/main/java/com/example/tampopo_client/resources/UserResource.java new file mode 100644 index 0000000..ea08139 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/resources/UserResource.java @@ -0,0 +1,128 @@ +package com.example.tampopo_client.resources; +import com.example.tampopo_client.models.User; +import java.util.List; + +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface UserResource { + + + // 全ユーザ取得 + @GET("users") + Call> getUsers(); + + // 新規アカウントを作る + @FormUrlEncoded + @POST("users") + Call createUser( + @Field("user-id") String userId, + @Field("password") String password + ); + + + // 単一アカウントの情報を返す + @GET("users/{user-id}") + Call getUser(@Path("user-id") String userId); + + // ユーザ削除 + @DELETE("users/{user-id}") + Call deleteUser( + @Path("user-id") String userId, + @Query("token") String token + ); + + + //ログイン + @FormUrlEncoded + @POST("users/{user-id}/login") + Call login( + @Path("user-id") String userId, + @Field("password") String password + ); + + //アカウントのニックネームの取得 + @GET("users/{user-id}/name") + Call getName(@Path("user-id") String userId); + + //ニックネームの変更 + @FormUrlEncoded + @PUT("users/{user-id}/name") + Call updateName( + @Path("user-id") String userId, + @Field("new-name") String newName, + @Field("token") String token + ); + + // 単一アカウントのパスワードの取得 + @GET("users/{user-id}/password") + Call getPassword( + @Path("user-id") String userId, + @Query("token") String token + ); + + //指定されたIDのパスワードを変更する + @FormUrlEncoded + @PUT("users/{user-id}/password") + Call updatePassword( + @Path("user-id") String userId, + @Field("new-password") String newPassword + ); + + //単一アカウントのemailの取得 + @GET("users/{user-id}/email") + Call getEmail(@Path("user-id") String userId); + + //指定されたIDのemailを変更する + @FormUrlEncoded + @PUT("users/{user-id}/email") + Call updateEmail( + @Path("user-id") String userId, + @Field("new-email") String newEmail, + @Field("token") String token + ); + + //指定されたIDのアイコンを返す + @GET("users/{user-id}/icon") + Call getIcon(@Path("user-id") String userId); + + //アイコンを変更する + @FormUrlEncoded + @PUT("users/{user-id}/icon") + Call updateIcon( + @Path("user-id") String userId, + @Field("new-icon") String newIcon, + @Field("token") String token + ); + + + //フレンド相手の情報の取得 + @GET("users/{user-id}/friends") + Call> getFriends( + @Path("user-id") String userId, + @Query("token") String token + ); + + //自分のペアのpid一覧(JSON)の取得 + @GET("users/{user-id}/friends/{pair-id}") + Call getFriendPair( + @Path("user-id") String userId, + @Path("pair-id") int pairId, + @Query("token") String token + ); + + //ペアの削除 + @DELETE("users/{user-id}/friends/{pair-id}") + Call deleteFriendPair( + @Path("user-id") String userId, + @Path("pair-id") int pairId, + @Query("token") String token + ); + +}