diff --git a/api/streams/streams.go b/api/streams/streams.go index 445a85b1..0eb88a5d 100644 --- a/api/streams/streams.go +++ b/api/streams/streams.go @@ -99,6 +99,18 @@ func GetStream(c *gin.Context) { enabled = false } + 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) + } + s := query.Stream stream, err := s.Where(s.Path.Eq(path)).FirstOrInit() @@ -120,7 +132,7 @@ func GetStream(c *gin.Context) { Enabled: enabled, Name: name, Config: string(origContent), - ChatGPTMessages: stream.ChatGPTMessages, + ChatGPTMessages: chatgpt.Content, }) return } @@ -133,8 +145,6 @@ func GetStream(c *gin.Context) { return } - c.Set("maybe_error", "nginx_config_syntax_error") - c.JSON(http.StatusOK, Stream{ ModifiedAt: file.ModTime(), Advanced: stream.Advanced, @@ -142,7 +152,7 @@ func GetStream(c *gin.Context) { Name: name, Config: nginxConfig.FmtCode(), Tokenized: nginxConfig, - ChatGPTMessages: stream.ChatGPTMessages, + ChatGPTMessages: chatgpt.Content, }) } diff --git a/model/stream.go b/model/stream.go index a8da34e2..51f59f39 100644 --- a/model/stream.go +++ b/model/stream.go @@ -2,7 +2,6 @@ package model type Stream struct { Model - Path string `json:"path"` - Advanced bool `json:"advanced"` - ChatGPTMessages ChatGPTCompletionMessages `json:"chatgpt_messages" gorm:"serializer:json"` + Path string `json:"path"` + Advanced bool `json:"advanced"` } diff --git a/query/streams.gen.go b/query/streams.gen.go index 4a2e0315..5b1d6218 100644 --- a/query/streams.gen.go +++ b/query/streams.gen.go @@ -34,7 +34,6 @@ func newStream(db *gorm.DB, opts ...gen.DOOption) stream { _stream.DeletedAt = field.NewField(tableName, "deleted_at") _stream.Path = field.NewString(tableName, "path") _stream.Advanced = field.NewBool(tableName, "advanced") - _stream.ChatGPTMessages = field.NewField(tableName, "chat_gpt_messages") _stream.fillFieldMap() @@ -44,14 +43,13 @@ func newStream(db *gorm.DB, opts ...gen.DOOption) stream { type stream struct { streamDo - ALL field.Asterisk - ID field.Int - CreatedAt field.Time - UpdatedAt field.Time - DeletedAt field.Field - Path field.String - Advanced field.Bool - ChatGPTMessages field.Field + ALL field.Asterisk + ID field.Int + CreatedAt field.Time + UpdatedAt field.Time + DeletedAt field.Field + Path field.String + Advanced field.Bool fieldMap map[string]field.Expr } @@ -74,7 +72,6 @@ func (s *stream) updateTableName(table string) *stream { s.DeletedAt = field.NewField(table, "deleted_at") s.Path = field.NewString(table, "path") s.Advanced = field.NewBool(table, "advanced") - s.ChatGPTMessages = field.NewField(table, "chat_gpt_messages") s.fillFieldMap() @@ -91,14 +88,13 @@ func (s *stream) GetFieldByName(fieldName string) (field.OrderExpr, bool) { } func (s *stream) fillFieldMap() { - s.fieldMap = make(map[string]field.Expr, 7) + s.fieldMap = make(map[string]field.Expr, 6) s.fieldMap["id"] = s.ID s.fieldMap["created_at"] = s.CreatedAt s.fieldMap["updated_at"] = s.UpdatedAt s.fieldMap["deleted_at"] = s.DeletedAt s.fieldMap["path"] = s.Path s.fieldMap["advanced"] = s.Advanced - s.fieldMap["chat_gpt_messages"] = s.ChatGPTMessages } func (s stream) clone(db *gorm.DB) stream {