коммит произвёл
Hanzei
родитель
2e79ae9636
Коммит
201fb5a717
@@ -635,11 +635,7 @@ func (a *App) GetFlaggedPostsForTeam(userId, teamId string, offset int, limit in
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) (*model.PostList, *model.AppError) {
|
func (a *App) GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) (*model.PostList, *model.AppError) {
|
||||||
result := <-a.Srv.Store.Post().GetFlaggedPostsForChannel(userId, channelId, offset, limit)
|
return a.Srv.Store.Post().GetFlaggedPostsForChannel(userId, channelId, offset, limit)
|
||||||
if result.Err != nil {
|
|
||||||
return nil, result.Err
|
|
||||||
}
|
|
||||||
return result.Data.(*model.PostList), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) GetPermalinkPost(postId string, userId string) (*model.PostList, *model.AppError) {
|
func (a *App) GetPermalinkPost(postId string, userId string) (*model.PostList, *model.AppError) {
|
||||||
|
|||||||
@@ -236,33 +236,30 @@ func (s *SqlPostStore) GetFlaggedPostsForTeam(userId, teamId string, offset int,
|
|||||||
return pl, nil
|
return pl, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SqlPostStore) GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) store.StoreChannel {
|
func (s *SqlPostStore) GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) (*model.PostList, *model.AppError) {
|
||||||
return store.Do(func(result *store.StoreResult) {
|
pl := model.NewPostList()
|
||||||
pl := model.NewPostList()
|
|
||||||
|
|
||||||
var posts []*model.Post
|
var posts []*model.Post
|
||||||
query := `
|
query := `
|
||||||
SELECT
|
SELECT
|
||||||
*
|
*
|
||||||
FROM Posts
|
FROM Posts
|
||||||
WHERE
|
WHERE
|
||||||
Id IN (SELECT Name FROM Preferences WHERE UserId = :UserId AND Category = :Category)
|
Id IN (SELECT Name FROM Preferences WHERE UserId = :UserId AND Category = :Category)
|
||||||
AND ChannelId = :ChannelId
|
AND ChannelId = :ChannelId
|
||||||
AND DeleteAt = 0
|
AND DeleteAt = 0
|
||||||
ORDER BY CreateAt DESC
|
ORDER BY CreateAt DESC
|
||||||
LIMIT :Limit OFFSET :Offset`
|
LIMIT :Limit OFFSET :Offset`
|
||||||
|
|
||||||
if _, err := s.GetReplica().Select(&posts, query, map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "ChannelId": channelId, "Offset": offset, "Limit": limit}); err != nil {
|
if _, err := s.GetReplica().Select(&posts, query, map[string]interface{}{"UserId": userId, "Category": model.PREFERENCE_CATEGORY_FLAGGED_POST, "ChannelId": channelId, "Offset": offset, "Limit": limit}); err != nil {
|
||||||
result.Err = model.NewAppError("SqlPostStore.GetFlaggedPostsForChannel", "store.sql_post.get_flagged_posts.app_error", nil, err.Error(), http.StatusInternalServerError)
|
return nil, model.NewAppError("SqlPostStore.GetFlaggedPostsForChannel", "store.sql_post.get_flagged_posts.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||||
} else {
|
}
|
||||||
for _, post := range posts {
|
for _, post := range posts {
|
||||||
pl.AddPost(post)
|
pl.AddPost(post)
|
||||||
pl.AddOrder(post.Id)
|
pl.AddOrder(post.Id)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
result.Data = pl
|
return pl, nil
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SqlPostStore) Get(id string) (*model.PostList, *model.AppError) {
|
func (s *SqlPostStore) Get(id string) (*model.PostList, *model.AppError) {
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ type PostStore interface {
|
|||||||
GetPosts(channelId string, offset int, limit int, allowFromCache bool) (*model.PostList, *model.AppError)
|
GetPosts(channelId string, offset int, limit int, allowFromCache bool) (*model.PostList, *model.AppError)
|
||||||
GetFlaggedPosts(userId string, offset int, limit int) (*model.PostList, *model.AppError)
|
GetFlaggedPosts(userId string, offset int, limit int) (*model.PostList, *model.AppError)
|
||||||
GetFlaggedPostsForTeam(userId, teamId string, offset int, limit int) (*model.PostList, *model.AppError)
|
GetFlaggedPostsForTeam(userId, teamId string, offset int, limit int) (*model.PostList, *model.AppError)
|
||||||
GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) StoreChannel
|
GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) (*model.PostList, *model.AppError)
|
||||||
GetPostsBefore(channelId string, postId string, numPosts int, offset int) StoreChannel
|
GetPostsBefore(channelId string, postId string, numPosts int, offset int) StoreChannel
|
||||||
GetPostsAfter(channelId string, postId string, numPosts int, offset int) StoreChannel
|
GetPostsAfter(channelId string, postId string, numPosts int, offset int) StoreChannel
|
||||||
GetPostsSince(channelId string, time int64, allowFromCache bool) StoreChannel
|
GetPostsSince(channelId string, time int64, allowFromCache bool) StoreChannel
|
||||||
|
|||||||
@@ -172,19 +172,28 @@ func (_m *PostStore) GetFlaggedPosts(userId string, offset int, limit int) (*mod
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetFlaggedPostsForChannel provides a mock function with given fields: userId, channelId, offset, limit
|
// GetFlaggedPostsForChannel provides a mock function with given fields: userId, channelId, offset, limit
|
||||||
func (_m *PostStore) GetFlaggedPostsForChannel(userId string, channelId string, offset int, limit int) store.StoreChannel {
|
func (_m *PostStore) GetFlaggedPostsForChannel(userId string, channelId string, offset int, limit int) (*model.PostList, *model.AppError) {
|
||||||
ret := _m.Called(userId, channelId, offset, limit)
|
ret := _m.Called(userId, channelId, offset, limit)
|
||||||
|
|
||||||
var r0 store.StoreChannel
|
var r0 *model.PostList
|
||||||
if rf, ok := ret.Get(0).(func(string, string, int, int) store.StoreChannel); ok {
|
if rf, ok := ret.Get(0).(func(string, string, int, int) *model.PostList); ok {
|
||||||
r0 = rf(userId, channelId, offset, limit)
|
r0 = rf(userId, channelId, offset, limit)
|
||||||
} else {
|
} else {
|
||||||
if ret.Get(0) != nil {
|
if ret.Get(0) != nil {
|
||||||
r0 = ret.Get(0).(store.StoreChannel)
|
r0 = ret.Get(0).(*model.PostList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return r0
|
var r1 *model.AppError
|
||||||
|
if rf, ok := ret.Get(1).(func(string, string, int, int) *model.AppError); ok {
|
||||||
|
r1 = rf(userId, channelId, offset, limit)
|
||||||
|
} else {
|
||||||
|
if ret.Get(1) != nil {
|
||||||
|
r1 = ret.Get(1).(*model.AppError)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return r0, r1
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetFlaggedPostsForTeam provides a mock function with given fields: userId, teamId, offset, limit
|
// GetFlaggedPostsForTeam provides a mock function with given fields: userId, teamId, offset, limit
|
||||||
|
|||||||
@@ -1654,7 +1654,8 @@ func testPostStoreGetFlaggedPostsForChannel(t *testing.T, ss store.Store) {
|
|||||||
o4 = (<-ss.Post().Save(o4)).Data.(*model.Post)
|
o4 = (<-ss.Post().Save(o4)).Data.(*model.Post)
|
||||||
time.Sleep(2 * time.Millisecond)
|
time.Sleep(2 * time.Millisecond)
|
||||||
|
|
||||||
r := (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 10)).Data.(*model.PostList)
|
r, err := ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 10)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 0 {
|
if len(r.Order) != 0 {
|
||||||
t.Fatal("should be empty")
|
t.Fatal("should be empty")
|
||||||
@@ -1667,10 +1668,11 @@ func testPostStoreGetFlaggedPostsForChannel(t *testing.T, ss store.Store) {
|
|||||||
Value: "true",
|
Value: "true",
|
||||||
}
|
}
|
||||||
|
|
||||||
err := ss.Preference().Save(&model.Preferences{preference})
|
err = ss.Preference().Save(&model.Preferences{preference})
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
|
|
||||||
r = (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 10)).Data.(*model.PostList)
|
r, err = ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 10)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 1 {
|
if len(r.Order) != 1 {
|
||||||
t.Fatal("should have 1 post")
|
t.Fatal("should have 1 post")
|
||||||
@@ -1684,25 +1686,29 @@ func testPostStoreGetFlaggedPostsForChannel(t *testing.T, ss store.Store) {
|
|||||||
err = ss.Preference().Save(&model.Preferences{preference})
|
err = ss.Preference().Save(&model.Preferences{preference})
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
|
|
||||||
r = (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 1)).Data.(*model.PostList)
|
r, err = ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 1)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 1 {
|
if len(r.Order) != 1 {
|
||||||
t.Fatal("should have 1 post")
|
t.Fatal("should have 1 post")
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 1, 1)).Data.(*model.PostList)
|
r, err = ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 1, 1)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 1 {
|
if len(r.Order) != 1 {
|
||||||
t.Fatal("should have 1 post")
|
t.Fatal("should have 1 post")
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 1000, 10)).Data.(*model.PostList)
|
r, err = ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 1000, 10)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 0 {
|
if len(r.Order) != 0 {
|
||||||
t.Fatal("should be empty")
|
t.Fatal("should be empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 10)).Data.(*model.PostList)
|
r, err = ss.Post().GetFlaggedPostsForChannel(o1.UserId, o1.ChannelId, 0, 10)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 2 {
|
if len(r.Order) != 2 {
|
||||||
t.Fatal("should have 2 posts")
|
t.Fatal("should have 2 posts")
|
||||||
@@ -1712,7 +1718,8 @@ func testPostStoreGetFlaggedPostsForChannel(t *testing.T, ss store.Store) {
|
|||||||
err = ss.Preference().Save(&model.Preferences{preference})
|
err = ss.Preference().Save(&model.Preferences{preference})
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
|
|
||||||
r = (<-ss.Post().GetFlaggedPostsForChannel(o1.UserId, o4.ChannelId, 0, 10)).Data.(*model.PostList)
|
r, err = ss.Post().GetFlaggedPostsForChannel(o1.UserId, o4.ChannelId, 0, 10)
|
||||||
|
require.Nil(t, err)
|
||||||
|
|
||||||
if len(r.Order) != 1 {
|
if len(r.Order) != 1 {
|
||||||
t.Fatal("should have 1 post")
|
t.Fatal("should have 1 post")
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user