override suspend fun addIfAbsent()

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
            }
        }
    }