in space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt [63:82]
override suspend fun addIfAbsent(
spaceAppClientId: String,
spaceChannelId: String,
slackTeamId: String,
slackChannelId: String
) {
// TODO: do it in a single transaction, set isolation level = repeated read in Postgres
if (getBySlackChannel(slackTeamId, slackChannelId) != null) {
return
}
tx {
DB.SyncedChannels.insertIgnore {
it[DB.SyncedChannels.slackTeamId] = slackTeamId
it[DB.SyncedChannels.slackChannelId] = slackChannelId
it[DB.SyncedChannels.spaceAppClientId] = spaceAppClientId
it[DB.SyncedChannels.spaceChannelId] = spaceChannelId
}
}
}