* Added - golang version validation. * Updated error message to include the minor version that is supported. * Fixed issue with variable. * Renamed variable. * Added - golang version validation. Added validation for major and minor versions of go. * Fixed the way the validation is performed. * Changed function declaration (define validate_go_version) to a target (validate_go_version). * remove unneeded call to validate_go_version * [16331] Migrated Channel.SaveMember to sync by default (#10613) * Used require.Nil to check for err variable instaed of using panic with if statement. * Used require.Nil to check for err variable instaed of using panic with if statement in user_store * fixed errors about shadowing with err variable. * Fixed issue with vet tool validation. * Fixed go fmt tool validation.
Этот коммит содержится в:
коммит произвёл
Jesús Espino
родитель
4ada8aacd4
Коммит
5f61047d02
@@ -93,9 +93,7 @@ func (a *App) JoinDefaultChannels(teamId string, user *model.User, shouldBeAdmin
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
|
||||
if cmResult := <-a.Srv.Store.Channel().SaveMember(cm); cmResult.Err != nil {
|
||||
err = cmResult.Err
|
||||
}
|
||||
_, err = a.Srv.Store.Channel().SaveMember(cm)
|
||||
if histErr := a.Srv.Store.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()); histErr != nil {
|
||||
mlog.Warn(fmt.Sprintf("Failed to update ChannelMemberHistory table %v", histErr))
|
||||
}
|
||||
@@ -240,8 +238,8 @@ func (a *App) CreateChannel(channel *model.Channel, addMember bool) (*model.Chan
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
|
||||
if cmresult := <-a.Srv.Store.Channel().SaveMember(cm); cmresult.Err != nil {
|
||||
return nil, cmresult.Err
|
||||
if _, err := a.Srv.Store.Channel().SaveMember(cm); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := a.Srv.Store.ChannelMemberHistory().LogJoinEvent(channel.CreatorId, sc.Id, model.GetMillis()); err != nil {
|
||||
mlog.Warn(fmt.Sprintf("Failed to update ChannelMemberHistory table %v", err))
|
||||
@@ -466,8 +464,8 @@ func (a *App) createGroupChannel(userIds []string, creatorId string) (*model.Cha
|
||||
SchemeUser: !user.IsGuest(),
|
||||
}
|
||||
|
||||
if result := <-a.Srv.Store.Channel().SaveMember(cm); result.Err != nil {
|
||||
return nil, result.Err
|
||||
if _, err := a.Srv.Store.Channel().SaveMember(cm); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := a.Srv.Store.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()); err != nil {
|
||||
mlog.Warn(fmt.Sprintf("Failed to update ChannelMemberHistory table %v", err))
|
||||
@@ -918,8 +916,8 @@ func (a *App) addUserToChannel(user *model.User, channel *model.Channel, teamMem
|
||||
SchemeGuest: user.IsGuest(),
|
||||
SchemeUser: !user.IsGuest(),
|
||||
}
|
||||
if result := <-a.Srv.Store.Channel().SaveMember(newMember); result.Err != nil {
|
||||
mlog.Error(fmt.Sprintf("Failed to add member user_id=%v channel_id=%v err=%v", user.Id, channel.Id, result.Err), mlog.String("user_id", user.Id))
|
||||
if _, err = a.Srv.Store.Channel().SaveMember(newMember); err != nil {
|
||||
mlog.Error(fmt.Sprintf("Failed to add member user_id=%v channel_id=%v err=%v", user.Id, channel.Id, err), mlog.String("user_id", user.Id))
|
||||
return nil, model.NewAppError("AddUserToChannel", "api.channel.add_user.to.channel.failed.app_error", nil, "", http.StatusInternalServerError)
|
||||
}
|
||||
a.WaitForChannelMembership(channel.Id, user.Id)
|
||||
|
||||
@@ -1291,34 +1291,31 @@ var CHANNEL_MEMBERS_WITH_SCHEME_SELECT_QUERY = `
|
||||
Schemes TeamScheme ON Teams.SchemeId = TeamScheme.Id
|
||||
`
|
||||
|
||||
func (s SqlChannelStore) SaveMember(member *model.ChannelMember) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
defer s.InvalidateAllChannelMembersForUser(member.UserId)
|
||||
func (s SqlChannelStore) SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError) {
|
||||
defer s.InvalidateAllChannelMembersForUser(member.UserId)
|
||||
|
||||
// Grab the channel we are saving this member to
|
||||
channel, errCh := s.GetFromMaster(member.ChannelId)
|
||||
if errCh != nil {
|
||||
result.Err = errCh
|
||||
return
|
||||
}
|
||||
// Grab the channel we are saving this member to
|
||||
channel, errCh := s.GetFromMaster(member.ChannelId)
|
||||
if errCh != nil {
|
||||
return nil, errCh
|
||||
}
|
||||
|
||||
transaction, err := s.GetMaster().Begin()
|
||||
if err != nil {
|
||||
result.Err = model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
defer finalizeTransaction(transaction)
|
||||
transaction, err := s.GetMaster().Begin()
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
defer finalizeTransaction(transaction)
|
||||
|
||||
*result = s.saveMemberT(transaction, member, channel)
|
||||
if result.Err != nil {
|
||||
return
|
||||
}
|
||||
storeResult := s.saveMemberT(transaction, member, channel)
|
||||
if storeResult.Err != nil {
|
||||
return nil, storeResult.Err
|
||||
}
|
||||
|
||||
if err := transaction.Commit(); err != nil {
|
||||
result.Err = model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
})
|
||||
if err := transaction.Commit(); err != nil {
|
||||
return nil, model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return storeResult.Data.(*model.ChannelMember), nil
|
||||
}
|
||||
|
||||
func (s SqlChannelStore) saveMemberT(transaction *gorp.Transaction, member *model.ChannelMember, channel *model.Channel) store.StoreResult {
|
||||
|
||||
@@ -158,7 +158,7 @@ type ChannelStore interface {
|
||||
GetAll(teamId string) ([]*model.Channel, *model.AppError)
|
||||
GetChannelsByIds(channelIds []string) ([]*model.Channel, *model.AppError)
|
||||
GetForPost(postId string) (*model.Channel, *model.AppError)
|
||||
SaveMember(member *model.ChannelMember) StoreChannel
|
||||
SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError)
|
||||
UpdateMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError)
|
||||
GetMembers(channelId string, offset, limit int) (*model.ChannelMembers, *model.AppError)
|
||||
GetMember(channelId string, userId string) (*model.ChannelMember, *model.AppError)
|
||||
|
||||
@@ -207,11 +207,12 @@ func testGetUsersInChannelAtChannelMembers(t *testing.T, ss store.Store) {
|
||||
// available in the ChannelMemberHistory table. Instead, we'll fall back to the ChannelMembers table for a rough approximation
|
||||
joinTime := int64(1000)
|
||||
leaveTime := joinTime + 5000
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: channel.Id,
|
||||
UserId: user.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
// in every single case, the user will be included in the export, because ChannelMembers says they were in the channel at some point in
|
||||
// the past, even though the time that they were actually in the channel doesn't necessarily overlap with the export period
|
||||
|
||||
@@ -304,7 +304,8 @@ func testGetChannelUnread(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: notifyPropsModel, MsgCount: 90}
|
||||
store.Must(ss.Channel().SaveMember(cm1))
|
||||
_, err = ss.Channel().SaveMember(cm1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Setup Channel 2
|
||||
c2 := &model.Channel{TeamId: m2.TeamId, Name: model.NewId(), DisplayName: "Cultural", Type: model.CHANNEL_OPEN, TotalMsgCount: 100}
|
||||
@@ -312,7 +313,8 @@ func testGetChannelUnread(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m2.UserId, NotifyProps: notifyPropsModel, MsgCount: 90, MentionCount: 5}
|
||||
store.Must(ss.Channel().SaveMember(cm2))
|
||||
_, err = ss.Channel().SaveMember(cm2)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Check for Channel 1
|
||||
if ch, err := ss.Channel().GetChannelUnread(c1.Id, uid); err != nil {
|
||||
@@ -609,13 +611,15 @@ func testChannelStoreDelete(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = o2.Id
|
||||
m2.UserId = m1.UserId
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
if err = ss.Channel().Delete(o1.Id, model.GetMillis()); err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -887,13 +891,15 @@ func testChannelMemberStore(t *testing.T, ss store.Store) {
|
||||
o1.ChannelId = c1.Id
|
||||
o1.UserId = u1.Id
|
||||
o1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&o1))
|
||||
_, err = ss.Channel().SaveMember(&o1)
|
||||
require.Nil(t, err)
|
||||
|
||||
o2 := model.ChannelMember{}
|
||||
o2.ChannelId = c1.Id
|
||||
o2.UserId = u2.Id
|
||||
o2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&o2))
|
||||
_, err = ss.Channel().SaveMember(&o2)
|
||||
require.Nil(t, err)
|
||||
|
||||
c1t2, _ := ss.Channel().Get(c1.Id, false)
|
||||
assert.EqualValues(t, 0, c1t2.ExtraUpdateAt, "ExtraUpdateAt should be 0")
|
||||
@@ -941,7 +947,7 @@ func testChannelMemberStore(t *testing.T, ss store.Store) {
|
||||
t.Fatal("should have go member")
|
||||
}
|
||||
|
||||
if err := (<-ss.Channel().SaveMember(&o1)).Err; err == nil {
|
||||
if _, err := ss.Channel().SaveMember(&o1); err == nil {
|
||||
t.Fatal("Should have been a duplicate")
|
||||
}
|
||||
|
||||
@@ -979,13 +985,15 @@ func testChannelDeleteMemberStore(t *testing.T, ss store.Store) {
|
||||
o1.ChannelId = c1.Id
|
||||
o1.UserId = u1.Id
|
||||
o1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&o1))
|
||||
_, err = ss.Channel().SaveMember(&o1)
|
||||
require.Nil(t, err)
|
||||
|
||||
o2 := model.ChannelMember{}
|
||||
o2.ChannelId = c1.Id
|
||||
o2.UserId = u2.Id
|
||||
o2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&o2))
|
||||
_, err = ss.Channel().SaveMember(&o2)
|
||||
require.Nil(t, err)
|
||||
|
||||
c1t2, _ := ss.Channel().Get(c1.Id, false)
|
||||
assert.EqualValues(t, 0, c1t2.ExtraUpdateAt, "ExtraUpdateAt should be 0")
|
||||
@@ -1037,19 +1045,22 @@ func testChannelStoreGetChannels(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = o1.Id
|
||||
m2.UserId = model.NewId()
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
m3 := model.ChannelMember{}
|
||||
m3.ChannelId = o2.Id
|
||||
m3.UserId = model.NewId()
|
||||
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
list, err := ss.Channel().GetChannels(o1.TeamId, m1.UserId, false)
|
||||
require.Nil(t, err)
|
||||
@@ -1226,17 +1237,19 @@ func testChannelStoreGetMoreChannels(t *testing.T, ss store.Store) {
|
||||
_, err := ss.Channel().Save(&o1, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: o1.Id,
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: o1.Id,
|
||||
UserId: otherUserId1,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
// o2 is a channel on the other team to which the user belongs
|
||||
o2 := model.Channel{
|
||||
@@ -1248,11 +1261,12 @@ func testChannelStoreGetMoreChannels(t *testing.T, ss store.Store) {
|
||||
_, err = ss.Channel().Save(&o2, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: o2.Id,
|
||||
UserId: otherUserId2,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
// o3 is a channel on the team to which the user does not belong, and thus should show up
|
||||
// in "more channels"
|
||||
@@ -1285,11 +1299,12 @@ func testChannelStoreGetMoreChannels(t *testing.T, ss store.Store) {
|
||||
_, err = ss.Channel().Save(&o5, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: o5.Id,
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
t.Run("only o3 listed in more channels", func(t *testing.T) {
|
||||
list, channelErr := ss.Channel().GetMoreChannels(teamId, userId, 0, 100)
|
||||
@@ -1547,19 +1562,22 @@ func testChannelStoreGetChannelCounts(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = o1.Id
|
||||
m2.UserId = model.NewId()
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
m3 := model.ChannelMember{}
|
||||
m3.ChannelId = o2.Id
|
||||
m3.UserId = model.NewId()
|
||||
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
counts, _ := ss.Channel().GetChannelCounts(o1.TeamId, m1.UserId)
|
||||
|
||||
@@ -1601,13 +1619,15 @@ func testChannelStoreGetMembersForUser(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = o2.Id
|
||||
m2.UserId = m1.UserId
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
members, err := ss.Channel().GetMembersForUser(o1.TeamId, m1.UserId)
|
||||
require.Nil(t, err)
|
||||
@@ -1647,13 +1667,15 @@ func testChannelStoreGetMembersForUserWithPagination(t *testing.T, ss store.Stor
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = o2.Id
|
||||
m2.UserId = m1.UserId
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
members, err := ss.Channel().GetMembersForUserWithPagination(o1.TeamId, m1.UserId, 0, 1)
|
||||
require.Nil(t, err)
|
||||
@@ -1679,7 +1701,8 @@ func testChannelStoreUpdateLastViewedAt(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
o2 := model.Channel{}
|
||||
o2.TeamId = model.NewId()
|
||||
@@ -1695,7 +1718,8 @@ func testChannelStoreUpdateLastViewedAt(t *testing.T, ss store.Store) {
|
||||
m2.ChannelId = o2.Id
|
||||
m2.UserId = m1.UserId
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
var times map[string]int64
|
||||
if times, err = ss.Channel().UpdateLastViewedAt([]string{m1.ChannelId}, m1.UserId); err != nil {
|
||||
@@ -1741,7 +1765,8 @@ func testChannelStoreIncrementMentionCount(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = model.NewId()
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
err = ss.Channel().IncrementMentionCount(m1.ChannelId, m1.UserId)
|
||||
if err != nil {
|
||||
@@ -1781,7 +1806,8 @@ func testUpdateChannelMember(t *testing.T, ss store.Store) {
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(m1))
|
||||
_, err = ss.Channel().SaveMember(m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m1.NotifyProps["test"] = "sometext"
|
||||
if _, err := ss.Channel().UpdateMember(m1); err != nil {
|
||||
@@ -1820,14 +1846,16 @@ func testGetMember(t *testing.T, ss store.Store) {
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(m1))
|
||||
_, err = ss.Channel().SaveMember(m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := &model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(m2))
|
||||
_, err = ss.Channel().SaveMember(m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
if _, err := ss.Channel().GetMember(model.NewId(), userId); err == nil {
|
||||
t.Fatal("should've failed to get member for non-existent channel")
|
||||
@@ -1880,11 +1908,12 @@ func testChannelStoreGetMemberForPost(t *testing.T, ss store.Store) {
|
||||
o1, err := ss.Channel().Save(ch, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m1 := store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
m1, err := ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: o1.Id,
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
})).(*model.ChannelMember)
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
p1, err := ss.Post().Save(&model.Post{
|
||||
UserId: model.NewId(),
|
||||
@@ -1938,7 +1967,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
|
||||
t.Fatalf("failed to get member count: %v", channelErr)
|
||||
@@ -1959,7 +1989,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
|
||||
t.Fatalf("failed to get member count: %v", channelErr)
|
||||
@@ -1981,7 +2012,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
|
||||
t.Fatalf("failed to get member count: %v", channelErr)
|
||||
@@ -2003,7 +2035,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
|
||||
UserId: u4.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m4))
|
||||
_, err = ss.Channel().SaveMember(&m4)
|
||||
require.Nil(t, err)
|
||||
|
||||
if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil {
|
||||
t.Fatalf("failed to get member count: %v", err)
|
||||
@@ -2030,14 +2063,16 @@ func testChannelStoreSearchMore(t *testing.T, ss store.Store) {
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{
|
||||
ChannelId: o1.Id,
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
o2 := model.Channel{
|
||||
TeamId: otherTeamId,
|
||||
@@ -2053,7 +2088,8 @@ func testChannelStoreSearchMore(t *testing.T, ss store.Store) {
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
o3 := model.Channel{
|
||||
TeamId: teamId,
|
||||
@@ -2205,21 +2241,24 @@ func testChannelStoreSearchInTeam(t *testing.T, ss store.Store) {
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{
|
||||
ChannelId: o1.Id,
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
m3 := model.ChannelMember{
|
||||
ChannelId: o2.Id,
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
o3 := model.Channel{
|
||||
TeamId: teamId,
|
||||
@@ -2408,21 +2447,24 @@ func testChannelStoreSearchAllChannels(t *testing.T, ss store.Store) {
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{
|
||||
ChannelId: o1.Id,
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
m3 := model.ChannelMember{
|
||||
ChannelId: o2.Id,
|
||||
UserId: model.NewId(),
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
o3 := model.Channel{
|
||||
TeamId: t1.Id,
|
||||
@@ -2616,7 +2658,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
|
||||
m1.ChannelId = o1.Id
|
||||
m1.UserId = u1.Id
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
o2 := model.Channel{}
|
||||
o2.TeamId = model.NewId()
|
||||
@@ -2630,7 +2673,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
|
||||
m2.ChannelId = o2.Id
|
||||
m2.UserId = m1.UserId
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
o3 := model.Channel{}
|
||||
o3.TeamId = o1.TeamId
|
||||
@@ -2644,7 +2688,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
|
||||
m3.ChannelId = o3.Id
|
||||
m3.UserId = m1.UserId
|
||||
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
err = ss.Channel().SetDeleteAt(o3.Id, 100, 100)
|
||||
require.Nil(t, err, "channel should have been deleted")
|
||||
@@ -2661,7 +2706,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
|
||||
m4.ChannelId = o4.Id
|
||||
m4.UserId = m1.UserId
|
||||
m4.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m4))
|
||||
_, err = ss.Channel().SaveMember(&m4)
|
||||
require.Nil(t, err)
|
||||
|
||||
o5 := model.Channel{}
|
||||
o5.TeamId = o1.TeamId
|
||||
@@ -2714,9 +2760,11 @@ func testChannelStoreGetMembersByIds(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
m1 := &model.ChannelMember{ChannelId: o1.Id, UserId: model.NewId(), NotifyProps: model.GetDefaultChannelNotifyProps()}
|
||||
store.Must(ss.Channel().SaveMember(m1))
|
||||
_, err = ss.Channel().SaveMember(m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
if members, err := ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId}); err != nil {
|
||||
var members *model.ChannelMembers
|
||||
if members, err = ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
rm1 := (*members)[0]
|
||||
@@ -2731,9 +2779,10 @@ func testChannelStoreGetMembersByIds(t *testing.T, ss store.Store) {
|
||||
}
|
||||
|
||||
m2 := &model.ChannelMember{ChannelId: o1.Id, UserId: model.NewId(), NotifyProps: model.GetDefaultChannelNotifyProps()}
|
||||
store.Must(ss.Channel().SaveMember(m2))
|
||||
_, err = ss.Channel().SaveMember(m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
if members, err := ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId, m2.UserId, model.NewId()}); err != nil {
|
||||
if members, err = ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId, m2.UserId, model.NewId()}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
if len(*members) != 2 {
|
||||
@@ -2741,7 +2790,7 @@ func testChannelStoreGetMembersByIds(t *testing.T, ss store.Store) {
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := ss.Channel().GetMembersByIds(m1.ChannelId, []string{}); err == nil {
|
||||
if _, err = ss.Channel().GetMembersByIds(m1.ChannelId, []string{}); err == nil {
|
||||
t.Fatal("empty user ids - should have failed")
|
||||
}
|
||||
}
|
||||
@@ -2786,11 +2835,12 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
for _, userId := range userIds {
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: gc1.Id,
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
userIds = []string{u1.Id, u4.Id}
|
||||
@@ -2802,11 +2852,12 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
for _, userId := range userIds {
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: gc2.Id,
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
userIds = []string{u1.Id, u2.Id, u3.Id, u4.Id}
|
||||
@@ -2818,11 +2869,12 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
for _, userId := range userIds {
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err := ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: gc3.Id,
|
||||
UserId: userId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
@@ -3146,9 +3198,9 @@ func testChannelStoreMigrateChannelMembers(t *testing.T, ss store.Store) {
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}
|
||||
|
||||
cm1 = (<-ss.Channel().SaveMember(cm1)).Data.(*model.ChannelMember)
|
||||
cm2 = (<-ss.Channel().SaveMember(cm2)).Data.(*model.ChannelMember)
|
||||
cm3 = (<-ss.Channel().SaveMember(cm3)).Data.(*model.ChannelMember)
|
||||
cm1, _ = ss.Channel().SaveMember(cm1)
|
||||
cm2, _ = ss.Channel().SaveMember(cm2)
|
||||
cm3, _ = ss.Channel().SaveMember(cm3)
|
||||
|
||||
lastDoneChannelId := strings.Repeat("0", 26)
|
||||
lastDoneUserId := strings.Repeat("0", 26)
|
||||
@@ -3265,10 +3317,14 @@ func testChannelStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store)
|
||||
ExplicitRoles: "custom_only",
|
||||
}
|
||||
|
||||
store.Must(ss.Channel().SaveMember(m1))
|
||||
store.Must(ss.Channel().SaveMember(m2))
|
||||
store.Must(ss.Channel().SaveMember(m3))
|
||||
store.Must(ss.Channel().SaveMember(m4))
|
||||
_, err := ss.Channel().SaveMember(m1)
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(m2)
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(m3)
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(m4)
|
||||
require.Nil(t, err)
|
||||
|
||||
require.Nil(t, ss.Channel().ClearAllCustomRoleAssignments())
|
||||
|
||||
@@ -3515,13 +3571,15 @@ func testChannelStoreGetChannelMembersForExport(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = c1.Id
|
||||
m1.UserId = u1.Id
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = c2.Id
|
||||
m2.UserId = u1.Id
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
d1, err := ss.Channel().GetChannelMembersForExport(u1.Id, t1.Id)
|
||||
assert.Nil(t, err)
|
||||
@@ -3574,19 +3632,22 @@ func testChannelStoreRemoveAllDeactivatedMembers(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = c1.Id
|
||||
m1.UserId = u1.Id
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err = ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
m2 := model.ChannelMember{}
|
||||
m2.ChannelId = c1.Id
|
||||
m2.UserId = u2.Id
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
m3 := model.ChannelMember{}
|
||||
m3.ChannelId = c1.Id
|
||||
m3.UserId = u3.Id
|
||||
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Get all the channel members. Check there are 3.
|
||||
d1, err := ss.Channel().GetMembers(c1.Id, 0, 1000)
|
||||
|
||||
@@ -1524,12 +1524,12 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
|
||||
}
|
||||
|
||||
for _, item := range userIDChannelIDs {
|
||||
res := <-ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err := ss.Channel().SaveMember(&model.ChannelMember{
|
||||
UserId: item[0],
|
||||
ChannelId: item[1],
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
return &removalsData{
|
||||
@@ -2382,14 +2382,14 @@ func testChannelMembersMinusGroupMembers(t *testing.T, ss store.Store) {
|
||||
users = append(users, user)
|
||||
|
||||
trueOrFalse := int(math.Mod(float64(i), 2)) == 0
|
||||
res := <-ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err := ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: channel.Id,
|
||||
UserId: user.Id,
|
||||
SchemeUser: trueOrFalse,
|
||||
SchemeAdmin: !trueOrFalse,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
for i := 0; i < numberOfGroups; i++ {
|
||||
|
||||
@@ -1329,19 +1329,28 @@ func (_m *ChannelStore) SaveDirectChannel(channel *model.Channel, member1 *model
|
||||
}
|
||||
|
||||
// SaveMember provides a mock function with given fields: member
|
||||
func (_m *ChannelStore) SaveMember(member *model.ChannelMember) store.StoreChannel {
|
||||
func (_m *ChannelStore) SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError) {
|
||||
ret := _m.Called(member)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(*model.ChannelMember) store.StoreChannel); ok {
|
||||
var r0 *model.ChannelMember
|
||||
if rf, ok := ret.Get(0).(func(*model.ChannelMember) *model.ChannelMember); ok {
|
||||
r0 = rf(member)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.ChannelMember)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(*model.ChannelMember) *model.AppError); ok {
|
||||
r1 = rf(member)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// SearchAllChannels provides a mock function with given fields: term, opts
|
||||
|
||||
@@ -1181,7 +1181,8 @@ func testPostStoreSearch(t *testing.T, ss store.Store) {
|
||||
m1.ChannelId = c1.Id
|
||||
m1.UserId = userId
|
||||
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
_, err := ss.Channel().SaveMember(&m1)
|
||||
require.Nil(t, err)
|
||||
|
||||
c2 := &model.Channel{}
|
||||
c2.TeamId = teamId
|
||||
@@ -1203,13 +1204,14 @@ func testPostStoreSearch(t *testing.T, ss store.Store) {
|
||||
m3.ChannelId = c3.Id
|
||||
m3.UserId = userId
|
||||
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
store.Must(ss.Channel().SaveMember(&m3))
|
||||
_, err = ss.Channel().SaveMember(&m3)
|
||||
require.Nil(t, err)
|
||||
|
||||
o1 := &model.Post{}
|
||||
o1.ChannelId = c1.Id
|
||||
o1.UserId = model.NewId()
|
||||
o1.Message = "corey mattermost new york"
|
||||
o1, err := ss.Post().Save(o1)
|
||||
o1, err = ss.Post().Save(o1)
|
||||
require.Nil(t, err)
|
||||
|
||||
o1a := &model.Post{}
|
||||
|
||||
@@ -1197,9 +1197,11 @@ func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
|
||||
store.Must(ss.Channel().SaveMember(cm1))
|
||||
_, err = ss.Channel().SaveMember(cm1)
|
||||
require.Nil(t, err)
|
||||
cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m2.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
|
||||
store.Must(ss.Channel().SaveMember(cm2))
|
||||
_, err = ss.Channel().SaveMember(cm2)
|
||||
require.Nil(t, err)
|
||||
|
||||
if ms1, err := ss.Team().GetChannelUnreadsForAllTeams("", uid); err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -1261,9 +1263,11 @@ func testGetChannelUnreadsForTeam(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
|
||||
store.Must(ss.Channel().SaveMember(cm1))
|
||||
_, err = ss.Channel().SaveMember(cm1)
|
||||
require.Nil(t, err)
|
||||
cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m1.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
|
||||
store.Must(ss.Channel().SaveMember(cm2))
|
||||
_, err = ss.Channel().SaveMember(cm2)
|
||||
require.Nil(t, err)
|
||||
|
||||
if ms, err := ss.Team().GetChannelUnreadsForTeam(m1.TeamId, m1.UserId); err != nil {
|
||||
t.Fatal(err)
|
||||
|
||||
@@ -706,30 +706,33 @@ func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) {
|
||||
c2, err := ss.Channel().Save(ch2, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
|
||||
})
|
||||
require.Nil(t, err)
|
||||
t.Run("get in channel 1, offset 0, limit 100", func(t *testing.T) {
|
||||
result := <-ss.User().GetProfilesInChannel(c1.Id, 0, 100)
|
||||
require.Nil(t, result.Err)
|
||||
@@ -802,30 +805,33 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store) {
|
||||
c2, err := ss.Channel().Save(ch2, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Nil(t, ss.Status().SaveOrUpdate(&model.Status{
|
||||
UserId: u1.Id,
|
||||
Status: model.STATUS_DND,
|
||||
@@ -957,29 +963,35 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) {
|
||||
c2, err := ss.Channel().Save(ch2, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
t.Run("all profiles in channel 1, no caching", func(t *testing.T) {
|
||||
var profiles map[string]*model.User
|
||||
@@ -1098,30 +1110,35 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) {
|
||||
}, profiles)
|
||||
})
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.Run("get team 1, channel 1, offset 0, limit 100, after update", func(t *testing.T) {
|
||||
var profiles []*model.User
|
||||
profiles, err = ss.User().GetProfilesNotInChannel(teamId, c1.Id, false, 0, 100, nil)
|
||||
@@ -1298,11 +1315,12 @@ func testUserStoreGetProfileByGroupChannelIdsForUser(t *testing.T, ss store.Stor
|
||||
require.Nil(t, err)
|
||||
|
||||
for _, uId := range []string{u1.Id, u2.Id, u3.Id} {
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: gc1.Id,
|
||||
UserId: uId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
gc2, err := ss.Channel().Save(&model.Channel{
|
||||
@@ -1313,11 +1331,12 @@ func testUserStoreGetProfileByGroupChannelIdsForUser(t *testing.T, ss store.Stor
|
||||
require.Nil(t, err)
|
||||
|
||||
for _, uId := range []string{u1.Id, u3.Id, u4.Id} {
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: gc2.Id,
|
||||
UserId: uId,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
testCases := []struct {
|
||||
@@ -1902,8 +1921,8 @@ func testUserUnreadCount(t *testing.T, ss store.Store) {
|
||||
m2.UserId = u2.Id
|
||||
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&m1))
|
||||
store.Must(ss.Channel().SaveMember(&m2))
|
||||
_, err = ss.Channel().SaveMember(&m2)
|
||||
require.Nil(t, err)
|
||||
|
||||
m1.ChannelId = c2.Id
|
||||
m2.ChannelId = c2.Id
|
||||
@@ -2599,21 +2618,24 @@ func testUserStoreSearchNotInChannel(t *testing.T, ss store.Store) {
|
||||
c2, err := ss.Channel().Save(&ch2, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
})
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
})
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
testCases := []struct {
|
||||
Description string
|
||||
@@ -2819,21 +2841,24 @@ func testUserStoreSearchInChannel(t *testing.T, ss store.Store) {
|
||||
c2, err := ss.Channel().Save(&ch2, -1)
|
||||
require.Nil(t, err)
|
||||
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
})
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c2.Id,
|
||||
UserId: u2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
})
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: c1.Id,
|
||||
UserId: u3.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
testCases := []struct {
|
||||
Description string
|
||||
@@ -3731,16 +3756,18 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) {
|
||||
UserId: u2.Id,
|
||||
TeamId: t1.Id,
|
||||
}, 100))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
UserId: u2.Id,
|
||||
ChannelId: cPub1.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
})
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
UserId: u2.Id,
|
||||
ChannelId: cPub2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
startTime := u2.CreateAt
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
@@ -3756,16 +3783,18 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) {
|
||||
TeamId: t1.Id,
|
||||
DeleteAt: model.GetMillis(),
|
||||
}, 100))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
UserId: u3.Id,
|
||||
ChannelId: cPub2.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
|
||||
})
|
||||
require.Nil(t, err)
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
UserId: u3.Id,
|
||||
ChannelId: cPriv.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
}))
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
endTime := u3.CreateAt
|
||||
|
||||
@@ -3963,12 +3992,12 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) {
|
||||
userNoGroup := testUsers[2]
|
||||
|
||||
// add non-group-member to the channel (to prove that the query isn't just returning all members)
|
||||
res := <-ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: channel.Id,
|
||||
UserId: userNoGroup.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
require.Nil(t, err)
|
||||
|
||||
// create groups
|
||||
var testGroups []*model.Group
|
||||
@@ -4035,12 +4064,12 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) {
|
||||
requireNUsers(2)
|
||||
|
||||
// add team membership of allowed user
|
||||
res = <-ss.Channel().SaveMember(&model.ChannelMember{
|
||||
_, err = ss.Channel().SaveMember(&model.ChannelMember{
|
||||
ChannelId: channel.Id,
|
||||
UserId: userGroupA.Id,
|
||||
NotifyProps: model.GetDefaultChannelNotifyProps(),
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
require.Nil(t, err)
|
||||
|
||||
// ensure allowed member still returned by query
|
||||
requireNUsers(2)
|
||||
|
||||
Ссылка в новой задаче
Block a user