12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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"
- )
- func GetConfig(c *gin.Context) {
- name := c.Param("name")
- path := nginx.GetConfPath("/", name)
- stat, err := os.Stat(path)
- if err != nil {
- api.ErrHandler(c, err)
- return
- }
- content, err := os.ReadFile(path)
- if err != nil {
- api.ErrHandler(c, err)
- return
- }
- g := query.ChatGPTLog
- chatgpt, err := g.Where(g.Name.Eq(path)).FirstOrCreate()
- if err != nil {
- api.ErrHandler(c, err)
- return
- }
- if chatgpt.Content == nil {
- chatgpt.Content = make([]openai.ChatCompletionMessage, 0)
- }
- c.JSON(http.StatusOK, config.Config{
- Name: stat.Name(),
- Content: string(content),
- ChatGPTMessages: chatgpt.Content,
- FilePath: path,
- ModifiedAt: stat.ModTime(),
- })
- }
|