1
0

get.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package config
  2. import (
  3. "github.com/0xJacky/Nginx-UI/api"
  4. "github.com/0xJacky/Nginx-UI/internal/config"
  5. "github.com/0xJacky/Nginx-UI/internal/nginx"
  6. "github.com/0xJacky/Nginx-UI/query"
  7. "github.com/gin-gonic/gin"
  8. "github.com/sashabaranov/go-openai"
  9. "net/http"
  10. "os"
  11. )
  12. func GetConfig(c *gin.Context) {
  13. name := c.Param("name")
  14. path := nginx.GetConfPath("/", name)
  15. stat, err := os.Stat(path)
  16. if err != nil {
  17. api.ErrHandler(c, err)
  18. return
  19. }
  20. content, err := os.ReadFile(path)
  21. if err != nil {
  22. api.ErrHandler(c, err)
  23. return
  24. }
  25. g := query.ChatGPTLog
  26. chatgpt, err := g.Where(g.Name.Eq(path)).FirstOrCreate()
  27. if err != nil {
  28. api.ErrHandler(c, err)
  29. return
  30. }
  31. if chatgpt.Content == nil {
  32. chatgpt.Content = make([]openai.ChatCompletionMessage, 0)
  33. }
  34. c.JSON(http.StatusOK, config.Config{
  35. Name: name,
  36. Content: string(content),
  37. ChatGPTMessages: chatgpt.Content,
  38. FilePath: path,
  39. ModifiedAt: stat.ModTime(),
  40. })
  41. }