MM-15843 migrating post.GetSingle() to sync by default (#10992)

Этот коммит содержится в:
Evan do Carmo
2019-05-30 08:43:45 -04:00
коммит произвёл Hanzei
родитель 8ff58a07bd
Коммит 427effcd5c
8 изменённых файлов: 55 добавлений и 46 удалений

Просмотреть файл

@@ -304,16 +304,13 @@ func (s *SqlPostStore) Get(id string) (*model.PostList, *model.AppError) {
return pl, nil
}
func (s *SqlPostStore) GetSingle(id string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
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.NewAppError("SqlPostStore.GetSingle", "store.sql_post.get.app_error", nil, "id="+id+err.Error(), http.StatusNotFound)
}
result.Data = &post
})
func (s *SqlPostStore) GetSingle(id string) (*model.Post, *model.AppError) {
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 {
return nil, model.NewAppError("SqlPostStore.GetSingle", "store.sql_post.get.app_error", nil, "id="+id+err.Error(), http.StatusNotFound)
}
return &post, nil
}
type etagPosts struct {

Просмотреть файл

@@ -213,7 +213,7 @@ type PostStore interface {
Save(post *model.Post) StoreChannel
Update(newPost *model.Post, oldPost *model.Post) (*model.Post, *model.AppError)
Get(id string) (*model.PostList, *model.AppError)
GetSingle(id string) StoreChannel
GetSingle(id string) (*model.Post, *model.AppError)
Delete(postId string, time int64, deleteByID string) *model.AppError
PermanentDeleteByUser(userId string) StoreChannel
PermanentDeleteByChannel(channelId string) *model.AppError

Просмотреть файл

@@ -380,19 +380,28 @@ func (_m *PostStore) GetRepliesForExport(parentId string) store.StoreChannel {
}
// GetSingle provides a mock function with given fields: id
func (_m *PostStore) GetSingle(id string) store.StoreChannel {
func (_m *PostStore) GetSingle(id string) (*model.Post, *model.AppError) {
ret := _m.Called(id)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
var r0 *model.Post
if rf, ok := ret.Get(0).(func(string) *model.Post); ok {
r0 = rf(id)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).(*model.Post)
}
}
return r0
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(id)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// InvalidateLastPostTimeCache provides a mock function with given fields: channelId

Просмотреть файл

@@ -153,15 +153,15 @@ func testPostStoreGetSingle(t *testing.T, ss store.Store) {
o1 = (<-ss.Post().Save(o1)).Data.(*model.Post)
if r1 := <-ss.Post().GetSingle(o1.Id); r1.Err != nil {
t.Fatal(r1.Err)
if post, err := ss.Post().GetSingle(o1.Id); err != nil {
t.Fatal(err)
} else {
if r1.Data.(*model.Post).CreateAt != o1.CreateAt {
if post.CreateAt != o1.CreateAt {
t.Fatal("invalid returned post")
}
}
if err := (<-ss.Post().GetSingle("123")).Err; err == nil {
if _, err := ss.Post().GetSingle("123"); err == nil {
t.Fatal("Missing id should have failed")
}
}