diff --git a/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java b/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java index 22ee382..38d8fa5 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java @@ -56,15 +56,8 @@ * @param month 月 * @return そのアカウントの本に所属するtodoのうち、指定した年月のtodoを返します */ - 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()){ - for(int todoId : dayValues.keySet()){ - result.put(todoId, dayValues.get(todoId)); - } - } - return result; + public HashMap> getTodosByMonth(String accountId, int bookId, int year, int month, String token){ + return todos.get(accountId).get(bookId).get(year).get(month); } /** @@ -75,7 +68,7 @@ * @param yearMonth 年月を-で区切った文字列(yyyy-mm) * @return そのアカウントの本に所属するtodoのうち、指定した年月のtodoを返します */ - public HashMap getTodosByMonth(String accountId, int bookId, String yearMonth, String token){ + 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]); diff --git a/src/main/java/org/ntlab/citrusserver/resources/TodoRest.java b/src/main/java/org/ntlab/citrusserver/resources/TodoRest.java index 5990081..ffea96d 100644 --- a/src/main/java/org/ntlab/citrusserver/resources/TodoRest.java +++ b/src/main/java/org/ntlab/citrusserver/resources/TodoRest.java @@ -45,7 +45,7 @@ @Path("/accounts/{account_id}/books/{book_id}/todos/{year}/{month}") @GET @Produces(MediaType.APPLICATION_JSON) - public HashMap getTodoMonth(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @PathParam("year") Integer year, @PathParam("month") Integer month, @QueryParam("token") String token) { + public HashMap> getTodoMonth(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @PathParam("year") Integer year, @PathParam("month") Integer month, @QueryParam("token") String token) { return todoManager.getTodosByMonth(account_id, book_id, year, month,token); } @@ -81,13 +81,18 @@ @PUT @Path("/accounts/{account_id}/books/{book_id}/todos/{year}/{month}/{day}/{todo_id}/check") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) - public void putTodo(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @PathParam("year") Integer year, @PathParam("month") Integer month, @PathParam("day") Integer day,@PathParam("todo_id") Integer todo_id, @FormParam("check") boolean check, @QueryParam("token") String token){ + public void setCheck(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @PathParam("year") Integer year, @PathParam("month") Integer month, @PathParam("day") Integer day,@PathParam("todo_id") Integer todo_id, @FormParam("check") boolean check, @QueryParam("token") String token){ todoManager.setCheck(account_id, book_id, year, month, day, todo_id,check,token); } //delete追加必要 - - + //本のtodoを年月日とtodo_idを指定してそのtodoを削除する + @DELETE + @Path("/accounts/{account_id}/books/{book_id}/todos/{year}/{month}/{day}/{todo_id}") + @Consumes(MediaType.APPLICATION_FORM_URLENCODED) + public void deleteTodoById(@PathParam("account_id") String account_id, @PathParam("book_id") Integer book_id, @PathParam("year") Integer year, @PathParam("month") Integer month, @PathParam("day") Integer day, @PathParam("todo_id") Integer todo_id, @QueryParam("token") String token){ + todoManager.deleteTodoById(account_id, book_id, year, month, day, todo_id,token); + }