mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Migrate "User.GetSystemAdminProfiles" to Sync by default (#11491)
This commit is contained in:
@@ -94,12 +94,11 @@ func (s *Server) DoSecurityUpdateCheck() {
|
||||
for _, bulletin := range bulletins {
|
||||
if bulletin.AppliesToVersion == model.CurrentVersion {
|
||||
if props["SecurityBulletin_"+bulletin.Id] == "" {
|
||||
results := <-s.Store.User().GetSystemAdminProfiles()
|
||||
if results.Err != nil {
|
||||
users, userErr := s.Store.User().GetSystemAdminProfiles()
|
||||
if userErr != nil {
|
||||
mlog.Error("Failed to get system admins for security update information from Mattermost.")
|
||||
return
|
||||
}
|
||||
users := results.Data.(map[string]*model.User)
|
||||
|
||||
resBody, err := http.Get(SECURITY_URL + "/bulletins/" + bulletin.Id)
|
||||
if err != nil {
|
||||
|
||||
@@ -972,33 +972,29 @@ func (us SqlUserStore) GetProfileByGroupChannelIdsForUser(userId string, channel
|
||||
return usersByChannelId, nil
|
||||
}
|
||||
|
||||
func (us SqlUserStore) GetSystemAdminProfiles() store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
query := us.usersQuery.
|
||||
Where("Roles LIKE ?", "%system_admin%").
|
||||
OrderBy("u.Username ASC")
|
||||
func (us SqlUserStore) GetSystemAdminProfiles() (map[string]*model.User, *model.AppError) {
|
||||
query := us.usersQuery.
|
||||
Where("Roles LIKE ?", "%system_admin%").
|
||||
OrderBy("u.Username ASC")
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
if err != nil {
|
||||
result.Err = model.NewAppError("SqlUserStore.GetSystemAdminProfiles", "store.sql_user.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
queryString, args, err := query.ToSql()
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("SqlUserStore.GetSystemAdminProfiles", "store.sql_user.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
var users []*model.User
|
||||
if _, err := us.GetReplica().Select(&users, queryString, args...); err != nil {
|
||||
result.Err = model.NewAppError("SqlUserStore.GetSystemAdminProfiles", "store.sql_user.get_sysadmin_profiles.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
var users []*model.User
|
||||
if _, err := us.GetReplica().Select(&users, queryString, args...); err != nil {
|
||||
return nil, model.NewAppError("SqlUserStore.GetSystemAdminProfiles", "store.sql_user.get_sysadmin_profiles.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
userMap := make(map[string]*model.User)
|
||||
userMap := make(map[string]*model.User)
|
||||
|
||||
for _, u := range users {
|
||||
u.Sanitize(map[string]bool{})
|
||||
userMap[u.Id] = u
|
||||
}
|
||||
for _, u := range users {
|
||||
u.Sanitize(map[string]bool{})
|
||||
userMap[u.Id] = u
|
||||
}
|
||||
|
||||
result.Data = userMap
|
||||
})
|
||||
return userMap, nil
|
||||
}
|
||||
|
||||
func (us SqlUserStore) GetByEmail(email string) (*model.User, *model.AppError) {
|
||||
|
||||
@@ -280,7 +280,7 @@ type UserStore interface {
|
||||
GetEtagForAllProfiles() StoreChannel
|
||||
GetEtagForProfiles(teamId string) StoreChannel
|
||||
UpdateFailedPasswordAttempts(userId string, attempts int) StoreChannel
|
||||
GetSystemAdminProfiles() StoreChannel
|
||||
GetSystemAdminProfiles() (map[string]*model.User, *model.AppError)
|
||||
PermanentDelete(userId string) *model.AppError
|
||||
AnalyticsActiveCount(time int64) StoreChannel
|
||||
GetUnreadCount(userId string) (int64, error)
|
||||
|
||||
@@ -633,19 +633,28 @@ func (_m *UserStore) GetRecentlyActiveUsersForTeam(teamId string, offset int, li
|
||||
}
|
||||
|
||||
// GetSystemAdminProfiles provides a mock function with given fields:
|
||||
func (_m *UserStore) GetSystemAdminProfiles() store.StoreChannel {
|
||||
func (_m *UserStore) GetSystemAdminProfiles() (map[string]*model.User, *model.AppError) {
|
||||
ret := _m.Called()
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func() store.StoreChannel); ok {
|
||||
var r0 map[string]*model.User
|
||||
if rf, ok := ret.Get(0).(func() map[string]*model.User); ok {
|
||||
r0 = rf()
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(map[string]*model.User)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func() *model.AppError); ok {
|
||||
r1 = rf()
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetTeamGroupUsers provides a mock function with given fields: teamID
|
||||
|
||||
@@ -1450,12 +1450,12 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, ss store.Store) {
|
||||
defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }()
|
||||
|
||||
t.Run("all system admin profiles", func(t *testing.T) {
|
||||
result := <-ss.User().GetSystemAdminProfiles()
|
||||
require.Nil(t, result.Err)
|
||||
result, userError := ss.User().GetSystemAdminProfiles()
|
||||
require.Nil(t, userError)
|
||||
assert.Equal(t, map[string]*model.User{
|
||||
u1.Id: sanitized(u1),
|
||||
u3.Id: sanitized(u3),
|
||||
}, result.Data.(map[string]*model.User))
|
||||
}, result)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user