Error on blank post IDs for get post query (#5326)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
0162d8ad08
Коммит
f1c9ae5686
@@ -189,10 +189,20 @@ func (s SqlPostStore) Get(id string) StoreChannel {
|
||||
result := StoreResult{}
|
||||
pl := &model.PostList{}
|
||||
|
||||
if len(id) == 0 {
|
||||
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "id="+id)
|
||||
storeChannel <- result
|
||||
close(storeChannel)
|
||||
return
|
||||
}
|
||||
|
||||
var post model.Post
|
||||
err := s.GetReplica().SelectOne(&post, "SELECT * FROM Posts WHERE Id = :Id AND DeleteAt = 0", map[string]interface{}{"Id": id})
|
||||
if err != nil {
|
||||
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "id="+id+err.Error())
|
||||
storeChannel <- result
|
||||
close(storeChannel)
|
||||
return
|
||||
}
|
||||
|
||||
pl.AddPost(&post)
|
||||
@@ -204,10 +214,20 @@ func (s SqlPostStore) Get(id string) StoreChannel {
|
||||
rootId = post.Id
|
||||
}
|
||||
|
||||
if len(rootId) == 0 {
|
||||
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "root_id="+rootId)
|
||||
storeChannel <- result
|
||||
close(storeChannel)
|
||||
return
|
||||
}
|
||||
|
||||
var posts []*model.Post
|
||||
_, err = s.GetReplica().Select(&posts, "SELECT * FROM Posts WHERE (Id = :Id OR RootId = :RootId) AND DeleteAt = 0", map[string]interface{}{"Id": rootId, "RootId": rootId})
|
||||
if err != nil {
|
||||
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "root_id="+rootId+err.Error())
|
||||
storeChannel <- result
|
||||
close(storeChannel)
|
||||
return
|
||||
} else {
|
||||
for _, p := range posts {
|
||||
pl.AddPost(p)
|
||||
|
||||
@@ -61,6 +61,10 @@ func TestPostStoreGet(t *testing.T) {
|
||||
if err := (<-store.Post().Get("123")).Err; err == nil {
|
||||
t.Fatal("Missing id should have failed")
|
||||
}
|
||||
|
||||
if err := (<-store.Post().Get("")).Err; err == nil {
|
||||
t.Fatal("should fail for blank post ids")
|
||||
}
|
||||
}
|
||||
|
||||
func TestPostStoreGetSingle(t *testing.T) {
|
||||
|
||||
Ссылка в новой задаче
Block a user