* [MM-16784] Sync GetUserTeamIds

* fix format

* [MM-16784] put error in one line

* [MM-16784] Remove docstring as per CR request

* [MM-16784] Revert "Remove docstring as per CR request"

This reverts commit 8a64d3841b726d1806e2afb18ffd9802b51f3f21.
Этот коммит содержится в:
Guillermo Vayá
2019-07-08 20:10:25 +02:00
коммит произвёл Jesús Espino
родитель eb4c97c3e8
Коммит 797d1dc40f
4 изменённых файлов: 49 добавлений и 45 удалений

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

@@ -2126,11 +2126,10 @@ func (a *App) GetViewUsersRestrictions(userId string) (*model.ViewUsersRestricti
return nil, nil return nil, nil
} }
result := <-a.Srv.Store.Team().GetUserTeamIds(userId, true) teamIds, getTeamErr := a.Srv.Store.Team().GetUserTeamIds(userId, true)
if result.Err != nil { if getTeamErr != nil {
return nil, result.Err return nil, getTeamErr
} }
teamIds := result.Data.([]string)
teamIdsWithPermission := []string{} teamIdsWithPermission := []string{}
teamIdsWithoutPermission := []string{} teamIdsWithoutPermission := []string{}

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

@@ -999,46 +999,42 @@ func (s SqlTeamStore) GetAllForExportAfter(limit int, afterId string) ([]*model.
return data, nil return data, nil
} }
func (s SqlTeamStore) GetUserTeamIds(userId string, allowFromCache bool) store.StoreChannel { // GetUserTeamIds get the team ids to which the user belongs to
return store.Do(func(result *store.StoreResult) { func (s SqlTeamStore) GetUserTeamIds(userID string, allowFromCache bool) ([]string, *model.AppError) {
if allowFromCache { if allowFromCache {
if cacheItem, ok := allTeamIdsForUserCache.Get(userId); ok { if cacheItem, ok := allTeamIdsForUserCache.Get(userID); ok {
if s.metrics != nil { if s.metrics != nil {
s.metrics.IncrementMemCacheHitCounter("All Team Ids for User") s.metrics.IncrementMemCacheHitCounter("All Team Ids for User")
}
result.Data = cacheItem.([]string)
return
} }
return cacheItem.([]string), nil
} }
}
if s.metrics != nil { if s.metrics != nil {
s.metrics.IncrementMemCacheMissCounter("All Team Ids for User") s.metrics.IncrementMemCacheMissCounter("All Team Ids for User")
} }
var teamIds []string var teamIds []string
_, err := s.GetReplica().Select(&teamIds, ` _, err := s.GetReplica().Select(&teamIds,
SELECT `SELECT
TeamId TeamId
FROM FROM
TeamMembers TeamMembers
INNER JOIN INNER JOIN
Teams ON TeamMembers.TeamId = Teams.Id Teams ON TeamMembers.TeamId = Teams.Id
WHERE WHERE
TeamMembers.UserId = :UserId TeamMembers.UserId = :UserId
AND TeamMembers.DeleteAt = 0 AND TeamMembers.DeleteAt = 0
AND Teams.DeleteAt = 0`, AND Teams.DeleteAt = 0`,
map[string]interface{}{"UserId": userId}) map[string]interface{}{"UserId": userID})
if err != nil { if err != nil {
result.Err = model.NewAppError("SqlTeamStore.GetUserTeamIds", "store.sql_team.get_user_team_ids.app_error", nil, "userId="+userId+" "+err.Error(), http.StatusInternalServerError) return []string{}, model.NewAppError("SqlTeamStore.GetUserTeamIds", "store.sql_team.get_user_team_ids.app_error", nil, "userID="+userID+" "+err.Error(), http.StatusInternalServerError)
return }
}
result.Data = teamIds if allowFromCache {
allTeamIdsForUserCache.AddWithExpiresInSecs(userID, teamIds, ALL_TEAM_IDS_FOR_USER_CACHE_SEC)
if allowFromCache { }
allTeamIdsForUserCache.AddWithExpiresInSecs(userId, teamIds, ALL_TEAM_IDS_FOR_USER_CACHE_SEC) return teamIds, nil
}
})
} }
func (s SqlTeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) { func (s SqlTeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) {

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

@@ -123,7 +123,7 @@ type TeamStore interface {
GetAllForExportAfter(limit int, afterId string) ([]*model.TeamForExport, *model.AppError) GetAllForExportAfter(limit int, afterId string) ([]*model.TeamForExport, *model.AppError)
GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError)
UserBelongsToTeams(userId string, teamIds []string) StoreChannel UserBelongsToTeams(userId string, teamIds []string) StoreChannel
GetUserTeamIds(userId string, allowFromCache bool) StoreChannel GetUserTeamIds(userId string, allowFromCache bool) ([]string, *model.AppError)
InvalidateAllTeamIdsForUser(userId string) InvalidateAllTeamIdsForUser(userId string)
ClearCaches() ClearCaches()
} }

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

@@ -584,19 +584,28 @@ func (_m *TeamStore) GetTotalMemberCount(teamId string) (int64, *model.AppError)
} }
// GetUserTeamIds provides a mock function with given fields: userId, allowFromCache // GetUserTeamIds provides a mock function with given fields: userId, allowFromCache
func (_m *TeamStore) GetUserTeamIds(userId string, allowFromCache bool) store.StoreChannel { func (_m *TeamStore) GetUserTeamIds(userId string, allowFromCache bool) ([]string, *model.AppError) {
ret := _m.Called(userId, allowFromCache) ret := _m.Called(userId, allowFromCache)
var r0 store.StoreChannel var r0 []string
if rf, ok := ret.Get(0).(func(string, bool) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string, bool) []string); ok {
r0 = rf(userId, allowFromCache) r0 = rf(userId, allowFromCache)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).([]string)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string, bool) *model.AppError); ok {
r1 = rf(userId, allowFromCache)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// InvalidateAllTeamIdsForUser provides a mock function with given fields: userId // InvalidateAllTeamIdsForUser provides a mock function with given fields: userId