MM-24692: Add a since parameter to getGroups api (#14444)

* add a since parameter to getGroups api

* update for lint error

* when using since, return deleted groups as well.

* update flaky test, groups have same create time

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Scott Bishel
2020-05-07 14:35:09 -06:00
коммит произвёл GitHub
родитель 1031e27fd8
Коммит 80c846412d
6 изменённых файлов: 87 добавлений и 2 удалений

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

@@ -1144,9 +1144,16 @@ func (s *SqlGroupStore) GetGroups(page, perPage int, opts model.GroupSearchOpts)
groupsQuery = groupsQuery.
From("UserGroups g").
Where("g.DeleteAt = 0").
OrderBy("g.DisplayName")
if opts.Since > 0 {
groupsQuery = groupsQuery.Where(sq.Gt{
"g.UpdateAt": opts.Since,
})
} else {
groupsQuery = groupsQuery.Where("g.DeleteAt = 0")
}
if perPage != 0 {
groupsQuery = groupsQuery.
Limit(uint64(perPage)).

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

@@ -3010,6 +3010,8 @@ func testGetGroups(t *testing.T, ss store.Store) {
team1, err := ss.Team().Save(team1)
require.Nil(t, err)
startCreateTime := team1.UpdateAt - 1
// Create Channel1
channel1 := &model.Channel{
TeamId: model.NewId(),
@@ -3148,10 +3150,12 @@ func testGetGroups(t *testing.T, ss store.Store) {
require.Nil(t, err)
user2.DeleteAt = 1
ss.User().Update(user2, true)
u2Update, _ := ss.User().Update(user2, true)
group2NameSubstring := "group-2"
endCreateTime := u2Update.New.UpdateAt + 1
testCases := []struct {
Name string
Page int
@@ -3309,6 +3313,32 @@ func testGetGroups(t *testing.T, ss store.Store) {
return true
},
},
{
Name: "Use Since return all",
Opts: model.GroupSearchOpts{FilterAllowReference: true, Since: startCreateTime},
Page: 0,
PerPage: 100,
Resultf: func(groups []*model.Group) bool {
if len(groups) == 0 {
return false
}
for _, g := range groups {
if g.DeleteAt != 0 {
return false
}
}
return true
},
},
{
Name: "Use Since return none",
Opts: model.GroupSearchOpts{FilterAllowReference: true, Since: endCreateTime},
Page: 0,
PerPage: 100,
Resultf: func(groups []*model.Group) bool {
return len(groups) == 0
},
},
}
for _, tc := range testCases {