feat(help-center): queue article translations
This commit is contained in:
@@ -386,7 +386,25 @@ func (h *ArticleHandler) BulkDelete(c *gin.Context) {
|
||||
}
|
||||
|
||||
func (h *ArticleHandler) BulkTranslate(c *gin.Context) {
|
||||
c.Status(http.StatusNotImplemented)
|
||||
portal, ok := h.resolvePortalForRequest(c)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
var req service.BulkTranslateRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.AbortWithStatusError(c, http.StatusBadRequest, response.ErrValidation, err.Error())
|
||||
return
|
||||
}
|
||||
if err := h.svc.BulkTranslate(c.Request.Context(), portal.AccountID, portal, currentUserID(c), req); err != nil {
|
||||
var conflict *service.ArticleTranslationConflictError
|
||||
if errors.As(err, &conflict) {
|
||||
c.JSON(http.StatusConflict, gin.H{"duplicate_articles": conflict.Duplicates})
|
||||
return
|
||||
}
|
||||
renderArticleBulkError(c, err)
|
||||
return
|
||||
}
|
||||
c.Status(http.StatusOK)
|
||||
}
|
||||
|
||||
// BulkActions performs a bulk operation (publish/archive/delete) on multiple articles.
|
||||
@@ -595,6 +613,10 @@ func renderArticleBulkError(c *gin.Context, err error) {
|
||||
message = "Invalid status"
|
||||
case errors.Is(err, service.ErrArticleBulkCategoryNotFound):
|
||||
message = "Category not found"
|
||||
case errors.Is(err, service.ErrArticleBulkCaptainNotAvailable):
|
||||
message = "Captain is not available"
|
||||
case errors.Is(err, service.ErrArticleBulkLocaleNotAvailable):
|
||||
message = "Locale is not available"
|
||||
default:
|
||||
message = err.Error()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user