feat(knowledge): add retry endpoint and 20-char text name limit
Add POST /api/tenant/knowledge/items/retry/:id to re-queue failed parse tasks, plus a 20-rune cap on text item names with matching frontend validation. Wires the retry button into the knowledge table with a colored status tag for clearer state feedback. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -190,6 +190,21 @@ func (h *KnowledgeHandler) CreateFileItem(c *gin.Context) {
|
||||
response.SuccessWithStatus(c, http.StatusCreated, data)
|
||||
}
|
||||
|
||||
func (h *KnowledgeHandler) RetryItem(c *gin.Context) {
|
||||
itemID, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
response.Error(c, response.ErrBadRequest(40001, "invalid_id", "knowledge item id must be a number"))
|
||||
return
|
||||
}
|
||||
|
||||
data, err := h.svc.RetryItem(c.Request.Context(), itemID)
|
||||
if err != nil {
|
||||
response.Error(c, err)
|
||||
return
|
||||
}
|
||||
response.Success(c, data)
|
||||
}
|
||||
|
||||
func (h *KnowledgeHandler) DeleteItem(c *gin.Context) {
|
||||
itemID, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
|
||||
@@ -199,6 +199,7 @@ func RegisterRoutes(app *bootstrap.App) {
|
||||
knowledge.POST("/items/text", knowledgeHandler.CreateTextItem)
|
||||
knowledge.POST("/items/url", knowledgeHandler.CreateURLItem)
|
||||
knowledge.POST("/items/file", knowledgeHandler.CreateFileItem)
|
||||
knowledge.POST("/items/retry/:id", knowledgeHandler.RetryItem)
|
||||
knowledge.DELETE("/items/:id", knowledgeHandler.DeleteItem)
|
||||
|
||||
// Prompt Rules
|
||||
|
||||
Reference in New Issue
Block a user