19ffc80130
Маршруты, операциями которых продукт не владеет, отвечали заглушкой "managed by orchestrator" или пустым списком: POST /hysteria2ChangeVersion GET /listRelease POST /config/updateHysteria2Config POST /config/importHysteria2Config POST /config/restartServer POST /config/uploadCertFile GET /config/hysteria2AcmePath (не имел потребителя вовсе) Они удалены, а не оставлены заглушками. Причины две. API-контракт не должен обещать updater, которого у продукта принципиально нет: маршрут, всегда возвращающий отказ, вводит в заблуждение. И это лишняя attack surface плюс технический мусор от прежней архитектуры. Вместе с маршрутами убраны мёртвые сервисы (StartHysteria2, StopHysteria2, RestartHysteria2, SetHysteria2Config, UpdateHysteria2Config, GetAuthHttpUrl, Hysteria2AcmePath), неиспользуемые типы и клиентские функции фронтенда. Отдельно - кнопки. "Перезапустить панель" и загрузка сертификатов обращались к заглушкам, то есть гарантированно возвращали ошибку. Кнопка, которая всегда падает, - не точка расширения на будущее, а дефект UX. Удалены вместе со строками i18n. Конфигурация Hysteria остаётся доступной панели на чтение и на выгрузку: getHysteria2Config и exportHysteria2Config.
33 lines
513 B
Go
33 lines
513 B
Go
package vo
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
)
|
|
|
|
type hysteria2Result struct {
|
|
Ok bool `json:"ok"`
|
|
Id string `json:"id"`
|
|
}
|
|
|
|
func Hysteria2AuthSuccess(id string, c *gin.Context) {
|
|
c.JSON(http.StatusOK, hysteria2Result{
|
|
Ok: true,
|
|
Id: id,
|
|
})
|
|
}
|
|
|
|
func Hysteria2AuthFail(id string, c *gin.Context) {
|
|
c.JSON(http.StatusOK, hysteria2Result{
|
|
Ok: false,
|
|
Id: id,
|
|
})
|
|
}
|
|
|
|
func Hysteria2AuthBadRequest(c *gin.Context) {
|
|
c.JSON(http.StatusBadRequest, hysteria2Result{
|
|
Ok: false,
|
|
Id: "",
|
|
})
|
|
}
|