diff --git a/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java b/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java index a3064fd..72237aa 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/AccountPostsRest.java @@ -1,27 +1,60 @@ package org.ntlab.nemophila.resources.accounts; +import org.ntlab.nemophila.models.accounts.Account; +import org.ntlab.nemophila.models.accounts.AccountManager; +import org.ntlab.nemophila.models.accounts.Post; import org.springframework.stereotype.Component; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; +import java.util.Collection; @Component @Path("/accounts") public class AccountPostsRest { + @POST @Path("/{uid}/posts") @Produces(MediaType.APPLICATION_JSON) public String postAccountPosts(@PathParam("uid") String uid, @FormParam("token") String token, @FormParam("genre") String genre, @FormParam("image1") String img1, @FormParam("image2") String img2, @FormParam("image3") String img3, - @FormParam("rate") int rate, @FormParam("comment") String comme, @FormParam("sid") String sid){ - return null; + @FormParam("rate") int rate, @FormParam("comment") String comme, @FormParam("sid") String sid) { + // アカウントインスタンスを生成 + AccountManager am = AccountManager.getInstance(); + Account account = am.getAccount(uid); + + /* + (アカウントインスタンスが) + 存在する場合:投稿を新規作成し、その投稿IDを返す + 存在しない場合:何も返さない + */ + if (account != null) { + Post post = account.createPost(rate, genre, comme, img1, img2, img3, sid); + return post.getId(); + } else { + return null; + } } @GET @Path("/{uid}/posts") @Produces(MediaType.APPLICATION_JSON) - public String getAccountPosts(@PathParam("uid") String uid){ - return null; + public Collection getAccountPosts(@PathParam("uid") String uid) { + + // アカウントインスタンスを生成 + AccountManager am = AccountManager.getInstance(); + Account account = am.getAccount(uid); + + /* + (アカウントインスタンスが) + 存在する場合:全投稿の情報を取得し、それらを返す + 存在しない場合:何も返さない + */ + if (account != null) { + return account.getPosts(); + } else { + return null; + } } }