Skip to content

Commit

Permalink
Merge branch 'release/v2.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
gunnzhao committed Aug 22, 2023
2 parents 09732b3 + 7c3ac63 commit 300853e
Show file tree
Hide file tree
Showing 119 changed files with 4,102 additions and 562 deletions.
52 changes: 43 additions & 9 deletions backend/app/api/ai.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ import (
)

type AICreateCollectionStructure struct {
ParentID uint `json:"parent_id" binding:"gte=0"` // 父级id
Title string `json:"title" binding:"required,lte=255"` // 名称
SchemaID uint `json:"schema_id" binding:"gte=0"` // 模型id
Path string `json:"path" binding:"lte=255"` // 请求路径
Method string `json:"method" binding:"lte=255"` // 请求方法
ParentID uint `json:"parent_id" binding:"gte=0"` // 父级id
Title string `json:"title" binding:"required,lte=255"` // 名称
SchemaID uint `json:"schema_id" binding:"gte=0"` // 模型id
Path string `json:"path" binding:"lte=255"` // 请求路径
Method string `json:"method" binding:"lte=255"` // 请求方法
IterationID string `json:"iteration_id" binding:"omitempty,gte=0"` // 迭代id
}

type AICreateSchemaStructure struct {
Expand Down Expand Up @@ -60,6 +61,16 @@ func AICreateCollection(ctx *gin.Context) {

lang := util.GetUserLanguage(ctx)

if data.IterationID != "" {
_, err := models.NewIterations(data.IterationID)
if err != nil {
ctx.JSON(http.StatusBadRequest, gin.H{
"message": translator.Trasnlate(ctx, &translator.TT{ID: "AI.CollectionCreateFail"}),
})
return
}
}

if data.SchemaID > 0 {
schema, err = models.NewDefinitionSchemas(data.SchemaID)
if err != nil {
Expand All @@ -70,7 +81,7 @@ func AICreateCollection(ctx *gin.Context) {
return
}

o := openai.NewOpenAI(config.SysConfig.OpenAI.Key, lang)
o := openai.NewOpenAI(config.SysConfig.OpenAI, lang)
o.SetMaxTokens(3000)
openapiContent, err = o.CreateApiBySchema(data.Title, data.Path, data.Method, schema.Schema)
if err != nil || openapiContent == "" {
Expand All @@ -81,7 +92,7 @@ func AICreateCollection(ctx *gin.Context) {
return
}
} else {
o := openai.NewOpenAI(config.SysConfig.OpenAI.Key, lang)
o := openai.NewOpenAI(config.SysConfig.OpenAI, lang)
o.SetMaxTokens(2000)
openapiContent, err = o.CreateApi(data.Title)
if err != nil || openapiContent == "" {
Expand Down Expand Up @@ -126,6 +137,29 @@ func AICreateCollection(ctx *gin.Context) {
return
}

if data.IterationID != "" {
for _, v := range records {
iteration, err := models.NewIterations(data.IterationID)
if err != nil {
ctx.JSON(http.StatusBadRequest, gin.H{
"message": translator.Trasnlate(ctx, &translator.TT{ID: "AI.CollectionCreateFail"}),
})
return
}

ia, _ := models.NewIterationApis()
ia.IterationID = iteration.ID
ia.CollectionID = v.ID
ia.CollectionType = v.Type
if err := ia.Create(); err != nil {
ctx.JSON(http.StatusBadRequest, gin.H{
"message": translator.Trasnlate(ctx, &translator.TT{ID: "AI.CollectionCreateFail"}),
})
return
}
}
}

ctx.JSON(http.StatusCreated, gin.H{
"id": records[0].ID,
"parent_id": records[0].ParentId,
Expand Down Expand Up @@ -174,7 +208,7 @@ func AICreateSchema(ctx *gin.Context) {
}

lang := util.GetUserLanguage(ctx)
o := openai.NewOpenAI(config.SysConfig.OpenAI.Key, lang)
o := openai.NewOpenAI(config.SysConfig.OpenAI, lang)
o.SetMaxTokens(2000)
openapiContent, err = o.CreateSchema(data.Name)
if err != nil || openapiContent == "" {
Expand Down Expand Up @@ -268,7 +302,7 @@ func AICreateApiNames(ctx *gin.Context) {
}

lang := util.GetUserLanguage(ctx)
o := openai.NewOpenAI(config.SysConfig.OpenAI.Key, lang)
o := openai.NewOpenAI(config.SysConfig.OpenAI, lang)
openapiContent, err = o.ListApiBySchema(schema.Name)
if err != nil || openapiContent == "" {
slog.DebugCtx(ctx, "ListApiBySchema Failed", slog.String("err", err.Error()), slog.String("openapiContent", openapiContent))
Expand Down
Loading

0 comments on commit 300853e

Please sign in to comment.