fun updateOneHook()

in src/main/kotlin/org/jetbrains/teamcity/github/action/ActionContext.kt [81:102]


    fun updateOneHook(server: String, repo: RepositoryId, rh: RepositoryHook): WebHookInfo? {
        val hooks = storage.getHooks(server, repo).toMutableList()
        var result: WebHookInfo? = null
        if (!hooks.any { it.isSame(rh) }) {
            return addHook(rh)
        } else {
            storage.update(server, repo) {
                if (it.isSame(rh)) {
                    if (!rh.isActive) {
                        it.status = Status.DISABLED
                    } else {
                        // TODO: Should update status?
                        if (it.status in listOf(Status.MISSING, Status.DISABLED)) {
                            it.status = Status.WAITING_FOR_SERVER_RESPONSE
                        }
                    }
                    result = it
                }
            }
        }
        return result
    }