Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlireza Ahmadi <alireza7@gmail.com>2023-12-04 21:20:46 +0300
committerAlireza Ahmadi <alireza7@gmail.com>2023-12-04 21:20:46 +0300
commit2a8da2ba3cbfbf7ac46e5ba7ba071588f3f2d8b5 (patch)
treee1afd8fc1521abb72bc74256c4540ad1fcce8f51 /web/controller/xraySetting.go
parenta8b7063647c055988f3768a35af59ca391928b9b (diff)
separate xray page #1286
Diffstat (limited to 'web/controller/xraySetting.go')
-rw-r--r--web/controller/xraySetting.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/web/controller/xraySetting.go b/web/controller/xraySetting.go
new file mode 100644
index 00000000..d244d030
--- /dev/null
+++ b/web/controller/xraySetting.go
@@ -0,0 +1,50 @@
+package controller
+
+import (
+ "x-ui/web/service"
+
+ "github.com/gin-gonic/gin"
+)
+
+type XraySettingController struct {
+ XraySettingService service.XraySettingService
+ SettingService service.SettingService
+}
+
+func NewXraySettingController(g *gin.RouterGroup) *XraySettingController {
+ a := &XraySettingController{}
+ a.initRouter(g)
+ return a
+}
+
+func (a *XraySettingController) initRouter(g *gin.RouterGroup) {
+ g = g.Group("/xray")
+
+ g.POST("/", a.getXraySetting)
+ g.POST("/update", a.updateSetting)
+ g.GET("/getDefaultJsonConfig", a.getDefaultXrayConfig)
+}
+
+func (a *XraySettingController) getXraySetting(c *gin.Context) {
+ xraySetting, err := a.SettingService.GetXrayConfigTemplate()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ jsonObj(c, xraySetting, nil)
+}
+
+func (a *XraySettingController) updateSetting(c *gin.Context) {
+ xraySetting := c.PostForm("xraySetting")
+ err := a.XraySettingService.SaveXraySetting(xraySetting)
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifySettings"), err)
+}
+
+func (a *XraySettingController) getDefaultXrayConfig(c *gin.Context) {
+ defaultJsonConfig, err := a.SettingService.GetDefaultXrayConfig()
+ if err != nil {
+ jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getSettings"), err)
+ return
+ }
+ jsonObj(c, defaultJsonConfig, nil)
+}