[MM-56399][MM-56397][MM-56456][MM-56269] Various changes for user reporting for admins (#25839)

* [MM-56399] Add user count endpoint for reporting

* [MM-56397] Added search term to user report filter

* Missing translation

* [MM-56456] Rename up/down to prev/next for reporting cursoring

* [MM-56269] Add DeleteAt, MfaActive and AuthService fields to UserReport

* PR feedback

* Fix test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Devin Binnie
2024-01-10 09:08:23 -05:00
коммит произвёл GitHub
родитель bb88b92b4c
Коммит 0a4e9eeb92
18 изменённых файлов: 365 добавлений и 97 удалений

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

@@ -1153,6 +1153,30 @@ func (_m *UserStore) GetUnreadCountForChannel(userID string, channelID string) (
return r0, r1
}
// GetUserCountForReport provides a mock function with given fields: filter
func (_m *UserStore) GetUserCountForReport(filter *model.UserReportOptions) (int64, error) {
ret := _m.Called(filter)
var r0 int64
var r1 error
if rf, ok := ret.Get(0).(func(*model.UserReportOptions) (int64, error)); ok {
return rf(filter)
}
if rf, ok := ret.Get(0).(func(*model.UserReportOptions) int64); ok {
r0 = rf(filter)
} else {
r0 = ret.Get(0).(int64)
}
if rf, ok := ret.Get(1).(func(*model.UserReportOptions) error); ok {
r1 = rf(filter)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// GetUserReport provides a mock function with given fields: filter
func (_m *UserStore) GetUserReport(filter *model.UserReportOptions) ([]*model.UserReportQuery, error) {
ret := _m.Called(filter)

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

@@ -6336,7 +6336,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store) {
userReport, err := ss.User().GetUserReport(&model.UserReportOptions{
ReportingBaseOptions: model.ReportingBaseOptions{
SortColumn: "Username",
Direction: "down",
Direction: "next",
PageSize: 50,
FromColumnValue: users[10].Username,
FromId: users[10].Id,
@@ -6353,7 +6353,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store) {
ReportingBaseOptions: model.ReportingBaseOptions{
SortColumn: "Username",
SortDesc: true,
Direction: "down",
Direction: "next",
PageSize: 50,
FromColumnValue: users[10].Username,
FromId: users[10].Id,
@@ -6369,7 +6369,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store) {
userReport, err = ss.User().GetUserReport(&model.UserReportOptions{
ReportingBaseOptions: model.ReportingBaseOptions{
SortColumn: "Username",
Direction: "up",
Direction: "prev",
PageSize: 50,
FromColumnValue: users[10].Username,
FromId: users[10].Id,
@@ -6386,7 +6386,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store) {
ReportingBaseOptions: model.ReportingBaseOptions{
SortColumn: "Username",
SortDesc: true,
Direction: "up",
Direction: "prev",
PageSize: 50,
FromColumnValue: users[10].Username,
FromId: users[10].Id,
@@ -6541,4 +6541,26 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store) {
require.NoError(t, err)
require.Len(t, userReport, 15)
})
t.Run("should filter on search term", func(t *testing.T) {
userReport, err := ss.User().GetUserReport(&model.UserReportOptions{
ReportingBaseOptions: model.ReportingBaseOptions{
SortColumn: "Username",
PageSize: 50,
},
SearchTerm: "username_1",
})
require.NoError(t, err)
require.Len(t, userReport, 26)
userReport, err = ss.User().GetUserReport(&model.UserReportOptions{
ReportingBaseOptions: model.ReportingBaseOptions{
SortColumn: "Username",
PageSize: 50,
},
SearchTerm: "username_2",
})
require.NoError(t, err)
require.Len(t, userReport, 11)
})
}