// UpdateArticle updates an article. func UpdateArticle(c *gin.Context) (model.Article, int, error) { var article model.Article var form ArticleForm id := c.Params.ByName("id") c.BindWith(&form, binding.Form) if db.ORM.First(&article, id).RecordNotFound() { return article, http.StatusNotFound, errors.New("Article is not found.") } status, err := userPermission.CurrentUserIdentical(c, article.UserId) if err != nil { return article, status, err } article.Title = form.Title article.Url = form.Url article.ImageName = form.ImageName article.Content = form.Content if db.ORM.Save(&article).Error != nil { return article, http.StatusBadRequest, errors.New("Article is not updated.") } return article, http.StatusOK, nil }