fix: handle inbounds interaction errors (#3009)

eliminates messages like: “Inbound created successfully (Port 100 is already busy)”.
This commit is contained in:
Shishkevich D. 2025-05-16 23:56:56 +07:00 committed by GitHub
parent ef625c75d8
commit c988d55256
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -104,6 +104,10 @@ func (a *InboundController) addInbound(c *gin.Context) {
needRestart := false
inbound, needRestart, err = a.inboundService.AddInbound(inbound)
if err != nil {
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundCreateSuccess"), inbound, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()
@ -118,6 +122,10 @@ func (a *InboundController) delInbound(c *gin.Context) {
}
needRestart := true
needRestart, err = a.inboundService.DelInbound(id)
if err != nil {
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundDeleteSuccess"), id, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()
@ -140,6 +148,10 @@ func (a *InboundController) updateInbound(c *gin.Context) {
}
needRestart := true
inbound, needRestart, err = a.inboundService.UpdateInbound(inbound)
if err != nil {
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), inbound, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()