1 Commits

Author SHA1 Message Date
hubert cb76a3253d Use mapstruct 2020-10-21 22:55:36 +02:00
4 changed files with 9 additions and 9 deletions
@@ -15,7 +15,6 @@ import me.liuwj.ktorm.database.Database
import org.koin.dsl.bind
import org.koin.dsl.module
import org.koin.dsl.onClose
import org.mapstruct.factory.Mappers
import javax.sql.DataSource
private fun hikariDataSource(conf: DataSourceConfig): HikariDataSource {
@@ -8,9 +8,10 @@ import org.mapstruct.Mapper
@Mapper(uses = [UserEntityFactory::class])
internal interface UserConverter {
fun convertToUser(userEntity: UserEntity): User
fun convertToPersistedUser(userEntity: UserEntity): PersistedUser
fun convertToEntity(user: User): UserEntity
fun toUser(userEntity: UserEntity): User
fun toPersistedUser(userEntity: UserEntity): PersistedUser
fun toEntity(user: User): UserEntity
fun toEntity(user: PersistedUser): UserEntity
}
internal class UserEntityFactory : Entity.Factory<UserEntity>()
@@ -24,10 +24,10 @@ internal class UserRepositoryImpl(private val db: Database, private val converte
}
override fun find(username: String) = db.users.find { it.username eq username }
?.let { converter.convertToPersistedUser(it) }
?.let { converter.toPersistedUser(it) }
override fun find(id: Int) = db.users.find { it.id eq id }?.let {
converter.convertToPersistedUser(it)
converter.toPersistedUser(it)
}
override fun exists(username: String) = db.users.any { it.username eq username }
@@ -18,7 +18,7 @@ internal class UserConverterTest {
}.apply {
this["id"] = 2
}
val user = converter.convertToUser(entity)
val user = converter.toUser(entity)
assertThat(user).isEqualTo(User("test", "test2"))
}
@@ -31,7 +31,7 @@ internal class UserConverterTest {
}.apply {
this["id"] = 2
}
val user = converter.convertToPersistedUser(entity)
val user = converter.toPersistedUser(entity)
assertThat(user).isEqualTo(PersistedUser("test", "test2", 2))
}
@@ -39,7 +39,7 @@ internal class UserConverterTest {
fun `convert User to UserEntity`() {
val converter = Mappers.getMapper(UserConverter::class.java)
val user = User("test", "test2")
val entity = converter.convertToEntity(user)
val entity = converter.toEntity(user)
assertThat(entity)
.hasFieldOrPropertyWithValue("username", "test")