diff --git a/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java b/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java index 0f138d9..99802ce 100644 --- a/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java +++ b/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java @@ -3,6 +3,7 @@ import jakarta.ws.rs.*; import jakarta.ws.rs.core.MediaType; import org.ntlab.citrusserver.entities.Book; +import org.ntlab.citrusserver.repositories.AccountManager; import org.ntlab.citrusserver.repositories.BookManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -17,9 +18,12 @@ public class BooksRest { // BookRestはクラス private final BookManager bookManager; + private final AccountManager accountManager; @Autowired // スプリングブートにいうサイン - public BooksRest(BookManager bm){ //public クラス名()がコンストラクタ + public BooksRest(BookManager bm, AccountManager ac){//public クラス名()がコンストラクタ + bookManager = bm; + accountManager = ac; } @@ -30,14 +34,16 @@ @GET @Produces(MediaType.APPLICATION_JSON) public HashMap getBooks(@PathParam("account_id") String account_id, @QueryParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return null; return bookManager.getBooks(account_id, token); } @Path("/{account_id}/books") @POST @Produces(MediaType.APPLICATION_JSON) // intとかstringとかがたくさん返ってくるから、json public voidじゃないときは、返さなあかんから、 @Produces(MediaType.APPLICATION_JSON) これがいる - @Consumes(MediaType.APPLICATION_FORM_URLENCODED) // bodyに入力する値がある時 + @Consumes(MediaType.APPLICATION_FORM_URLENCODED) // postmanのbodyに入力する値がある時 public Book createBook(@PathParam("account_id") String account_id, @FormParam("title") String title, @FormParam("color") String color, @FormParam("publicity") Boolean publicity, @FormParam("token") String token) { + if(!accountManager.checkToken(account_id, token)) return null; return bookManager.createBook(account_id, title, color, publicity, token); } @@ -48,6 +54,7 @@ @GET @Produces(MediaType.APPLICATION_JSON) public Book getBook(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @QueryParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return null; return bookManager.getBook(account_id, book_id, token); } /// 本の削除 @@ -55,6 +62,7 @@ @DELETE @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void deleteTodoById(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @QueryParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return; bookManager.deleteBook(account_id, book_id, token); } @@ -64,6 +72,7 @@ @GET @Produces(MediaType.TEXT_PLAIN) public String getTitle(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @QueryParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return null; return bookManager.getTitle(account_id, book_id, token); } @@ -72,6 +81,7 @@ @PUT @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void putTitle(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @FormParam("title") String title, @FormParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return; bookManager.putTitle(account_id, book_id, title, token); } @@ -81,6 +91,7 @@ @GET @Produces(MediaType.TEXT_PLAIN) public Boolean getPublicity(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @QueryParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return null; return bookManager.getPublicity(account_id, book_id, token); } @@ -89,6 +100,7 @@ @PUT @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void putPublicity(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @FormParam("publicity") Boolean publicity, @FormParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return; bookManager.putPublicity(account_id, book_id, publicity, token); } @@ -98,6 +110,7 @@ @PUT @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void putColor(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @FormParam("color") String color, @FormParam("token") String token){ + if(!accountManager.checkToken(account_id, token)) return; bookManager.putColor(account_id, book_id, color, token); } } \ No newline at end of file