diff --git a/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java b/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java index ed57da3..22ee382 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java @@ -27,25 +27,24 @@ /** - * * アカウントと本を指定してそれに所属するtodoをすべて返す * * @param accountId アカウントのid * @param bookId 本のid - * @return そのアカウントの本に所属するtodoをすべて返します + * @return そのアカウントの本に所属するtodoをすべて返します
+ * { + * year:{ + * month:{ + * day:{ + * todo_id: Todo + * } + * } + * } + * } */ - public HashMap getAllTodos(String accountId, int bookId){ - HashMap result = new HashMap<>(); - for(var yearValues : todos.get(accountId).get(bookId).values()){ - for(var monthValues : yearValues.values()){ - for(var dayValues : monthValues.values()){ - for(int todoId : dayValues.keySet()){ - result.put(todoId, dayValues.get(todoId)); - } - } - } - } - return result; + public HashMap>>> + getAllTodos(String accountId, int bookId, String token){ + return todos.get(accountId).get(bookId); } /** @@ -57,7 +56,7 @@ * @param month 月 * @return そのアカウントの本に所属するtodoのうち、指定した年月のtodoを返します */ - public HashMap getTodosByMonth(String accountId, int bookId, int year, int month){ + public HashMap getTodosByMonth(String accountId, int bookId, int year, int month, String token){ HashMap result = new HashMap<>(); var yearMonthMap = todos.get(accountId).get(bookId).get(year).get(month); for(var dayValues : yearMonthMap.values()){ @@ -76,11 +75,11 @@ * @param yearMonth 年月を-で区切った文字列(yyyy-mm) * @return そのアカウントの本に所属するtodoのうち、指定した年月のtodoを返します */ - public HashMap getTodosByMonth(String accountId, int bookId, String yearMonth){ + public HashMap getTodosByMonth(String accountId, int bookId, String yearMonth, String token){ String[] yearMonths = yearMonth.split("-"); int year = Integer.parseInt(yearMonths[0]); int month = Integer.parseInt(yearMonths[1]); - return getTodosByMonth(accountId, bookId, year, month); + return getTodosByMonth(accountId, bookId, year, month, token); } /** @@ -93,7 +92,7 @@ * @param day 日 * @return そのアカウントの本に所属するtodoのうち、指定した年月日のtodoを返します */ - public HashMap getTodosByDay(String accountId, int bookId, int year, int month, int day){ + public HashMap getTodosByDay(String accountId, int bookId, int year, int month, int day, String token){ return todos.get(accountId).get(bookId).get(year).get(month).get(day); } @@ -105,12 +104,12 @@ * @param yearMonthDay 年月日を-で区切った文字列(yyyy-mm-dd) * @return そのアカウントの本に所属するtodoのうち、指定した年月日のtodoを返します */ - public HashMap getTodosByDay(String accountId, int bookId, String yearMonthDay){ + public HashMap getTodosByDay(String accountId, int bookId, String yearMonthDay, String token){ String[] yearMonthDays = yearMonthDay.split("-"); int year = Integer.parseInt(yearMonthDays[0]); int month = Integer.parseInt(yearMonthDays[1]); int day = Integer.parseInt(yearMonthDays[2]); - return getTodosByDay(accountId, bookId, year, month, day); + return getTodosByDay(accountId, bookId, year, month, day, token); } @@ -125,11 +124,12 @@ * @param todoId todoのid * @return idを指定してtodoを返す */ - public Todo getTodoById(String accountId, int bookId, int year, int month, int day, int todoId){ + public Todo getTodoById(String accountId, int bookId, int year, int month, int day, int todoId, String token){ return todos.get(accountId).get(bookId).get(year).get(month).get(day).get(todoId); } /** + *todo_idを指定してtodoを返す * * @param accountId アカウントのid * @param bookId 本のid @@ -137,12 +137,12 @@ * @param todoId todoのid * @return 指定したtodo */ - public Todo getTodoById(String accountId, int bookId, String yearMonthDay, int todoId){ + public Todo getTodoById(String accountId, int bookId, String yearMonthDay, int todoId, String token){ String[] yearMonthDays = yearMonthDay.split("-"); int year = Integer.parseInt(yearMonthDays[0]); int month = Integer.parseInt(yearMonthDays[1]); int day = Integer.parseInt(yearMonthDays[2]); - return getTodoById(accountId, bookId, year, month, day, todoId); + return getTodoById(accountId, bookId, year, month, day, todoId, token); } /** @@ -156,7 +156,7 @@ * @param title 追加するべきtodoのタイトル * @return 新しいtodoのid */ - public int addTodo(String accountId, int bookId, int year, int month, int day, String title){ + public int createTodo(String accountId, int bookId, int year, int month, int day, String title, String token){ if(!todos.containsKey(accountId)){ todos.put(accountId, new HashMap<>()); } @@ -185,6 +185,7 @@ } /** + *todoを追加する * * @param accountId アカウントのid * @param bookId 本のid @@ -192,12 +193,12 @@ * @param title 追加したいtodoのタイトル * @return 新しいtodoのid */ - public int addTodo(String accountId, int bookId, String yearMonthDay, String title){ + public int createTodo(String accountId, int bookId, String yearMonthDay, String title, String token){ String[] yearMonthDays = yearMonthDay.split("-"); int year = Integer.parseInt(yearMonthDays[0]); int month = Integer.parseInt(yearMonthDays[1]); int day = Integer.parseInt(yearMonthDays[2]); - return addTodo(accountId, bookId, year, month, day, title); + return createTodo(accountId, bookId, year, month, day, title, token); } /** @@ -207,23 +208,24 @@ * @param bookId 本のid * @param todoId 削除したいtodoのid */ - public void deleteTodoById(String accountId, int bookId, int year, int month, int day, int todoId){ + public void deleteTodoById(String accountId, int bookId, int year, int month, int day, int todoId, String token){ todos.get(accountId).get(bookId).get(year).get(month).get(day).remove(todoId); } /** + *idを指定してtodoを削除 * * @param accountId アカウントのid * @param bookId 本のid * @param yearMonthDay 年月日を-で区切った文字列(yyyy-mm-dd) * @param todoId 削除したいtodoのid */ - public void deleteTodoById(String accountId, int bookId, String yearMonthDay, int todoId){ + public void deleteTodoById(String accountId, int bookId, String yearMonthDay, int todoId, String token){ String[] yearMonthDays = yearMonthDay.split("-"); int year = Integer.parseInt(yearMonthDays[0]); int month = Integer.parseInt(yearMonthDays[1]); int day = Integer.parseInt(yearMonthDays[2]); - deleteTodoById(accountId, bookId, year, month, day, todoId); + deleteTodoById(accountId, bookId, year, month, day, todoId, token); } /** @@ -234,11 +236,12 @@ * @param todoId 変更したいtodoのid * @param check 変更後の達成状態 */ - public void setCheck(String accountId, int bookId, int year, int month, int day, int todoId, boolean check){ + public void setCheck(String accountId, int bookId, int year, int month, int day, int todoId, boolean check, String token){ todos.get(accountId).get(bookId).get(year).get(month).get(day).get(todoId).setCheck(check); } /** + *todo_idを指定してtodoの達成状態を変更 * * @param accountId アカウントのid * @param bookId 本のid @@ -246,11 +249,11 @@ * @param todoId 変更したいtodoのid * @param check 変更後の達成状態 */ - public void setCheck(String accountId, int bookId, String yearMonthDay, int todoId, boolean check){ + public void setCheck(String accountId, int bookId, String yearMonthDay, int todoId, boolean check, String token){ String[] yearMonthDays = yearMonthDay.split("-"); int year = Integer.parseInt(yearMonthDays[0]); int month = Integer.parseInt(yearMonthDays[1]); int day = Integer.parseInt(yearMonthDays[2]); - setCheck(accountId, bookId, year, month, day, todoId, check); + setCheck(accountId, bookId, year, month, day, todoId, check, token); } }