diff --git a/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java b/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java index b3a1fa5..3a0fcc5 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java @@ -29,12 +29,9 @@ */ private final HashMap nextTodoId = new HashMap<>(); - private final AccountManager accountManager; - private final BookManager bookManager; - public TodoManager(AccountManager accountManager, BookManager bookManager) { - this.accountManager = accountManager; + public TodoManager(BookManager bookManager) { this.bookManager = bookManager; } @@ -56,7 +53,7 @@ */ public HashMap>>> getAllTodos(String accountId, int bookId, String token){ - if(!accountManager.checkToken(accountId, token)){ + if(!todos.containsKey(accountId)){ return null; } return todos.get(accountId).get(bookId); @@ -72,15 +69,14 @@ * @return そのアカウントの本に所属するtodoのうち、指定した年月のtodoを返します */ public HashMap> getTodosByMonth(String accountId, int bookId, int year, int month, String token){ - if(!accountManager.checkToken(accountId, token)){ + if(!todos.containsKey(accountId)){ return null; } - if(!todos.get(accountId).get(bookId).containsKey(year)){ - return new HashMap>(); + return null; } if(!todos.get(accountId).get(bookId).get(year).containsKey(month)){ - return new HashMap>(); + return null; } return todos.get(accountId).get(bookId).get(year).get(month); } @@ -112,15 +108,12 @@ */ public HashMap getTodosByDay(String accountId, int bookId, int year, int month, int day, String token){ if(!todos.get(accountId).get(bookId).containsKey(year)){ - return new HashMap(); + return null; } if(!todos.get(accountId).get(bookId).get(year).containsKey(month)){ - return new HashMap(); + return null; } if(!todos.get(accountId).get(bookId).get(year).get(month).containsKey(day)){ - return new HashMap(); - } - if(!accountManager.checkToken(accountId, token)){ return null; } return todos.get(accountId).get(bookId).get(year).get(month).get(day); @@ -155,7 +148,19 @@ * @return idを指定してtodoを返す */ public Todo getTodoById(String accountId, int bookId, int year, int month, int day, int todoId, String token){ - if(!accountManager.checkToken(accountId, token)){ + if(!todos.containsKey(accountId)){ + return null; + } + if(!todos.get(accountId).containsKey(bookId)){ + return null; + } + if(!todos.get(accountId).get(bookId).containsKey(year)){ + return null; + } + if(!todos.get(accountId).get(bookId).get(year).containsKey(month)){ + return null; + } + if(!todos.get(accountId).get(bookId).get(year).get(month).containsKey(day)){ return null; } return todos.get(accountId).get(bookId).get(year).get(month).get(day).get(todoId); @@ -190,10 +195,7 @@ * @return 新しいtodoのid */ public Todo createTodo(String accountId, int bookId, int year, int month, int day, String title, String token){ - if(!accountManager.checkToken(accountId, token)){ - return null; - } - if(!bookManager.getBooks(accountId, token).containsKey(bookId)){ + if(bookManager.getBooks(accountId, token) == null){ return null; } if(!todos.containsKey(accountId)){ @@ -248,29 +250,27 @@ * @param bookId 本のid * @param todoId 削除したいtodoのid */ - public void deleteTodoById(String accountId, int bookId, int year, int month, int day, int todoId, String token){ - if(!accountManager.checkToken(accountId, token)){ - return; - } + public int deleteTodoById(String accountId, int bookId, int year, int month, int day, int todoId, String token){ if(!todos.containsKey(accountId)){ - return; + return -1; } if(!todos.get(accountId).containsKey(bookId)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).containsKey(year)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).get(year).containsKey(month)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).get(year).get(month).containsKey(day)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).get(year).get(month).get(day).containsKey(todoId)){ - return; + return -1; } todos.get(accountId).get(bookId).get(year).get(month).get(day).remove(todoId); + return 1; } /** @@ -297,32 +297,27 @@ * @param todoId 変更したいtodoのid * @param check 変更後の達成状態 */ - public void setCheck(String accountId, int bookId, int year, int month, int day, int todoId, boolean check, String token){ - if(!accountManager.checkToken(accountId, token)){ - return; - } - if(!accountManager.checkToken(accountId, token)){ - return; - } + public int setCheck(String accountId, int bookId, int year, int month, int day, int todoId, boolean check, String token){ if(!todos.containsKey(accountId)){ - return; + return -1; } if(!todos.get(accountId).containsKey(bookId)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).containsKey(year)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).get(year).containsKey(month)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).get(year).get(month).containsKey(day)){ - return; + return -1; } if(!todos.get(accountId).get(bookId).get(year).get(month).get(day).containsKey(todoId)){ - return; + return -1; } todos.get(accountId).get(bookId).get(year).get(month).get(day).get(todoId).setCheck(check); + return 1; } /**