[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>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
bb88b92b4c
Коммит
0a4e9eeb92
@@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user