From 4e0aca16c22be4d6feb842bca8dc94141c2db775 Mon Sep 17 00:00:00 2001 From: mhsanaei Date: Tue, 3 Dec 2024 23:01:32 +0100 Subject: [PATCH] [warp] report error in change license Co-Authored-By: Alireza Ahmadi --- web/service/warp.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/web/service/warp.go b/web/service/warp.go index a691d3c1..5b710f4a 100644 --- a/web/service/warp.go +++ b/web/service/warp.go @@ -8,6 +8,7 @@ import ( "os" "time" "x-ui/logger" + "x-ui/util/common" ) type WarpService struct { @@ -150,13 +151,23 @@ func (s *WarpService) SetWarpLicense(license string) (string, error) { return "", err } + var response map[string]interface{} + err = json.Unmarshal(buffer.Bytes(), &response) + if err != nil { + return "", err + } + if response["success"] == false { + errorArr, _ := response["errors"].([]interface{}) + errorObj := errorArr[0].(map[string]interface{}) + return "", common.NewError(errorObj["code"], errorObj["message"]) + } + warpData["license_key"] = license newWarpData, err := json.MarshalIndent(warpData, "", " ") if err != nil { return "", err } s.SettingService.SetWarp(string(newWarpData)) - println(string(newWarpData)) return string(newWarpData), nil }