diff --git a/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalDAO.kt b/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalDAO.kt index df0e3fa..d600f86 100644 --- a/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalDAO.kt +++ b/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalDAO.kt @@ -15,7 +15,7 @@ internal interface CharacterLocalDAO { fun favoriteList(): Flow> @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun favorite(item: CharacterLocal): Long + suspend fun favorite(item: CharacterLocal): Unit @Query("SELECT id FROM ${CharacterLocal.TABLE_NAME}") fun favoriteIds(): Flow> diff --git a/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalRoomDataSource.kt b/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalRoomDataSource.kt index ebe7b32..af7ce02 100644 --- a/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalRoomDataSource.kt +++ b/data-room/src/main/kotlin/dev/thiagosouto/marvelpoc/data/room/CharacterLocalRoomDataSource.kt @@ -10,15 +10,13 @@ import kotlinx.coroutines.flow.map internal class CharacterLocalRoomDataSource(private val characterDAO: CharacterLocalDAO) : CharacterLocalContract { - override suspend fun favorite(item: Character): Long = + override suspend fun favorite(item: Character): Unit = characterDAO.favorite(item.toCharacterLocal()) override fun favoriteIds(): Flow> = characterDAO.favoriteIds() - override suspend fun unFavorite(item: Character): Long { + override suspend fun unFavorite(item: Character) = characterDAO.unFavorite(item.toCharacterLocal()) - return item.id - } override fun favoritesList(): Flow> = characterDAO.favoriteList().map(::characterAdapter) diff --git a/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/character/CharacterLocalContract.kt b/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/character/CharacterLocalContract.kt index f61b3db..475f5b3 100644 --- a/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/character/CharacterLocalContract.kt +++ b/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/character/CharacterLocalContract.kt @@ -16,7 +16,7 @@ interface CharacterLocalContract { /** * favorite character and returns its id */ - suspend fun favorite(item: T): Long + suspend fun favorite(item: T): Unit /** * return a list of favorite ids @@ -26,5 +26,5 @@ interface CharacterLocalContract { /** * unfavorite character and returns its id */ - suspend fun unFavorite(item: T): Long + suspend fun unFavorite(item: T): Unit } diff --git a/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesService.kt b/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesService.kt index 7c1ae57..ac4f7bf 100644 --- a/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesService.kt +++ b/data/src/commonMain/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesService.kt @@ -24,7 +24,7 @@ internal class DefaultFavoritesService( */ override suspend fun unFavorite( item: Character - ) { + ) : Unit { localDataSource.unFavorite(item) } diff --git a/data/src/commonTest/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesServiceTest.kt b/data/src/commonTest/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesServiceTest.kt index 9c47d18..01c63e1 100644 --- a/data/src/commonTest/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesServiceTest.kt +++ b/data/src/commonTest/kotlin/dev/thiagosouto/marvelpoc/data/services/DefaultFavoritesServiceTest.kt @@ -69,14 +69,12 @@ internal class DefaultFavoritesServiceTest { override fun favoriteIds(): Flow> = flowOf(characters.map { it.id }) - override suspend fun unFavorite(item: Character): Long { + override suspend fun unFavorite(item: Character): Unit { characters.remove(item) - return item.id } - override suspend fun favorite(item: Character): Long { + override suspend fun favorite(item: Character): Unit { characters.add(item) - return item.id } } }