[MM-55735] Add Request Context to PostStore.Save (#26048)

This commit is contained in:
Aditya Pratap Singh Hada 2024-02-20 21:37:20 +05:30 committed by GitHub
parent 287962a309
commit 6541708a93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 396 additions and 400 deletions

View File

@ -786,7 +786,7 @@ func (th *TestHelper) CreateMessagePostWithClient(client *model.Client4, channel
}
func (th *TestHelper) CreateMessagePostNoClient(channel *model.Channel, message string, createAtTime int64) *model.Post {
post, err := th.App.Srv().Store().Post().Save(&model.Post{
post, err := th.App.Srv().Store().Post().Save(th.Context, &model.Post{
UserId: th.BasicUser.Id,
ChannelId: channel.Id,
Message: message,

View File

@ -2646,7 +2646,7 @@ func TestConvertGroupMessageToChannel(t *testing.T) {
mockPostStore := mocks.PostStore{}
mockStore.On("Post").Return(&mockPostStore)
mockPostStore.On("Save", mock.AnythingOfType("*model.Post")).Return(&model.Post{}, nil)
mockPostStore.On("Save", mock.AnythingOfType("*request.Context"), mock.AnythingOfType("*model.Post")).Return(&model.Post{}, nil)
mockPostStore.On("InvalidateLastPostTimeCache", "channelidchannelidchanneli")
mockSystemStore := mocks.SystemStore{}

View File

@ -305,7 +305,7 @@ func (a *App) CreatePost(c request.CTX, post *model.Post, channel *model.Channel
post.AddProp(model.PostPropsPreviewedPost, previewPost.PostID)
}
rpost, nErr := a.Srv().Store().Post().Save(post)
rpost, nErr := a.Srv().Store().Post().Save(c, post)
if nErr != nil {
var appErr *model.AppError
var invErr *store.ErrInvalidInput

View File

@ -6802,7 +6802,7 @@ func (s *OpenTracingLayerPostStore) PermanentDeleteByUser(rctx request.CTX, user
return err
}
func (s *OpenTracingLayerPostStore) Save(post *model.Post) (*model.Post, error) {
func (s *OpenTracingLayerPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "PostStore.Save")
s.Root.Store.SetContext(newCtx)
@ -6811,7 +6811,7 @@ func (s *OpenTracingLayerPostStore) Save(post *model.Post) (*model.Post, error)
}()
defer span.Finish()
result, err := s.PostStore.Save(post)
result, err := s.PostStore.Save(rctx, post)
if err != nil {
span.LogFields(spanlog.Error(err))
ext.Error.Set(span, true)

View File

@ -7712,11 +7712,11 @@ func (s *RetryLayerPostStore) PermanentDeleteByUser(rctx request.CTX, userID str
}
func (s *RetryLayerPostStore) Save(post *model.Post) (*model.Post, error) {
func (s *RetryLayerPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
tries := 0
for {
result, err := s.PostStore.Save(post)
result, err := s.PostStore.Save(rctx, post)
if err == nil {
return result, nil
}

View File

@ -96,11 +96,8 @@ func (s *SearchPostStore) Overwrite(rctx request.CTX, post *model.Post) (*model.
return post, err
}
func (s SearchPostStore) Save(post *model.Post) (*model.Post, error) {
// TODO: Use the actuall request context from the App layer
// https://mattermost.atlassian.net/browse/MM-55735
rctx := request.EmptyContext(s.rootStore.Logger())
npost, err := s.PostStore.Save(post)
func (s SearchPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
npost, err := s.PostStore.Save(rctx, post)
if err == nil {
s.indexPost(rctx, npost)

View File

@ -369,7 +369,7 @@ func (th *SearchTestHelper) createPost(userID, channelID, message, hashtags, pos
creationTime = createAt
}
postModel := th.createPostModel(userID, channelID, message, hashtags, postType, creationTime, pinned)
return th.Store.Post().Save(postModel)
return th.Store.Post().Save(th.Context, postModel)
}
func (th *SearchTestHelper) createFileInfoModel(creatorID, postID, channelID, name, content, extension, mimeType string, createAt, size int64) *model.FileInfo {
@ -401,7 +401,7 @@ func (th *SearchTestHelper) createFileInfo(creatorID, postID, channelID, name, c
func (th *SearchTestHelper) createReply(userID, message, hashtags string, parent *model.Post, createAt int64, pinned bool) (*model.Post, error) {
replyModel := th.createPostModel(userID, parent.ChannelId, message, hashtags, parent.Type, createAt, pinned)
replyModel.RootId = parent.Id
return th.Store.Post().Save(replyModel)
return th.Store.Post().Save(th.Context, replyModel)
}
func (th *SearchTestHelper) deleteUserPosts(userID string) error {

View File

@ -177,22 +177,22 @@ func createOutgoingWebhook(ss store.Store, userId, channelId, teamId string) *mo
return wh
}
func createPost(ss store.Store, channelId, userId, rootId, parentId string) *model.Post {
func createPost(rctx request.CTX, ss store.Store, channelId, userId, rootId, parentId string) *model.Post {
m := model.Post{}
m.ChannelId = channelId
m.UserId = userId
m.RootId = rootId
m.Message = "zz" + model.NewId() + "b"
p, _ := ss.Post().Save(&m)
p, _ := ss.Post().Save(rctx, &m)
return p
}
func createPostWithChannelId(ss store.Store, id string) *model.Post {
return createPost(ss, id, model.NewId(), "", "")
func createPostWithChannelId(rctx request.CTX, ss store.Store, id string) *model.Post {
return createPost(rctx, ss, id, model.NewId(), "", "")
}
func createPostWithUserId(ss store.Store, id string) *model.Post {
return createPost(ss, model.NewId(), id, "", "")
func createPostWithUserId(rctx request.CTX, ss store.Store, id string) *model.Post {
return createPost(rctx, ss, model.NewId(), id, "", "")
}
func createPreferences(ss store.Store, userId string) model.Preferences {
@ -569,7 +569,7 @@ func TestCheckChannelsPostsIntegrity(t *testing.T) {
})
t.Run("should generate a report with one record", func(t *testing.T) {
post := createPostWithChannelId(ss, model.NewId())
post := createPostWithChannelId(rctx, ss, model.NewId())
result := checkChannelsPostsIntegrity(store)
require.NoError(t, result.Err)
data := result.Data.(model.RelationalIntegrityCheckData)
@ -653,9 +653,9 @@ func TestCheckPostsPostsRootIdIntegrity(t *testing.T) {
t.Run("should generate a report with one record", func(t *testing.T) {
channel := createChannel(ss, model.NewId(), model.NewId())
root := createPost(ss, channel.Id, model.NewId(), "", "")
root := createPost(rctx, ss, channel.Id, model.NewId(), "", "")
rootId := root.Id
post := createPost(ss, channel.Id, model.NewId(), root.Id, root.Id)
post := createPost(rctx, ss, channel.Id, model.NewId(), root.Id, root.Id)
dbmap.Exec(`DELETE FROM Posts WHERE Id=?`, root.Id)
result := checkPostsPostsRootIdIntegrity(store)
require.NoError(t, result.Err)
@ -1402,7 +1402,7 @@ func TestCheckUsersPostsIntegrity(t *testing.T) {
})
t.Run("should generate a report with one record", func(t *testing.T) {
post := createPostWithUserId(ss, model.NewId())
post := createPostWithUserId(rctx, ss, model.NewId())
result := checkUsersPostsIntegrity(store)
require.NoError(t, result.Err)
data := result.Data.(model.RelationalIntegrityCheckData)
@ -1623,8 +1623,8 @@ func TestCheckThreadsTeamsIntegrity(t *testing.T) {
t.Run("should generate a report with one record", func(t *testing.T) {
team := createTeam(ss)
channel := createChannel(ss, team.Id, model.NewId())
root := createPost(ss, channel.Id, model.NewId(), "", "")
post := createPost(ss, channel.Id, model.NewId(), root.Id, root.Id)
root := createPost(rctx, ss, channel.Id, model.NewId(), "", "")
post := createPost(rctx, ss, channel.Id, model.NewId(), root.Id, root.Id)
dbmap.Exec(`DELETE FROM Teams WHERE Id=?`, team.Id)
result := checkThreadsTeamsIntegrity(store)

View File

@ -282,7 +282,7 @@ func (s *SqlPostStore) SaveMultiple(posts []*model.Post) ([]*model.Post, int, er
return posts, -1, nil
}
func (s *SqlPostStore) Save(post *model.Post) (*model.Post, error) {
func (s *SqlPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
posts, _, err := s.SaveMultiple([]*model.Post{post})
if err != nil {
return nil, err

View File

@ -350,7 +350,7 @@ type ThreadStore interface {
type PostStore interface {
SaveMultiple(posts []*model.Post) ([]*model.Post, int, error)
Save(post *model.Post) (*model.Post, error)
Save(rctx request.CTX, post *model.Post) (*model.Post, error)
Update(rctx request.CTX, newPost *model.Post, oldPost *model.Post) (*model.Post, error)
Get(ctx context.Context, id string, opts model.GetPostsOptions, userID string, sanitizeOptions map[string]bool) (*model.PostList, error)
GetSingle(id string, inclDeleted bool) (*model.Post, error)

View File

@ -705,7 +705,7 @@ func testChannelStoreGetForPost(t *testing.T, rctx request.CTX, ss store.Store)
o1, nErr := ss.Channel().Save(ch, -1)
require.NoError(t, nErr)
p1, err := ss.Post().Save(&model.Post{
p1, err := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o1.Id,
Message: "test",
@ -4611,28 +4611,28 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{
p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1000,
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1001,
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId2,
ChannelId: channelId,
CreateAt: 1002,
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId3,
ChannelId: channelId,
CreateAt: 1003,
@ -4661,14 +4661,14 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{
p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1000,
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1001,
@ -4690,14 +4690,14 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{
p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1000,
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1001,
@ -4705,7 +4705,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1002,
@ -4713,7 +4713,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1003,
@ -4721,7 +4721,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
p5, err := ss.Post().Save(&model.Post{
p5, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1004,
@ -4729,7 +4729,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1005,
@ -4763,7 +4763,7 @@ func testCountUrgentPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{
p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1000,
@ -4777,7 +4777,7 @@ func testCountUrgentPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1,
ChannelId: channelId,
CreateAt: 1001,
@ -4791,14 +4791,14 @@ func testCountUrgentPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId2,
ChannelId: channelId,
CreateAt: 1002,
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: userId3,
ChannelId: channelId,
CreateAt: 1003,
@ -5089,7 +5089,7 @@ func testChannelStoreGetMemberForPost(t *testing.T, rctx request.CTX, ss store.S
})
require.NoError(t, err)
p1, nErr := ss.Post().Save(&model.Post{
p1, nErr := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o1.Id,
Message: "test",
@ -6947,7 +6947,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
o1, nErr := ss.Channel().Save(ch1, -1)
require.NoError(t, nErr)
p1, err := ss.Post().Save(&model.Post{
p1, err := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o1.Id,
Message: "test",
@ -6969,7 +6969,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
o2, nErr := ss.Channel().Save(ch2, -1)
require.NoError(t, nErr)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o2.Id,
Message: "test",
@ -6992,7 +6992,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
userId := model.NewId()
post1, err := ss.Post().Save(&model.Post{
post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: userId,
Message: "message",
@ -7001,7 +7001,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
require.NoError(t, err)
time.Sleep(time.Millisecond)
post2, err := ss.Post().Save(&model.Post{
post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: userId,
Message: "message",
@ -7010,7 +7010,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
require.NoError(t, err)
time.Sleep(time.Millisecond)
post3, err := ss.Post().Save(&model.Post{
post3, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: userId,
RootId: post1.Id,
@ -7040,7 +7040,7 @@ func testChannelStoreGetPinnedPostCount(t *testing.T, rctx request.CTX, ss store
o1, nErr := ss.Channel().Save(ch1, -1)
require.NoError(t, nErr)
_, err := ss.Post().Save(&model.Post{
_, err := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o1.Id,
Message: "test",
@ -7048,7 +7048,7 @@ func testChannelStoreGetPinnedPostCount(t *testing.T, rctx request.CTX, ss store
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o1.Id,
Message: "test",
@ -7070,14 +7070,14 @@ func testChannelStoreGetPinnedPostCount(t *testing.T, rctx request.CTX, ss store
o2, nErr := ss.Channel().Save(ch2, -1)
require.NoError(t, nErr)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o2.Id,
Message: "test",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(),
ChannelId: o2.Id,
Message: "test",

View File

@ -140,7 +140,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o1.UserId = u1.Id
o1.CreateAt = model.GetMillis()
o1.Message = NewTestId()
o1, nErr = ss.Post().Save(o1)
o1, nErr = ss.Post().Save(rctx, o1)
require.NoError(t, nErr)
o1a := &model.Post{}
@ -148,7 +148,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o1a.UserId = u1.Id
o1a.CreateAt = o1.CreateAt + 10
o1a.Message = NewTestId()
_, nErr = ss.Post().Save(o1a)
_, nErr = ss.Post().Save(rctx, o1a)
require.NoError(t, nErr)
o2 := &model.Post{}
@ -156,7 +156,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o2.UserId = u1.Id
o2.CreateAt = o1.CreateAt + 20
o2.Message = NewTestId()
_, nErr = ss.Post().Save(o2)
_, nErr = ss.Post().Save(rctx, o2)
require.NoError(t, nErr)
o2a := &model.Post{}
@ -164,7 +164,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o2a.UserId = u2.Id
o2a.CreateAt = o1.CreateAt + 30
o2a.Message = NewTestId()
o2a, nErr = ss.Post().Save(o2a)
o2a, nErr = ss.Post().Save(rctx, o2a)
require.NoError(t, nErr)
time.Sleep(100 * time.Millisecond)
@ -276,7 +276,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o1.UserId = u1.Id
o1.CreateAt = model.GetMillis()
o1.Message = NewTestId()
o1, nErr = ss.Post().Save(o1)
o1, nErr = ss.Post().Save(rctx, o1)
require.NoError(t, nErr)
o1a := &model.Post{}
@ -284,7 +284,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o1a.UserId = u1.Id
o1a.CreateAt = o1.CreateAt + 10
o1a.Message = NewTestId()
_, nErr = ss.Post().Save(o1a)
_, nErr = ss.Post().Save(rctx, o1a)
require.NoError(t, nErr)
o2 := &model.Post{}
@ -292,7 +292,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o2.UserId = u1.Id
o2.CreateAt = o1.CreateAt + 20
o2.Message = NewTestId()
_, nErr = ss.Post().Save(o2)
_, nErr = ss.Post().Save(rctx, o2)
require.NoError(t, nErr)
o2a := &model.Post{}
@ -300,7 +300,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o2a.UserId = u2.Id
o2a.CreateAt = o1.CreateAt + 30
o2a.Message = NewTestId()
_, nErr = ss.Post().Save(o2a)
_, nErr = ss.Post().Save(rctx, o2a)
require.NoError(t, nErr)
o3 := &model.Post{}
@ -308,7 +308,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o3.UserId = u1.Id
o3.CreateAt = o1.CreateAt + 40
o3.Message = NewTestId()
o3, nErr = ss.Post().Save(o3)
o3, nErr = ss.Post().Save(rctx, o3)
require.NoError(t, nErr)
time.Sleep(100 * time.Millisecond)
@ -363,7 +363,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
post.UserId = u1.Id
post.CreateAt = createAt
post.Message = NewTestId()
_, nErr = ss.Post().Save(post)
_, nErr = ss.Post().Save(rctx, post)
require.NoError(t, nErr)
}
@ -456,7 +456,7 @@ func testMessageExportPublicChannel(t *testing.T, rctx request.CTX, ss store.Sto
CreateAt: startTime,
Message: NewTestId(),
}
post1, err = ss.Post().Save(post1)
post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err)
post2 := &model.Post{
@ -465,7 +465,7 @@ func testMessageExportPublicChannel(t *testing.T, rctx request.CTX, ss store.Sto
CreateAt: startTime + 10,
Message: NewTestId(),
}
post2, err = ss.Post().Save(post2)
post2, err = ss.Post().Save(rctx, post2)
require.NoError(t, err)
// fetch the message exports for both posts that user1 sent
@ -560,7 +560,7 @@ func testMessageExportPrivateChannel(t *testing.T, rctx request.CTX, ss store.St
CreateAt: startTime,
Message: NewTestId(),
}
post1, err = ss.Post().Save(post1)
post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err)
post2 := &model.Post{
@ -569,7 +569,7 @@ func testMessageExportPrivateChannel(t *testing.T, rctx request.CTX, ss store.St
CreateAt: startTime + 10,
Message: NewTestId(),
}
post2, err = ss.Post().Save(post2)
post2, err = ss.Post().Save(rctx, post2)
require.NoError(t, err)
// fetch the message exports for both posts that user1 sent
@ -660,7 +660,7 @@ func testMessageExportDirectMessageChannel(t *testing.T, rctx request.CTX, ss st
CreateAt: startTime + 20,
Message: NewTestId(),
}
post, err = ss.Post().Save(post)
post, err = ss.Post().Save(rctx, post)
require.NoError(t, err)
// fetch the message export for the post that user1 sent
@ -758,7 +758,7 @@ func testMessageExportGroupMessageChannel(t *testing.T, rctx request.CTX, ss sto
CreateAt: startTime + 20,
Message: NewTestId(),
}
post, err = ss.Post().Save(post)
post, err = ss.Post().Save(rctx, post)
require.NoError(t, err)
// fetch the message export for the post that user1 sent
@ -833,7 +833,7 @@ func testEditExportMessage(t *testing.T, rctx request.CTX, ss store.Store) {
CreateAt: startTime,
Message: NewTestId(),
}
post1, err = ss.Post().Save(post1)
post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err)
//user 1 edits the previous post
@ -925,7 +925,7 @@ func testEditAfterExportMessage(t *testing.T, rctx request.CTX, ss store.Store)
CreateAt: startTime,
Message: NewTestId(),
}
post1, err = ss.Post().Save(post1)
post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err)
// fetch the message exports from the start
@ -1036,7 +1036,7 @@ func testDeleteExportMessage(t *testing.T, rctx request.CTX, ss store.Store) {
CreateAt: startTime,
Message: NewTestId(),
}
post1, err = ss.Post().Save(post1)
post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err)
//user 1 deletes the previous post
@ -1121,7 +1121,7 @@ func testDeleteAfterExportMessage(t *testing.T, rctx request.CTX, ss store.Store
CreateAt: startTime,
Message: NewTestId(),
}
post1, err = ss.Post().Save(post1)
post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err)
// fetch the message exports from the start

View File

@ -420,11 +420,11 @@ func clearPosts(t *testing.T, rctx request.CTX, ss store.Store) {
require.NoError(t, err)
}
func makeDraftsWithNonDeletedPosts(t *testing.T, ss store.Store, count int, message string) {
func makeDraftsWithNonDeletedPosts(t *testing.T, rctx request.CTX, ss store.Store, count int, message string) {
t.Helper()
for i := 1; i <= count; i++ {
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
CreateAt: model.GetMillis(),
UpdateAt: model.GetMillis(),
UserId: model.NewId(),
@ -451,11 +451,11 @@ func makeDraftsWithNonDeletedPosts(t *testing.T, ss store.Store, count int, mess
time.Sleep(5 * time.Millisecond)
}
func makeDraftsWithDeletedPosts(t *testing.T, ss store.Store, count int, message string) {
func makeDraftsWithDeletedPosts(t *testing.T, rctx request.CTX, ss store.Store, count int, message string) {
t.Helper()
for i := 1; i <= count; i++ {
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
CreateAt: model.GetMillis(),
UpdateAt: model.GetMillis(),
DeleteAt: model.GetMillis(),
@ -714,7 +714,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss)
makeDraftsWithDeletedPosts(t, ss, 100, "Okay")
makeDraftsWithDeletedPosts(t, rctx, ss, 100, "Okay")
createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -735,7 +735,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss)
makeDraftsWithDeletedPosts(t, ss, 300, "Okay")
makeDraftsWithDeletedPosts(t, rctx, ss, 300, "Okay")
createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -772,7 +772,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss)
makeDraftsWithNonDeletedPosts(t, ss, 100, "Okay")
makeDraftsWithNonDeletedPosts(t, rctx, ss, 100, "Okay")
createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -794,7 +794,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss)
makeDraftsWithNonDeletedPosts(t, ss, 300, "Okay")
makeDraftsWithNonDeletedPosts(t, rctx, ss, 300, "Okay")
createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -837,23 +837,23 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
// 50 drafts will be deleted from this page
makeDrafts(t, ss, 50, "Yup")
makeDraftsWithNonDeletedPosts(t, ss, 50, "Okay")
makeDraftsWithNonDeletedPosts(t, rctx, ss, 50, "Okay")
// 100 drafts will be deleted from this page
makeDrafts(t, ss, 50, "Yup")
makeDraftsWithDeletedPosts(t, ss, 50, "Okay")
makeDraftsWithDeletedPosts(t, rctx, ss, 50, "Okay")
// 50 drafts will be deleted from this page
makeDraftsWithDeletedPosts(t, ss, 50, "Okay")
makeDraftsWithNonDeletedPosts(t, ss, 50, "Okay")
makeDraftsWithDeletedPosts(t, rctx, ss, 50, "Okay")
makeDraftsWithNonDeletedPosts(t, rctx, ss, 50, "Okay")
// 70 drafts will be deleted from this page
makeDrafts(t, ss, 40, "Yup")
makeDraftsWithDeletedPosts(t, ss, 30, "Okay")
makeDraftsWithNonDeletedPosts(t, ss, 30, "Okay")
makeDraftsWithDeletedPosts(t, rctx, ss, 30, "Okay")
makeDraftsWithNonDeletedPosts(t, rctx, ss, 30, "Okay")
// No drafts will be deleted from this page
makeDraftsWithNonDeletedPosts(t, ss, 100, "Okay")
makeDraftsWithNonDeletedPosts(t, rctx, ss, 100, "Okay")
// Verify initially 5 pages with 500 drafts
assert.Equal(t, 5, countDraftPages(t, rctx, ss), "incorrect number of pages")
@ -949,14 +949,14 @@ func testDeleteDraftsAssociatedWithPost(t *testing.T, rctx request.CTX, ss store
})
require.NoError(t, err)
post1, err := ss.Post().Save(&model.Post{
post1, err := ss.Post().Save(rctx, &model.Post{
UserId: user1.Id,
ChannelId: channel1.Id,
Message: "post1",
})
require.NoError(t, err)
post2, err := ss.Post().Save(&model.Post{
post2, err := ss.Post().Save(rctx, &model.Post{
UserId: user2.Id,
ChannelId: channel2.Id,
Message: "post2",

View File

@ -282,7 +282,7 @@ func testFileInfoGetWithOptions(t *testing.T, rctx request.CTX, ss store.Store)
post := model.Post{}
post.ChannelId = chId
post.UserId = user
_, err := ss.Post().Save(&post)
_, err := ss.Post().Save(rctx, &post)
require.NoError(t, err)
return &post
}
@ -696,7 +696,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, rctx request.CTX, s
o1.ChannelId = c1.Id
o1.UserId = model.NewId()
o1.Message = "zz" + model.NewId() + "AAAAAAAAAAA"
o1, err := ss.Post().Save(o1)
o1, err := ss.Post().Save(rctx, o1)
require.NoError(t, err)
f1, err := ss.FileInfo().Save(rctx, &model.FileInfo{
PostId: o1.Id,
@ -714,7 +714,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, rctx request.CTX, s
o2.ChannelId = c2.Id
o2.UserId = model.NewId()
o2.Message = "zz" + model.NewId() + "CCCCCCCCC"
o2, err = ss.Post().Save(o2)
o2, err = ss.Post().Save(rctx, o2)
require.NoError(t, err)
f2, err := ss.FileInfo().Save(rctx, &model.FileInfo{
@ -734,7 +734,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, rctx request.CTX, s
o3.UserId = model.NewId()
o3.RootId = o1.Id
o3.Message = "zz" + model.NewId() + "QQQQQQQQQQ"
o3, err = ss.Post().Save(o3)
o3, err = ss.Post().Save(rctx, o3)
require.NoError(t, err)
f3, err := ss.FileInfo().Save(rctx, &model.FileInfo{

View File

@ -989,25 +989,25 @@ func (_m *PostStore) PermanentDeleteByUser(rctx request.CTX, userID string) erro
return r0
}
// Save provides a mock function with given fields: post
func (_m *PostStore) Save(post *model.Post) (*model.Post, error) {
ret := _m.Called(post)
// Save provides a mock function with given fields: rctx, post
func (_m *PostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
ret := _m.Called(rctx, post)
var r0 *model.Post
var r1 error
if rf, ok := ret.Get(0).(func(*model.Post) (*model.Post, error)); ok {
return rf(post)
if rf, ok := ret.Get(0).(func(request.CTX, *model.Post) (*model.Post, error)); ok {
return rf(rctx, post)
}
if rf, ok := ret.Get(0).(func(*model.Post) *model.Post); ok {
r0 = rf(post)
if rf, ok := ret.Get(0).(func(request.CTX, *model.Post) *model.Post); ok {
r0 = rf(rctx, post)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*model.Post)
}
}
if rf, ok := ret.Get(1).(func(*model.Post) error); ok {
r1 = rf(post)
if rf, ok := ret.Get(1).(func(request.CTX, *model.Post) error); ok {
r1 = rf(rctx, post)
} else {
r1 = ret.Error(1)
}

View File

@ -33,7 +33,7 @@ func testPostAcknowledgementsStoreSave(t *testing.T, rctx request.CTX, ss store.
PersistentNotifications: model.NewBool(false),
},
}
post, err := ss.Post().Save(&p1)
post, err := ss.Post().Save(rctx, &p1)
require.NoError(t, err)
t.Run("consecutive saves should just update the acknowledged at", func(t *testing.T) {
@ -78,7 +78,7 @@ func testPostAcknowledgementsStoreGetForPost(t *testing.T, rctx request.CTX, ss
PersistentNotifications: model.NewBool(false),
},
}
_, err := ss.Post().Save(&p1)
_, err := ss.Post().Save(rctx, &p1)
require.NoError(t, err)
t.Run("get acknowledgements for post", func(t *testing.T) {

File diff suppressed because it is too large Load Diff

View File

@ -349,14 +349,14 @@ func testPreferenceDeleteOrphanedRows(t *testing.T, rctx request.CTX, ss store.S
category := model.PreferenceCategoryFlaggedPost
userId := model.NewId()
olderPost, err := ss.Post().Save(&model.Post{
olderPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: userId,
Message: "message",
CreateAt: 1000,
})
require.NoError(t, err)
newerPost, err := ss.Post().Save(&model.Post{
newerPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: userId,
Message: "message",

View File

@ -34,7 +34,7 @@ func TestReactionStore(t *testing.T, rctx request.CTX, ss store.Store, s SqlStor
}
func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) {
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -91,7 +91,7 @@ func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) {
// different post
// create post1
post1, err := ss.Post().Save(&model.Post{
post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -136,7 +136,7 @@ func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) {
func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) {
t.Run("Delete", func(t *testing.T) {
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -172,7 +172,7 @@ func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) {
})
t.Run("Undelete", func(t *testing.T) {
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -207,12 +207,12 @@ func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) {
func testReactionGetForPost(t *testing.T, rctx request.CTX, ss store.Store) {
userId := model.NewId()
// create post
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
require.NoError(t, err)
post1, err := ss.Post().Save(&model.Post{
post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
@ -313,11 +313,11 @@ func testReactionGetForPostSince(t *testing.T, rctx request.CTX, ss store.Store,
userId := model.NewId()
// create post
post, _ := ss.Post().Save(&model.Post{
post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
post1, _ := ss.Post().Save(&model.Post{
post1, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
@ -473,17 +473,17 @@ func forceNULL(reaction *model.Reaction, s SqlStore) error {
func testReactionDeleteAllWithEmojiName(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) {
emojiToDelete := model.NewId()
post, err1 := ss.Post().Save(&model.Post{
post, err1 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
require.NoError(t, err1)
post2, err2 := ss.Post().Save(&model.Post{
post2, err2 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
require.NoError(t, err2)
post3, err3 := ss.Post().Save(&model.Post{
post3, err3 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -566,17 +566,17 @@ func testReactionDeleteAllWithEmojiName(t *testing.T, rctx request.CTX, ss store
func testPermanentDeleteByUser(t *testing.T, rctx request.CTX, ss store.Store) {
userId := model.NewId()
post, err1 := ss.Post().Save(&model.Post{
post, err1 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
require.NoError(t, err1)
post2, err2 := ss.Post().Save(&model.Post{
post2, err2 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
require.NoError(t, err2)
post3, err3 := ss.Post().Save(&model.Post{
post3, err3 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -665,13 +665,13 @@ func testReactionStorePermanentDeleteBatch(t *testing.T, rctx request.CTX, ss st
Type: model.ChannelTypeOpen,
}, -1)
require.NoError(t, err)
olderPost, err := ss.Post().Save(&model.Post{
olderPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: model.NewId(),
CreateAt: 1000,
})
require.NoError(t, err)
newerPost, err := ss.Post().Save(&model.Post{
newerPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: model.NewId(),
CreateAt: 3000,
@ -732,22 +732,22 @@ func testReactionStorePermanentDeleteBatch(t *testing.T, rctx request.CTX, ss st
func testReactionBulkGetForPosts(t *testing.T, rctx request.CTX, ss store.Store) {
userId := model.NewId()
post, _ := ss.Post().Save(&model.Post{
post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
postId := post.Id
post, _ = ss.Post().Save(&model.Post{
post, _ = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
post2Id := post.Id
post, _ = ss.Post().Save(&model.Post{
post, _ = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
post3Id := post.Id
post, _ = ss.Post().Save(&model.Post{
post, _ = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: userId,
})
@ -812,13 +812,13 @@ func testReactionBulkGetForPosts(t *testing.T, rctx request.CTX, ss store.Store)
func testReactionDeadlock(t *testing.T, rctx request.CTX, ss store.Store) {
ss = retrylayer.New(ss)
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
require.NoError(t, err)
postId := post.Id
post, err = ss.Post().Save(&model.Post{
post, err = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -877,7 +877,7 @@ func testReactionDeadlock(t *testing.T, rctx request.CTX, ss store.Store) {
}
func testExistsOnPost(t *testing.T, rctx request.CTX, ss store.Store) {
post, _ := ss.Post().Save(&model.Post{
post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})
@ -898,7 +898,7 @@ func testExistsOnPost(t *testing.T, rctx request.CTX, ss store.Store) {
}
func testGetUniqueCountForPost(t *testing.T, rctx request.CTX, ss store.Store) {
post, _ := ss.Post().Save(&model.Post{
post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(),
UserId: model.NewId(),
})

View File

@ -71,7 +71,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
}
}
otmp, err3 := ss.Post().Save(&o)
otmp, err3 := ss.Post().Save(rctx, &o)
require.NoError(t, err3)
o2 := model.Post{}
o2.ChannelId = c.Id
@ -230,7 +230,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o1.ChannelId = channel.Id
o1.UserId = model.NewId()
o1.Message = NewTestId()
rootPost, err := ss.Post().Save(&o1)
rootPost, err := ss.Post().Save(rctx, &o1)
require.NoError(t, err)
o2 := model.Post{}
@ -238,7 +238,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o2.ChannelId = rootPost.ChannelId
o2.UserId = model.NewId()
o2.Message = NewTestId()
replyPost, err := ss.Post().Save(&o2)
replyPost, err := ss.Post().Save(rctx, &o2)
require.NoError(t, err)
o3 := model.Post{}
@ -246,7 +246,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o3.ChannelId = rootPost.ChannelId
o3.UserId = o2.UserId
o3.Message = NewTestId()
replyPost2, err := ss.Post().Save(&o3)
replyPost2, err := ss.Post().Save(rctx, &o3)
require.NoError(t, err)
o4 := model.Post{}
@ -254,7 +254,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o4.ChannelId = rootPost.ChannelId
o4.UserId = model.NewId()
o4.Message = NewTestId()
replyPost3, err := ss.Post().Save(&o4)
replyPost3, err := ss.Post().Save(rctx, &o4)
require.NoError(t, err)
thread, err := ss.Thread().Get(rootPost.Id)
@ -477,10 +477,9 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
}
}
func threadStoreCreateReply(t *testing.T, ss store.Store, channelID, postID, userID string, createAt int64) *model.Post {
func threadStoreCreateReply(t *testing.T, rctx request.CTX, ss store.Store, channelID, postID, userID string, createAt int64) *model.Post {
t.Helper()
reply, err := ss.Post().Save(&model.Post{
reply, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channelID,
UserId: userID,
CreateAt: createAt,
@ -508,12 +507,12 @@ func testThreadStorePermanentDeleteBatchForRetentionPolicies(t *testing.T, rctx
}, -1)
require.NoError(t, err)
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: model.NewId(),
})
require.NoError(t, err)
threadStoreCreateReply(t, ss, channel.Id, post.Id, post.UserId, 2000)
threadStoreCreateReply(t, rctx, ss, channel.Id, post.Id, post.UserId, 2000)
thread, err := ss.Thread().Get(post.Id)
require.NoError(t, err)
@ -535,7 +534,7 @@ func testThreadStorePermanentDeleteBatchForRetentionPolicies(t *testing.T, rctx
assert.Nil(t, thread, "thread should have been deleted by channel policy")
// create a new thread
threadStoreCreateReply(t, ss, channel.Id, post.Id, post.UserId, 2000)
threadStoreCreateReply(t, rctx, ss, channel.Id, post.Id, post.UserId, 2000)
thread, err = ss.Thread().Get(post.Id)
require.NoError(t, err)
@ -596,12 +595,12 @@ func testThreadStorePermanentDeleteBatchThreadMembershipsForRetentionPolicies(t
Type: model.ChannelTypeOpen,
}, -1)
require.NoError(t, err)
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id,
UserId: model.NewId(),
})
require.NoError(t, err)
threadStoreCreateReply(t, ss, channel.Id, post.Id, post.UserId, 2000)
threadStoreCreateReply(t, rctx, ss, channel.Id, post.Id, post.UserId, 2000)
threadMembership := createThreadMembership(userID, post.Id)
@ -691,13 +690,13 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
Type: model.ChannelTypeOpen,
}, -1)
require.NoError(t, err)
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: userID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
threadStoreCreateReply(t, ss, channel1.Id, post.Id, post.UserId, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, channel1.Id, post.Id, post.UserId, model.GetMillis())
createThreadMembership(userID, post.Id)
teamsUnread, err := ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id}, true)
@ -705,13 +704,13 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
assert.Len(t, teamsUnread, 1)
assert.Equal(t, int64(1), teamsUnread[team1.Id].ThreadCount)
post, err = ss.Post().Save(&model.Post{
post, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: userID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
threadStoreCreateReply(t, ss, channel1.Id, post.Id, post.UserId, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, channel1.Id, post.Id, post.UserId, model.GetMillis())
createThreadMembership(userID, post.Id)
teamsUnread, err = ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id}, true)
@ -734,7 +733,7 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1)
require.NoError(t, err)
post2, err := ss.Post().Save(&model.Post{
post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id,
UserId: userID,
Message: model.NewRandomString(10),
@ -747,7 +746,7 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
},
})
require.NoError(t, err)
threadStoreCreateReply(t, ss, channel2.Id, post2.Id, post2.UserId, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, channel2.Id, post2.Id, post2.UserId, model.GetMillis())
createThreadMembership(userID, post2.Id)
teamsUnread, err = ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id, team2.Id}, true)
@ -862,21 +861,21 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1)
require.NoError(t, err)
team1channel1post1, err := ss.Post().Save(&model.Post{
team1channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
team1channel1post2, err := ss.Post().Save(&model.Post{
team1channel1post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
team1channel1post3, err := ss.Post().Save(&model.Post{
team1channel1post3, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
@ -890,28 +889,28 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
team2channel1post1, err := ss.Post().Save(&model.Post{
team2channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
team2channel1post2deleted, err := ss.Post().Save(&model.Post{
team2channel1post2deleted, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
dm1post1, err := ss.Post().Save(&model.Post{
dm1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: dm1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
gm1post1, err := ss.Post().Save(&model.Post{
gm1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: gm1.Id,
UserId: user1ID,
Message: model.NewRandomString(10),
@ -928,13 +927,13 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
gm1post1.Id: "gm1post1",
}
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post3.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team2channel1.Id, team2channel1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team2channel1.Id, team2channel1post2deleted.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, dm1.Id, dm1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, gm1.Id, gm1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post3.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, team2channel1.Id, team2channel1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, team2channel1.Id, team2channel1post2deleted.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, dm1.Id, dm1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, gm1.Id, gm1post1.Id, user2ID, model.GetMillis())
// Create thread memberships, with simulated unread mentions.
createThreadMembership(user1ID, team1channel1post1.Id, false)
@ -953,7 +952,7 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
// Add reply to a viewed thread to confirm it's unread again.
time.Sleep(2 * time.Millisecond)
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis())
// Actually make team2channel1post2deleted deleted
err = ss.Post().Delete(rctx, team2channel1post2deleted.Id, model.GetMillis(), user1ID)
@ -1261,14 +1260,14 @@ func testMarkAllAsReadByChannels(t *testing.T, rctx request.CTX, ss store.Store)
})
t.Run("single channel", func(t *testing.T) {
post, err := ss.Post().Save(&model.Post{
post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: postingUserId,
RootId: post.Id,
@ -1296,14 +1295,14 @@ func testMarkAllAsReadByChannels(t *testing.T, rctx request.CTX, ss store.Store)
})
t.Run("multiple channels", func(t *testing.T) {
post1, err := ss.Post().Save(&model.Post{
post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: postingUserId,
RootId: post1.Id,
@ -1311,14 +1310,14 @@ func testMarkAllAsReadByChannels(t *testing.T, rctx request.CTX, ss store.Store)
})
require.NoError(t, err)
post2, err := ss.Post().Save(&model.Post{
post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id,
UserId: postingUserId,
RootId: post2.Id,
@ -1423,14 +1422,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1)
require.NoError(t, err)
team1channel1post1, err := ss.Post().Save(&model.Post{
team1channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id,
UserId: postingUserId,
RootId: team1channel1post1.Id,
@ -1438,14 +1437,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
team1channel2post1, err := ss.Post().Save(&model.Post{
team1channel2post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel2.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id,
UserId: postingUserId,
RootId: team1channel2post1.Id,
@ -1453,14 +1452,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
team2channel1post1, err := ss.Post().Save(&model.Post{
team2channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id,
UserId: postingUserId,
RootId: team2channel1post1.Id,
@ -1468,14 +1467,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
})
require.NoError(t, err)
team2channel2post1, err := ss.Post().Save(&model.Post{
team2channel2post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel2.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id,
UserId: postingUserId,
RootId: team2channel2post1.Id,
@ -1490,14 +1489,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1)
require.NoError(t, err)
gm1post1, err := ss.Post().Save(&model.Post{
gm1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: gm1.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: gm1.Id,
UserId: postingUserId,
RootId: gm1post1.Id,
@ -1512,14 +1511,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1)
require.NoError(t, err)
gm2post1, err := ss.Post().Save(&model.Post{
gm2post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: gm2.Id,
UserId: postingUserId,
Message: "Root",
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: gm2.Id,
UserId: postingUserId,
RootId: gm2post1.Id,
@ -1620,14 +1619,14 @@ func testDeleteMembershipsForChannel(t *testing.T, rctx request.CTX, ss store.St
}, -1)
require.NoError(t, err)
rootPost1, err := ss.Post().Save(&model.Post{
rootPost1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: postingUserID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id,
UserId: postingUserID,
Message: model.NewRandomString(10),
@ -1635,13 +1634,13 @@ func testDeleteMembershipsForChannel(t *testing.T, rctx request.CTX, ss store.St
})
require.NoError(t, err)
rootPost2, err := ss.Post().Save(&model.Post{
rootPost2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id,
UserId: postingUserID,
Message: model.NewRandomString(10),
})
require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{
_, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id,
UserId: postingUserID,
Message: model.NewRandomString(10),

View File

@ -2468,7 +2468,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) {
p1.Message = "this is a message for @" + u2.Username + " and " + "@" + u3.Username
// Post one message with mention to open channel
_, nErr = ss.Post().Save(&p1)
_, nErr = ss.Post().Save(rctx, &p1)
require.NoError(t, nErr)
nErr = ss.Channel().IncrementMentionCount(c1.Id, []string{u2.Id, u3.Id}, false, false)
require.NoError(t, nErr)
@ -2479,7 +2479,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) {
p2.UserId = u1.Id
p2.Message = "first message"
_, nErr = ss.Post().Save(&p2)
_, nErr = ss.Post().Save(rctx, &p2)
require.NoError(t, nErr)
nErr = ss.Channel().IncrementMentionCount(c2.Id, []string{u2.Id}, false, false)
require.NoError(t, nErr)
@ -2488,7 +2488,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) {
p3.ChannelId = c2.Id
p3.UserId = u1.Id
p3.Message = "second message"
_, nErr = ss.Post().Save(&p3)
_, nErr = ss.Post().Save(rctx, &p3)
require.NoError(t, nErr)
nErr = ss.Channel().IncrementMentionCount(c2.Id, []string{u2.Id}, false, false)
@ -6231,7 +6231,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store, s SqlStor
for _, user := range users {
for i := 0; i < numPostsPerUser; i++ {
post := model.Post{UserId: user.Id, ChannelId: model.NewId(), Message: NewTestId(), CreateAt: now.AddDate(0, 0, -i).UnixMilli()}
_, err := ss.Post().Save(&post)
_, err := ss.Post().Save(rctx, &post)
require.NoError(t, err)
}
}

View File

@ -6153,10 +6153,10 @@ func (s *TimerLayerPostStore) PermanentDeleteByUser(rctx request.CTX, userID str
return err
}
func (s *TimerLayerPostStore) Save(post *model.Post) (*model.Post, error) {
func (s *TimerLayerPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
start := time.Now()
result, err := s.PostStore.Save(post)
result, err := s.PostStore.Save(rctx, post)
elapsed := float64(time.Since(start)) / float64(time.Second)
if s.Root.Metrics != nil {

View File

@ -670,7 +670,7 @@ func (si *SlackImporter) oldImportPost(rctx request.CTX, post *model.Post) strin
post.RootId = firstPostId
_, err := si.store.Post().Save(post)
_, err := si.store.Post().Save(rctx, post)
if err != nil {
rctx.Logger().Debug("Error saving post.", mlog.String("user_id", post.UserId), mlog.String("message", post.Message))
}