🐛 Fix post got truncated saved into db, close #5
This commit is contained in:
		| @@ -451,6 +451,10 @@ func NewPost(user models.Publisher, item models.Post) (models.Post, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func EditPost(item models.Post) (models.Post, error) { | func EditPost(item models.Post) (models.Post, error) { | ||||||
|  | 	if _, ok := item.Body["content_truncated"]; ok { | ||||||
|  | 		return item, fmt.Errorf("prevented from editing post with truncated content") | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if item.Alias != nil && len(*item.Alias) == 0 { | 	if item.Alias != nil && len(*item.Alias) == 0 { | ||||||
| 		item.Alias = nil | 		item.Alias = nil | ||||||
| 	} | 	} | ||||||
| @@ -516,10 +520,11 @@ func ReactPost(user authm.Account, reaction models.Reaction) (bool, models.React | |||||||
|  |  | ||||||
| 				if reaction.Attitude == models.AttitudePositive { | 				if reaction.Attitude == models.AttitudePositive { | ||||||
| 					op.TotalUpvote++ | 					op.TotalUpvote++ | ||||||
|  | 					database.C.Where("id = ?", op.ID).Update("total_upvote", op.TotalDownvote) | ||||||
| 				} else { | 				} else { | ||||||
| 					op.TotalDownvote++ | 					op.TotalDownvote++ | ||||||
|  | 					database.C.Where("id = ?", op.ID).Update("total_downvote", op.TotalDownvote) | ||||||
| 				} | 				} | ||||||
| 				database.C.Save(&op) |  | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			return true, reaction, err | 			return true, reaction, err | ||||||
| @@ -533,8 +538,10 @@ func ReactPost(user authm.Account, reaction models.Reaction) (bool, models.React | |||||||
|  |  | ||||||
| 			if reaction.Attitude == models.AttitudePositive { | 			if reaction.Attitude == models.AttitudePositive { | ||||||
| 				op.TotalUpvote-- | 				op.TotalUpvote-- | ||||||
|  | 				database.C.Where("id = ?", op.ID).Update("total_upvote", op.TotalDownvote) | ||||||
| 			} else { | 			} else { | ||||||
| 				op.TotalDownvote-- | 				op.TotalDownvote-- | ||||||
|  | 				database.C.Where("id = ?", op.ID).Update("total_downvote", op.TotalDownvote) | ||||||
| 			} | 			} | ||||||
| 			database.C.Save(&op) | 			database.C.Save(&op) | ||||||
| 		} | 		} | ||||||
| @@ -550,7 +557,7 @@ func PinPost(post models.Post) (bool, error) { | |||||||
| 		post.PinnedAt = lo.ToPtr(time.Now()) | 		post.PinnedAt = lo.ToPtr(time.Now()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if err := database.C.Save(&post).Error; err != nil { | 	if err := database.C.Where("id = ?", post.ID).Update("pinned_at", post.PinnedAt).Error; err != nil { | ||||||
| 		return post.PinnedAt != nil, err | 		return post.PinnedAt != nil, err | ||||||
| 	} | 	} | ||||||
| 	return post.PinnedAt != nil, nil | 	return post.PinnedAt != nil, nil | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user