diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-05-22 17:36:34 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-05-22 17:36:34 +0300 |
| commit | 769590d77993d8c26bfb9d056cb94d870cf6c745 (patch) | |
| tree | fb876b5b9d7eef99e814ebd9be94de8046334e3c /web/controller | |
| parent | 1fa9101b405ad1ba0127317ea4f8a151048b97ee (diff) | |
[feature] separate subscription service
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/controller')
| -rw-r--r-- | web/controller/setting.go | 45 | ||||
| -rw-r--r-- | web/controller/sub.go | 48 |
2 files changed, 45 insertions, 48 deletions
diff --git a/web/controller/setting.go b/web/controller/setting.go index 226b7975..0292c46a 100644 --- a/web/controller/setting.go +++ b/web/controller/setting.go @@ -85,11 +85,56 @@ func (a *SettingController) getDefaultSettings(c *gin.Context) { jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) return } + tgBotEnable, err := a.settingService.GetTgbotenabled() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subEnable, err := a.settingService.GetSubEnable() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subPort, err := a.settingService.GetSubPort() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subPath, err := a.settingService.GetSubPath() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subDomain, err := a.settingService.GetSubDomain() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subKeyFile, err := a.settingService.GetSubKeyFile() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subCertFile, err := a.settingService.GetSubCertFile() + if err != nil { + jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err) + return + } + subTLS := false + if subKeyFile != "" || subCertFile != "" { + subTLS = true + } result := map[string]interface{}{ "expireDiff": expireDiff, "trafficDiff": trafficDiff, "defaultCert": defaultCert, "defaultKey": defaultKey, + "tgBotEnable": tgBotEnable, + "subEnable": subEnable, + "subPort": subPort, + "subPath": subPath, + "subDomain": subDomain, + "subTLS": subTLS, } jsonObj(c, result, nil) } diff --git a/web/controller/sub.go b/web/controller/sub.go deleted file mode 100644 index 2b218c21..00000000 --- a/web/controller/sub.go +++ /dev/null @@ -1,48 +0,0 @@ -package controller - -import ( - "encoding/base64" - "strings" - "x-ui/web/service" - - "github.com/gin-gonic/gin" -) - -type SUBController struct { - BaseController - - subService service.SubService -} - -func NewSUBController(g *gin.RouterGroup) *SUBController { - a := &SUBController{} - a.initRouter(g) - return a -} - -func (a *SUBController) initRouter(g *gin.RouterGroup) { - g = g.Group("/sub") - - g.GET("/:subid", a.subs) -} - -func (a *SUBController) subs(c *gin.Context) { - subId := c.Param("subid") - host := strings.Split(c.Request.Host, ":")[0] - subs, headers, err := a.subService.GetSubs(subId, host) - if err != nil || len(subs) == 0 { - c.String(400, "Error!") - } else { - result := "" - for _, sub := range subs { - result += sub + "\n" - } - - // Add headers - c.Writer.Header().Set("Subscription-Userinfo", headers[0]) - c.Writer.Header().Set("Profile-Update-Interval", headers[1]) - c.Writer.Header().Set("Profile-Title", headers[2]) - - c.String(200, base64.StdEncoding.EncodeToString([]byte(result))) - } -} |
