waltermcq
04/19/2020, 1:34 AMwaltermcq
04/19/2020, 1:35 AMwaltermcq
04/19/2020, 1:39 AMoverride suspend fun newUser(id: String, name: String): UserAgg {
return dbQuery {
val userRow = UserTable.insert {
it[this.id] = id
it[this.name] = name
}.resultedValues!!.first()
getUserById(UserId(userRow[UserTable.id]))!!
}
}
waltermcq
04/19/2020, 1:39 AMsuspend fun <T> dbQuery(
block: () -> T): T =
withContext(<http://Dispatchers.IO|Dispatchers.IO>) {
transaction { block() }
}
waltermcq
04/19/2020, 1:41 AMwaltermcq
04/19/2020, 1:41 AMwaltermcq
04/19/2020, 1:42 AMtjohnn
04/19/2020, 6:50 AMtjohnn
04/19/2020, 6:52 AMMagno Junior
04/19/2020, 7:40 AMsuspend fun <T> dbQuery(
block: suspend () -> T): T =
withContext(<http://Dispatchers.IO|Dispatchers.IO>) {
transaction { block() }
}
but I am not sure all these functions has to be suspend 🤔waltermcq
04/19/2020, 12:30 PMwaltermcq
04/19/2020, 12:31 PMtjohnn
04/19/2020, 12:48 PMtjohnn
04/19/2020, 12:51 PMtjohnn
04/19/2020, 12:54 PMwaltermcq
04/19/2020, 3:24 PMwaltermcq
04/19/2020, 3:26 PMblock: () -> T): T =
to
block: suspend () -> T): T =
then the block() inside the transaction{} now requires a coroutine bodySourabh Rawat
04/22/2020, 6:34 AMrunBlocking
?