feat(search): sync entity writes to indexer

This commit is contained in:
2026-06-04 20:06:21 +08:00
parent 3fc4859e20
commit dbc5a1a28f
11 changed files with 468 additions and 70 deletions
+7 -2
View File
@@ -31,6 +31,11 @@ func (h *ArticleHandler) Create(c *gin.Context) {
response.AbortWithStatusError(c, http.StatusBadRequest, response.ErrBadRequest, "invalid portal_id")
return
}
accountID, err := parseUintParam(c, "account_id")
if err != nil {
response.AbortWithStatusError(c, http.StatusBadRequest, response.ErrBadRequest, "invalid account id")
return
}
// Chatwoot: params.require(:article) → {"article": {...}}
var wrapper struct {
@@ -51,7 +56,7 @@ func (h *ArticleHandler) Create(c *gin.Context) {
authorID = uint(authorID64)
}
article, err := h.svc.Create(c.Request.Context(), uint(portalID), authorID, &req)
article, err := h.svc.CreateWithAccount(c.Request.Context(), accountID, uint(portalID), authorID, &req)
if err != nil {
applogger.L().Errorf("Create article: %v", err)
response.AbortWithStatusError(c, http.StatusInternalServerError, response.ErrInternal, "failed to create article")
@@ -387,4 +392,4 @@ func (h *ArticleHandler) BulkActions(c *gin.Context) {
}
response.OK(c, gin.H{"action": req.Action, "ids": req.IDs})
}
}