diff --git a/api/config/get.go b/api/config/get.go index 6d359578..a08f3103 100644 --- a/api/config/get.go +++ b/api/config/get.go @@ -1,51 +1,52 @@ package config import ( - "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/internal/config" - "github.com/0xJacky/Nginx-UI/internal/nginx" - "github.com/0xJacky/Nginx-UI/query" - "github.com/gin-gonic/gin" - "github.com/sashabaranov/go-openai" - "net/http" - "os" + "github.com/0xJacky/Nginx-UI/api" + "github.com/0xJacky/Nginx-UI/internal/config" + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/0xJacky/Nginx-UI/query" + "github.com/gin-gonic/gin" + "github.com/sashabaranov/go-openai" + "net/http" + "os" ) func GetConfig(c *gin.Context) { - name := c.Param("name") - path := nginx.GetConfPath("/", name) + name := c.Param("name") - stat, err := os.Stat(path) + path := nginx.GetConfPath("/", name) - if err != nil { - api.ErrHandler(c, err) - return - } + stat, err := os.Stat(path) - content, err := os.ReadFile(path) + if err != nil { + api.ErrHandler(c, err) + return + } - if err != nil { - api.ErrHandler(c, err) - return - } + content, err := os.ReadFile(path) - g := query.ChatGPTLog - chatgpt, err := g.Where(g.Name.Eq(path)).FirstOrCreate() + if err != nil { + api.ErrHandler(c, err) + return + } - if err != nil { - api.ErrHandler(c, err) - return - } + g := query.ChatGPTLog + chatgpt, err := g.Where(g.Name.Eq(path)).FirstOrCreate() - if chatgpt.Content == nil { - chatgpt.Content = make([]openai.ChatCompletionMessage, 0) - } + if err != nil { + api.ErrHandler(c, err) + return + } - c.JSON(http.StatusOK, config.Config{ - Name: name, - Content: string(content), - ChatGPTMessages: chatgpt.Content, - FilePath: path, - ModifiedAt: stat.ModTime(), - }) + if chatgpt.Content == nil { + chatgpt.Content = make([]openai.ChatCompletionMessage, 0) + } + + c.JSON(http.StatusOK, config.Config{ + Name: name, + Content: string(content), + ChatGPTMessages: chatgpt.Content, + FilePath: path, + ModifiedAt: stat.ModTime(), + }) } diff --git a/api/config/list.go b/api/config/list.go index 56e767ed..b5c8b342 100644 --- a/api/config/list.go +++ b/api/config/list.go @@ -35,7 +35,7 @@ func GetConfigs(c *gin.Context) { } case mode&os.ModeSymlink != 0: // is a symbol var targetPath string - targetPath, err = os.Readlink(nginx.GetConfPath(file.Name())) + targetPath, err = os.Readlink(nginx.GetConfPath(dir, file.Name())) if err != nil { logger.Error("Read Symlink Error", targetPath, err) continue @@ -47,7 +47,7 @@ func GetConfigs(c *gin.Context) { logger.Error("Stat Error", targetPath, err) continue } - // but target file is not a dir + // hide the file if it's target file is a directory if targetInfo.IsDir() { continue } diff --git a/api/config/modify.go b/api/config/modify.go index 70b5a611..b146ccd3 100644 --- a/api/config/modify.go +++ b/api/config/modify.go @@ -1,51 +1,50 @@ package config import ( - "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/internal/nginx" - "github.com/gin-gonic/gin" - "net/http" - "os" + "github.com/0xJacky/Nginx-UI/api" + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/gin-gonic/gin" + "net/http" + "os" ) type EditConfigJson struct { - Content string `json:"content" binding:"required"` + Content string `json:"content" binding:"required"` } func EditConfig(c *gin.Context) { - name := c.Param("name") - var request EditConfigJson - err := c.BindJSON(&request) - if err != nil { - api.ErrHandler(c, err) - return - } - path := nginx.GetConfPath("/", name) - content := request.Content + name := c.Param("name") + var request EditConfigJson + err := c.BindJSON(&request) + if err != nil { + api.ErrHandler(c, err) + return + } + path := nginx.GetConfPath("/", name) + content := request.Content - origContent, err := os.ReadFile(path) - if err != nil { - api.ErrHandler(c, err) - return - } + origContent, err := os.ReadFile(path) + if err != nil { + api.ErrHandler(c, err) + return + } - if content != "" && content != string(origContent) { - // model.CreateBackup(path) - err = os.WriteFile(path, []byte(content), 0644) - if err != nil { - api.ErrHandler(c, err) - return - } - } + if content != "" && content != string(origContent) { + err = os.WriteFile(path, []byte(content), 0644) + if err != nil { + api.ErrHandler(c, err) + return + } + } - output := nginx.Reload() + output := nginx.Reload() - if nginx.GetLogLevel(output) >= nginx.Warn { - c.JSON(http.StatusInternalServerError, gin.H{ - "message": output, - }) - return - } + if nginx.GetLogLevel(output) >= nginx.Warn { + c.JSON(http.StatusInternalServerError, gin.H{ + "message": output, + }) + return + } - GetConfig(c) + GetConfig(c) }