Prevent flagging of deleted posts and don't show deleted posts in flagged post list (#3846)
Этот коммит содержится в:
коммит произвёл
Corey Hulen
родитель
c3c62ad2ad
Коммит
80d83ae77c
@@ -149,7 +149,7 @@ func (s SqlPostStore) GetFlaggedPosts(userId string, offset int, limit int) Stor
|
||||
pl := &model.PostList{}
|
||||
|
||||
var posts []*model.Post
|
||||
if _, err := s.GetReplica().Select(&posts, "SELECT * FROM Posts WHERE Id IN (SELECT Name FROM Preferences WHERE UserId = :UserId AND Category = :Category) ORDER BY CreateAt ASC LIMIT :Limit OFFSET :Offset", map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "Offset": offset, "Limit": limit}); err != nil {
|
||||
if _, err := s.GetReplica().Select(&posts, "SELECT * FROM Posts WHERE Id IN (SELECT Name FROM Preferences WHERE UserId = :UserId AND Category = :Category) AND DeleteAt = 0 ORDER BY CreateAt ASC LIMIT :Limit OFFSET :Offset", map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "Offset": offset, "Limit": limit}); err != nil {
|
||||
result.Err = model.NewLocAppError("SqlPostStore.GetFlaggedPosts", "store.sql_post.get_flagged_posts.app_error", nil, err.Error())
|
||||
} else {
|
||||
for _, post := range posts {
|
||||
|
||||
@@ -923,6 +923,14 @@ func TestPostStoreGetFlaggedPosts(t *testing.T) {
|
||||
o2 = (<-store.Post().Save(o2)).Data.(*model.Post)
|
||||
time.Sleep(2 * time.Millisecond)
|
||||
|
||||
o3 := &model.Post{}
|
||||
o3.ChannelId = o1.ChannelId
|
||||
o3.UserId = model.NewId()
|
||||
o3.Message = "a" + model.NewId() + "b"
|
||||
o3.DeleteAt = 1
|
||||
o3 = (<-store.Post().Save(o3)).Data.(*model.Post)
|
||||
time.Sleep(2 * time.Millisecond)
|
||||
|
||||
r1 := (<-store.Post().GetFlaggedPosts(o1.ChannelId, 0, 2)).Data.(*model.PostList)
|
||||
|
||||
if len(r1.Order) != 0 {
|
||||
@@ -968,4 +976,19 @@ func TestPostStoreGetFlaggedPosts(t *testing.T) {
|
||||
if len(r4.Order) != 2 {
|
||||
t.Fatal("should have 2 posts")
|
||||
}
|
||||
|
||||
preferences = model.Preferences{
|
||||
{
|
||||
UserId: o1.UserId,
|
||||
Category: model.PREFERENCE_CATEGORY_FLAGGED_POST,
|
||||
Name: o3.Id,
|
||||
Value: "true",
|
||||
},
|
||||
}
|
||||
|
||||
Must(store.Preference().Save(&preferences))
|
||||
|
||||
if len(r4.Order) != 2 {
|
||||
t.Fatal("should have 2 posts")
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user