mirror of
https://github.com/Tencent/WeKnora.git
synced 2025-11-25 11:29:31 +08:00
feat: 新增 URL 重复错误类型及 409 冲突处理
This commit is contained in:
@@ -74,6 +74,9 @@ type UpdateImageInfoRequest struct {
|
|||||||
// ErrDuplicateFile is returned when attempting to create a knowledge entry with a file that already exists
|
// ErrDuplicateFile is returned when attempting to create a knowledge entry with a file that already exists
|
||||||
var ErrDuplicateFile = errors.New("file already exists")
|
var ErrDuplicateFile = errors.New("file already exists")
|
||||||
|
|
||||||
|
// ErrDuplicateURL is returned when attempting to create a knowledge entry with a URL that already exists
|
||||||
|
var ErrDuplicateURL = errors.New("URL already exists")
|
||||||
|
|
||||||
// CreateKnowledgeFromFile creates a knowledge entry from a local file path
|
// CreateKnowledgeFromFile creates a knowledge entry from a local file path
|
||||||
func (c *Client) CreateKnowledgeFromFile(ctx context.Context,
|
func (c *Client) CreateKnowledgeFromFile(ctx context.Context,
|
||||||
knowledgeBaseID string, filePath string, metadata map[string]string, enableMultimodel *bool,
|
knowledgeBaseID string, filePath string, metadata map[string]string, enableMultimodel *bool,
|
||||||
@@ -186,7 +189,12 @@ func (c *Client) CreateKnowledgeFromURL(ctx context.Context, knowledgeBaseID str
|
|||||||
}
|
}
|
||||||
|
|
||||||
var response KnowledgeResponse
|
var response KnowledgeResponse
|
||||||
if err := parseResponse(resp, &response); err != nil {
|
if resp.StatusCode == http.StatusConflict {
|
||||||
|
if err := json.NewDecoder(resp.Body).Decode(&response); err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to parse response: %w", err)
|
||||||
|
}
|
||||||
|
return &response.Data, ErrDuplicateURL
|
||||||
|
} else if err := parseResponse(resp, &response); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user