diff --git a/app/src/main/java/com/example/citrusclient/rest/ScheduleRest.java b/app/src/main/java/com/example/citrusclient/rest/ScheduleRest.java index be891fe..bfc32d4 100644 --- a/app/src/main/java/com/example/citrusclient/rest/ScheduleRest.java +++ b/app/src/main/java/com/example/citrusclient/rest/ScheduleRest.java @@ -58,6 +58,17 @@ @Query("token") String token ); + @GET(BASE_URL + "/{year}/{month}") + Call>> getScheduleByMonthAndBookId( + @Path("account_id") String accountId, + @Path("year") int year, + @Path("month") int month, + @Query("book_id") int bookId, + @Query("token") String token + ); + @GET(BASE_URL + "/{year}/{month}/{day}/{schedule_id}") Call getScheduleById( @Path("account_id") String accountId, diff --git a/app/src/main/java/com/example/citrusclient/viewmodels/ScheduleViewModel.java b/app/src/main/java/com/example/citrusclient/viewmodels/ScheduleViewModel.java index 700826f..f793ff9 100644 --- a/app/src/main/java/com/example/citrusclient/viewmodels/ScheduleViewModel.java +++ b/app/src/main/java/com/example/citrusclient/viewmodels/ScheduleViewModel.java @@ -193,6 +193,34 @@ }); } + /** + * アカウントと年と月を指定してschedulesByMonthを更新する + * + * @param accountId アカウントid + * @param year 年 + * @param month 月 + * @param token トークン + * @param bookId ほんのid + */ + public void updateSchedulesByMonthAndBookId(String accountId, int year, int month, String token, int bookId){ + Call>> call = scheduleRest.getScheduleByMonthAndBookId(accountId, year, month, bookId, token); + call.enqueue(new Callback>>() { + @Override + public void onResponse(Call>> call, Response>> response) { + if(response.isSuccessful()){ + schedulesByMonth.setValue(response.body()); + } else { + schedulesByMonth.setValue(new HashMap<>()); + errorLiveData.setValue(response.message()); + } + } + @Override + public void onFailure(Call>> call, Throwable t) { + errorLiveData.setValue(t.getMessage()); + } + }); + } + /** * アカウントと年と月と日を指定してスケジュールを更新する