Skip to content

Commit

Permalink
[feat] #4 repository
Browse files Browse the repository at this point in the history
  • Loading branch information
Sangwook123 committed Apr 13, 2024
1 parent fe0f8fc commit 22ed3a7
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
17 changes: 17 additions & 0 deletions core/data/src/main/java/org/sopt/data/di/DataModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.sopt.data.di

import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import org.sopt.data.repository.FriendRepository
import org.sopt.domain.repo.SoptRepository
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
abstract class DataModule {
@Singleton
@Binds
abstract fun bindsFriendRepo(soptRepository: FriendRepository): SoptRepository
}
11 changes: 11 additions & 0 deletions core/data/src/main/java/org/sopt/data/model/Friend.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package org.sopt.data.model

import org.sopt.database.entity.SoptEntity
import org.sopt.model.Friend

fun SoptEntity.toFriend() =
Friend(
this.id,
this.name,
this.hobby,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package org.sopt.data.repository

import kotlinx.coroutines.flow.map
import org.sopt.data.model.toFriend
import org.sopt.database.SoptDao
import org.sopt.database.entity.SoptEntity
import org.sopt.domain.repo.SoptRepository
import org.sopt.model.Friend
import javax.inject.Inject

class FriendRepository @Inject constructor(
private val soptDao: SoptDao
): SoptRepository {
override fun getAll() = soptDao.getAll()
.map{ it.map(SoptEntity::toFriend) }

override fun getContainInput(input: String) = soptDao.getContainInput(input)
.map { it.map(SoptEntity::toFriend) }

override suspend fun addFriend(friend: Friend) = soptDao.addFriend(
SoptEntity(
id = friend.id,
name = friend.name,
hobby = friend.hobby,
)
)

override suspend fun deleteFriendById(id: Int) = soptDao.deleteFriendById(id)

override suspend fun deleteAll() = soptDao.deleteAll()
}

0 comments on commit 22ed3a7

Please sign in to comment.