diff --git a/data/src/main/java/one/nem/kidshift/data/room/utils/CacheWrapper.java b/data/src/main/java/one/nem/kidshift/data/room/utils/CacheWrapper.java index ef587fb..0110f08 100644 --- a/data/src/main/java/one/nem/kidshift/data/room/utils/CacheWrapper.java +++ b/data/src/main/java/one/nem/kidshift/data/room/utils/CacheWrapper.java @@ -9,13 +9,17 @@ import javax.inject.Inject; import dagger.Module; import dagger.hilt.InstallIn; import dagger.hilt.components.SingletonComponent; +import one.nem.kidshift.data.retrofit.model.converter.HistoryModelConverter; import one.nem.kidshift.data.room.KidShiftDatabase; import one.nem.kidshift.data.room.entity.ChildCacheEntity; import one.nem.kidshift.data.room.entity.TaskCacheEntity; import one.nem.kidshift.data.room.entity.TaskChildLinkageEntity; +import one.nem.kidshift.data.room.model.HistoryWithTask; import one.nem.kidshift.data.room.utils.converter.ChildCacheConverter; +import one.nem.kidshift.data.room.utils.converter.HistoryCacheConverter; import one.nem.kidshift.data.room.utils.converter.TaskCacheConverter; import one.nem.kidshift.model.ChildModel; +import one.nem.kidshift.model.HistoryModel; import one.nem.kidshift.model.tasks.TaskItemModel; import one.nem.kidshift.utils.KSLogger; import one.nem.kidshift.utils.factory.KSLoggerFactory; @@ -65,6 +69,12 @@ public class CacheWrapper { }); } + public CompletableFuture updateHistoryCache(List historyList) { + return CompletableFuture.runAsync(() -> { + kidShiftDatabase.historyCacheDao().insertHistoryList(HistoryCacheConverter.historyModelListToHistoryCacheEntityList(historyList)); + }); + } + /** * 子供リストをDBに挿入する * @param childList 子供リスト @@ -109,5 +119,12 @@ public class CacheWrapper { }); } + public CompletableFuture> getHistoryList(String childId) { + return CompletableFuture.supplyAsync(() -> { + List result = kidShiftDatabase.historyCacheDao().getHistoryWithTasksByChildId(childId); + return HistoryCacheConverter.historyWithTaskListToHistoryModelList(result); + }); + } + }