MM - 15795 Migrate "Session.GetSessions" to Sync by default (#11000)

Этот коммит содержится в:
KimSeungHyeon
2019-06-04 13:15:31 +09:00
коммит произвёл Hanzei
родитель 9c9d510a73
Коммит 367ffbfb42
5 изменённых файлов: 46 добавлений и 49 удалений

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

@@ -99,34 +99,29 @@ func (me SqlSessionStore) Get(sessionIdOrToken string) (*model.Session, *model.A
return session, nil
}
func (me SqlSessionStore) GetSessions(userId string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
var sessions []*model.Session
func (me SqlSessionStore) GetSessions(userId string) ([]*model.Session, *model.AppError) {
var sessions []*model.Session
tcs := me.Team().GetTeamsForUser(userId)
tcs := me.Team().GetTeamsForUser(userId)
if _, err := me.GetReplica().Select(&sessions, "SELECT * FROM Sessions WHERE UserId = :UserId ORDER BY LastActivityAt DESC", map[string]interface{}{"UserId": userId}); err != nil {
return nil, model.NewAppError("SqlSessionStore.GetSessions", "store.sql_session.get_sessions.app_error", nil, err.Error(), http.StatusInternalServerError)
}
if _, err := me.GetReplica().Select(&sessions, "SELECT * FROM Sessions WHERE UserId = :UserId ORDER BY LastActivityAt DESC", map[string]interface{}{"UserId": userId}); err != nil {
result.Err = model.NewAppError("SqlSessionStore.GetSessions", "store.sql_session.get_sessions.app_error", nil, err.Error(), http.StatusInternalServerError)
} else {
rtcs := <-tcs
if rtcs.Err != nil {
return nil, model.NewAppError("SqlSessionStore.GetSessions", "store.sql_session.get_sessions.app_error", nil, rtcs.Err.Error(), http.StatusInternalServerError)
}
result.Data = sessions
}
if rtcs := <-tcs; rtcs.Err != nil {
result.Err = model.NewAppError("SqlSessionStore.GetSessions", "store.sql_session.get_sessions.app_error", nil, rtcs.Err.Error(), http.StatusInternalServerError)
return
} else {
for _, session := range sessions {
tempMembers := rtcs.Data.([]*model.TeamMember)
session.TeamMembers = make([]*model.TeamMember, 0, len(tempMembers))
for _, tm := range tempMembers {
if tm.DeleteAt == 0 {
session.TeamMembers = append(session.TeamMembers, tm)
}
}
for _, session := range sessions {
tempMembers := rtcs.Data.([]*model.TeamMember)
session.TeamMembers = make([]*model.TeamMember, 0, len(tempMembers))
for _, tm := range tempMembers {
if tm.DeleteAt == 0 {
session.TeamMembers = append(session.TeamMembers, tm)
}
}
})
}
return sessions, nil
}
func (me SqlSessionStore) GetSessionsWithActiveDeviceIds(userId string) ([]*model.Session, *model.AppError) {