From 5ded6d36214eba0c2d380b3e058d5c9445d417e9 Mon Sep 17 00:00:00 2001 From: rca Date: Wed, 3 Jul 2024 23:24:29 +0900 Subject: [PATCH] =?UTF-8?q?=E6=88=BB=E3=82=8A=E5=80=A4=E5=9E=8B=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3,=20=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/one/nem/kidshift/data/TaskData.java | 2 +- .../nem/kidshift/data/impl/TaskDataImpl.java | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/TaskData.java b/data/src/main/java/one/nem/kidshift/data/TaskData.java index 3cfd635..dba98fb 100644 --- a/data/src/main/java/one/nem/kidshift/data/TaskData.java +++ b/data/src/main/java/one/nem/kidshift/data/TaskData.java @@ -27,7 +27,7 @@ public interface TaskData { * タスクを追加する * @param task タスク */ - void addTask(TaskItemModel task); + CompletableFuture addTask(TaskItemModel task); /** * タスクを削除する diff --git a/data/src/main/java/one/nem/kidshift/data/impl/TaskDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/TaskDataImpl.java index 8f1dbf5..0acdf89 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/TaskDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/TaskDataImpl.java @@ -92,8 +92,22 @@ public class TaskDataImpl implements TaskData { } @Override - public void addTask(TaskItemModel task) { - + public CompletableFuture addTask(TaskItemModel task) { + return CompletableFuture.supplyAsync(() -> { + Call call = kidShiftApiService.addTask(TaskModelConverter.taskItemModelToTaskAddRequest(task)); + try { + Response response = call.execute(); + if (response.isSuccessful()) { + logger.info("タスク追加成功(taskId: " + response.body().getId() + ")"); + return TaskModelConverter.taskResponseToTaskItemModel(response.body()); + } else { + logger.error("タスク追加失敗: HTTP Status: " + response.code()); + throw new RuntimeException("HTTP Status: " + response.code()); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + }); } @Override