diff --git a/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java b/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java index aa74eeb..a72b159 100644 --- a/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/shops/ShopPostsRest.java @@ -21,7 +21,7 @@ public ArrayList getPosts(@PathParam("sid") String sid) { ShopManager sm = ShopManager.getInstance(); Shop shop = sm.getShop(sid); - + //入力したsidに対する投稿が存在すれば、投稿情報を取得する if (shop != null) { return shop.getPosts(); } @@ -33,19 +33,20 @@ @Path("{sid}/posts/{uid}/{pid}") public void putPost(@PathParam("sid") String sid, @PathParam("uid") String uid, - @PathParam("pid") String pid, - @FormParam("token") String token){ + @PathParam("pid") String pid){ ShopManager sm = ShopManager.getInstance(); Shop shop = sm.getShop(sid); AccountManager am = AccountManager.getInstance(); Account ac = am.getAccount(uid); + //店舗ごとの投稿を追加する shop.addPost(ac.getPost(pid)); + } @DELETE @Path("{sid}/posts/{uid}/{pid}") - public String deletePost(@PathParam("sid") String sid, + public void deletePost(@PathParam("sid") String sid, @PathParam("uid") String uid, @PathParam("pid") String pid, @FormParam("token") String token){ @@ -54,14 +55,23 @@ AccountManager am = AccountManager.getInstance(); Account ac = am.getAccount(uid); - shop.deletePost(ac.getPost(pid)); - - if (!shop.getPosts().isEmpty()){ - var response = Response.status(Response.Status.NO_CONTENT); - response.status(409).entity("投稿が存在しています。"); - throw new WebApplicationException(response.build()); + //tokenを認証して削除またはエラーを返す + if (ac.getToken().equals(token)) { + //ピンを削除する + shop.deletePost(ac.getPost(pid)); + /* + 投稿がある場合、エラーコード:409を返す + 投稿がない場合、店舗情報を削除する + */ + if (!shop.getPosts().isEmpty()) { + var response = Response.status(Response.Status.NO_CONTENT); + response.status(409).entity("投稿が存在しています。"); + throw new WebApplicationException(response.build()); + } else { + sm.removeShop(sid); + } + } else { + System.out.println("Error : Miss match token"); } - - return null; } } \ No newline at end of file