From b62591813851eed24cefa230137b16e8e4821e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Fri, 5 Jul 2024 11:37:30 +0900 Subject: [PATCH] =?UTF-8?q?=E5=9E=8B=E4=BF=AE=E6=AD=A3,=20API=E3=83=AA?= =?UTF-8?q?=E3=82=AF=E3=82=A8=E3=82=B9=E3=83=88=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/ChildData.java | 2 +- .../nem/kidshift/data/impl/ChildDataImpl.java | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/ChildData.java b/data/src/main/java/one/nem/kidshift/data/ChildData.java index 75460be..bbbaa86 100644 --- a/data/src/main/java/one/nem/kidshift/data/ChildData.java +++ b/data/src/main/java/one/nem/kidshift/data/ChildData.java @@ -31,7 +31,7 @@ public interface ChildData { * 子ユーザー追加 * @param child 子ユーザー情報 */ - void addChild(ChildModel child); + CompletableFuture addChild(ChildModel child); /** * 子ユーザー削除 diff --git a/data/src/main/java/one/nem/kidshift/data/impl/ChildDataImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/ChildDataImpl.java index da43f6c..1e7d047 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/ChildDataImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/ChildDataImpl.java @@ -10,6 +10,8 @@ import one.nem.kidshift.data.ChildData; import one.nem.kidshift.data.KSActions; import one.nem.kidshift.data.retrofit.KidShiftApiService; import one.nem.kidshift.data.retrofit.model.child.ChildLoginCodeResponse; +import one.nem.kidshift.data.retrofit.model.child.ChildResponse; +import one.nem.kidshift.data.retrofit.model.converter.ChildModelConverter; import one.nem.kidshift.data.room.utils.CacheWrapper; import one.nem.kidshift.model.ChildModel; import one.nem.kidshift.model.callback.ChildModelCallback; @@ -92,8 +94,22 @@ public class ChildDataImpl implements ChildData { } @Override - public void addChild(ChildModel child) { - + public CompletableFuture addChild(ChildModel child) { + return CompletableFuture.supplyAsync(() -> { + Call call = kidShiftApiService.addChild(ChildModelConverter.childModelToChildAddRequest(child)); + try { + Response response = call.execute(); + if (response.isSuccessful()) { + assert response.body() != null; + logger.info("子供追加成功(childId: " + response.body().getId() + ")"); + return ChildModelConverter.childResponseToChildModel(response.body()); + } else { + throw new RuntimeException("HTTP Status: " + response.code()); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + }); } @Override