override suspend fun save()

in space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SpaceAppInstancesStorageImpl.kt [15:29]


    override suspend fun save(spaceAppInstance: SpaceAppInstance) {
        tx {
            val domain = Url(spaceAppInstance.spaceServer.serverUrl).host
            DB.SpaceAppInstance.deleteWhere {
                (DB.SpaceAppInstance.clientId eq spaceAppInstance.clientId) or (DB.SpaceAppInstance.domain eq domain)
            }
            DB.SpaceAppInstance.insert {
                it[created] = LocalDateTime.now()
                it[clientId] = spaceAppInstance.clientId
                it[clientSecret] = ExposedBlob(spaceAppInstance.clientSecret.encrypted())
                it[orgUrl] = spaceAppInstance.spaceServer.serverUrl
                it[DB.SpaceAppInstance.domain] = domain
            }
        }
    }