return old transactions

This commit is contained in:
2020-07-31 11:28:27 +06:00
parent 0820c6d691
commit a683dab358
20 changed files with 75 additions and 99 deletions

View File

@@ -1,2 +1 @@
exposed_version=0.23.1
test_sqlite_version=3.28.0

View File

@@ -4,7 +4,6 @@ import com.insanusmokrassar.postssystem.core.post.PostId
import com.insanusmokrassar.postssystem.core.publishing.TriggerControlKey
import com.insanusmokrassar.postssystem.core.publishing.repos.PublishingKeysRepo
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.experimental.newSuspendedTransaction
import org.jetbrains.exposed.sql.transactions.transaction
class ExposedPublishingKeysRepo(
@@ -22,29 +21,31 @@ class ExposedPublishingKeysRepo(
}
}
override suspend fun getPostIdByTriggerControlKey(key: TriggerControlKey): PostId? = newSuspendedTransaction(
override suspend fun getPostIdByTriggerControlKey(key: TriggerControlKey): PostId? = transaction(
db = database
) {
select { triggerControlKeyColumn.eq(key) }.limit(1).firstOrNull() ?.getOrNull(postIdColumn)
}
override suspend fun getTriggerControlKeyByPostId(postId: PostId): TriggerControlKey? = newSuspendedTransaction(
override suspend fun getTriggerControlKeyByPostId(postId: PostId): TriggerControlKey? = transaction(
db = database
) {
select { postIdColumn.eq(postId) }.limit(1).firstOrNull() ?.getOrNull(triggerControlKeyColumn)
}
override suspend fun setPostTriggerControlKey(postId: PostId, key: TriggerControlKey): Boolean = newSuspendedTransaction(
db = database
) {
override suspend fun setPostTriggerControlKey(postId: PostId, key: TriggerControlKey): Boolean {
unsetPostTriggerControlKey(postId)
insert {
it[postIdColumn] = postId
it[triggerControlKeyColumn] = triggerControlKeyColumn
}.getOrNull(postIdColumn) == postId
return transaction(
db = database
) {
insert {
it[postIdColumn] = postId
it[triggerControlKeyColumn] = triggerControlKeyColumn
}.getOrNull(postIdColumn) == postId
}
}
override suspend fun unsetPostTriggerControlKey(postId: PostId): Boolean = newSuspendedTransaction(
override suspend fun unsetPostTriggerControlKey(postId: PostId): Boolean = transaction(
db = database
) {
deleteWhere {