override suspend fun create()

in src/main/kotlin/org/jetbrains/slackUnfurls/storage/postgres/Interface.kt [90:126]


        override suspend fun create(
            teamId: String,
            domain: String,
            spaceOrgId: String,
            accessToken: ByteArray,
            refreshToken: ByteArray,
            iconUrl: String?,
            name: String,
        ) {
            tx {
                val teamExists = SlackTeams.select { SlackTeams.id eq teamId }.forUpdate().any()
                if (teamExists) {
                    SlackTeams.update(
                        where = { SlackTeams.id eq teamId },
                        body = {
                            it[this.accessToken] = ExposedBlob(accessToken)
                            it[this.refreshToken] = ExposedBlob(refreshToken)
                        }
                    )
                } else {
                    SlackTeams.insert {
                        it[this.id] = teamId
                        it[this.domain] = domain
                        it[this.created] = LocalDateTime.now()
                        it[this.accessToken] = ExposedBlob(accessToken)
                        it[this.refreshToken] = ExposedBlob(refreshToken)
                        it[this.iconUrl] = iconUrl
                        it[this.name] = name
                    }
                }

                Slack2Space.insertIgnore {
                    it[this.slackTeamId] = teamId
                    it[this.spaceOrgId] = spaceOrgId
                }
            }
        }