diff --git a/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java b/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java index b25a3cd..ba0980a 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java @@ -20,14 +20,16 @@ //本の一覧を返す public HashMap getBooks(String accountId, String token) { - if(!accountManager.checkToken(accountId, token)) return null; //tokenが違う時に返す + if(!accountManager.checkToken(accountId, token)) return null; //tokenが違う時 + if(accountManager.getAccount(accountId) == null) return null; //アカウントが存在しない return booksMap.get(accountId); } //本の新規作成 - public int createBook(String accountId, String title, String color, Boolean publicity, String token) + public Book createBook(String accountId, String title, String color, Boolean publicity, String token) { - if(!accountManager.checkToken(accountId, token)) return 0; //tokenが違う時に返す + if(!accountManager.checkToken(accountId, token)) return null; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return null; //アカウントが存在しない if(!booksMap.containsKey(accountId)){ booksMap.put(accountId, new HashMap<>()); } @@ -35,13 +37,14 @@ int newBookId = account.getNewBookId(); //新たに生成されたIdを取得(作成数もここで加算している) Book book = new Book(newBookId, title, publicity, color); //本の初期化 booksMap.get(accountId).put(newBookId, book); //ブックに追加 - return newBookId; + return booksMap.get(accountId).get(newBookId); //(int->Bookを返すように変更した) } //本の情報を取得 public Book getBook(String accountId, Integer bookId, String token) { if(!accountManager.checkToken(accountId, token)) return null; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return null; //アカウントが存在しない return booksMap.get(accountId).get(bookId); } @@ -49,6 +52,7 @@ public void deleteBook(String accountId, Integer bookId, String token) { if(!accountManager.checkToken(accountId, token)) return; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return; //アカウントが存在しない booksMap.get(accountId).remove(bookId); } @@ -58,6 +62,7 @@ public String getTitle(String accountId, Integer bookId, String token) { if(!accountManager.checkToken(accountId, token)) return null; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return null; //アカウントが存在しない return booksMap.get(accountId).get(bookId).getTitle(); } @@ -65,6 +70,7 @@ public void putTitle(String accountId, Integer bookId, String title, String token) { if(!accountManager.checkToken(accountId, token)) return; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return; //アカウントが存在しない booksMap.get(accountId).get(bookId).setTitle(title); } @@ -72,6 +78,7 @@ public Boolean getPublicity(String accountId, Integer bookId, String token) { if(!accountManager.checkToken(accountId, token)) return null; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return null; //アカウントが存在しない return booksMap.get(accountId).get(bookId).getPublicity(); } @@ -79,6 +86,7 @@ public void putPublicity(String accountId, Integer bookId, Boolean publicity, String token) { if(!accountManager.checkToken(accountId, token)) return; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return; //アカウントが存在しない booksMap.get(accountId).get(bookId).setPublicity(publicity); } @@ -88,6 +96,7 @@ public void putColor(String accountId, Integer bookId, String color, String token) { if(!accountManager.checkToken(accountId, token)) return; //tokenが違う時に返す + if(accountManager.getAccount(accountId) == null) return; //アカウントが存在しない booksMap.get(accountId).get(bookId).setColor(color); } }