MM-21898 - Part 1: Generate and use an interface instead of *A… (#13840)
* Generate and use an interface instead of *App
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
66fc096768
Коммит
17523fa5d9
@@ -13,7 +13,7 @@ import (
|
||||
func (a *App) CreateSession(session *model.Session) (*model.Session, *model.AppError) {
|
||||
session.Token = ""
|
||||
|
||||
session, err := a.Srv.Store.Session().Save(session)
|
||||
session, err := a.Srv().Store.Session().Save(session)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -24,11 +24,11 @@ func (a *App) CreateSession(session *model.Session) (*model.Session, *model.AppE
|
||||
}
|
||||
|
||||
func (a *App) GetSession(token string) (*model.Session, *model.AppError) {
|
||||
metrics := a.Metrics
|
||||
metrics := a.Metrics()
|
||||
|
||||
var session *model.Session
|
||||
var err *model.AppError
|
||||
if ts, ok := a.Srv.sessionCache.Get(token); ok {
|
||||
if ts, ok := a.Srv().sessionCache.Get(token); ok {
|
||||
session = ts.(*model.Session)
|
||||
if metrics != nil {
|
||||
metrics.IncrementMemCacheHitCounterSession()
|
||||
@@ -40,7 +40,7 @@ func (a *App) GetSession(token string) (*model.Session, *model.AppError) {
|
||||
}
|
||||
|
||||
if session == nil {
|
||||
if session, err = a.Srv.Store.Session().Get(token); err == nil {
|
||||
if session, err = a.Srv().Store.Session().Get(token); err == nil {
|
||||
if session != nil {
|
||||
if session.Token != token {
|
||||
return nil, model.NewAppError("GetSession", "api.context.invalid_token.error", map[string]interface{}{"Token": token, "Error": ""}, "", http.StatusUnauthorized)
|
||||
@@ -88,11 +88,11 @@ func (a *App) GetSession(token string) (*model.Session, *model.AppError) {
|
||||
|
||||
func (a *App) GetSessions(userId string) ([]*model.Session, *model.AppError) {
|
||||
|
||||
return a.Srv.Store.Session().GetSessions(userId)
|
||||
return a.Srv().Store.Session().GetSessions(userId)
|
||||
}
|
||||
|
||||
func (a *App) UpdateSessionsIsGuest(userId string, isGuest bool) {
|
||||
sessions, err := a.Srv.Store.Session().GetSessions(userId)
|
||||
sessions, err := a.Srv().Store.Session().GetSessions(userId)
|
||||
if err != nil {
|
||||
mlog.Error("Unable to get user sessions", mlog.String("user_id", userId), mlog.Err(err))
|
||||
}
|
||||
@@ -103,7 +103,7 @@ func (a *App) UpdateSessionsIsGuest(userId string, isGuest bool) {
|
||||
} else {
|
||||
session.AddProp(model.SESSION_PROP_IS_GUEST, "false")
|
||||
}
|
||||
err := a.Srv.Store.Session().UpdateProps(session)
|
||||
err := a.Srv().Store.Session().UpdateProps(session)
|
||||
if err != nil {
|
||||
mlog.Error("Unable to update isGuest session", mlog.Err(err))
|
||||
continue
|
||||
@@ -113,7 +113,7 @@ func (a *App) UpdateSessionsIsGuest(userId string, isGuest bool) {
|
||||
}
|
||||
|
||||
func (a *App) RevokeAllSessions(userId string) *model.AppError {
|
||||
sessions, err := a.Srv.Store.Session().GetSessions(userId)
|
||||
sessions, err := a.Srv().Store.Session().GetSessions(userId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -121,7 +121,7 @@ func (a *App) RevokeAllSessions(userId string) *model.AppError {
|
||||
if session.IsOAuth {
|
||||
a.RevokeAccessToken(session.Token)
|
||||
} else {
|
||||
if err := a.Srv.Store.Session().Remove(session.Id); err != nil {
|
||||
if err := a.Srv().Store.Session().Remove(session.Id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -136,11 +136,11 @@ func (a *App) RevokeAllSessions(userId string) *model.AppError {
|
||||
// in the server and revoke them
|
||||
func (a *App) RevokeSessionsFromAllUsers() *model.AppError {
|
||||
// revoke tokens before sessions so they can't be used to relogin
|
||||
tErr := a.Srv.Store.OAuth().RemoveAllAccessData()
|
||||
tErr := a.Srv().Store.OAuth().RemoveAllAccessData()
|
||||
if tErr != nil {
|
||||
return tErr
|
||||
}
|
||||
err := a.Srv.Store.Session().RemoveAllSessions()
|
||||
err := a.Srv().Store.Session().RemoveAllSessions()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -152,38 +152,38 @@ func (a *App) RevokeSessionsFromAllUsers() *model.AppError {
|
||||
func (a *App) ClearSessionCacheForUser(userId string) {
|
||||
a.ClearSessionCacheForUserSkipClusterSend(userId)
|
||||
|
||||
if a.Cluster != nil {
|
||||
if a.Cluster() != nil {
|
||||
msg := &model.ClusterMessage{
|
||||
Event: model.CLUSTER_EVENT_CLEAR_SESSION_CACHE_FOR_USER,
|
||||
SendType: model.CLUSTER_SEND_RELIABLE,
|
||||
Data: userId,
|
||||
}
|
||||
a.Cluster.SendClusterMessage(msg)
|
||||
a.Cluster().SendClusterMessage(msg)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) ClearSessionCacheForAllUsers() {
|
||||
a.ClearSessionCacheForAllUsersSkipClusterSend()
|
||||
|
||||
if a.Cluster != nil {
|
||||
if a.Cluster() != nil {
|
||||
msg := &model.ClusterMessage{
|
||||
Event: model.CLUSTER_EVENT_CLEAR_SESSION_CACHE_FOR_ALL_USERS,
|
||||
SendType: model.CLUSTER_SEND_RELIABLE,
|
||||
}
|
||||
a.Cluster.SendClusterMessage(msg)
|
||||
a.Cluster().SendClusterMessage(msg)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) ClearSessionCacheForUserSkipClusterSend(userId string) {
|
||||
keys := a.Srv.sessionCache.Keys()
|
||||
keys := a.Srv().sessionCache.Keys()
|
||||
|
||||
for _, key := range keys {
|
||||
if ts, ok := a.Srv.sessionCache.Get(key); ok {
|
||||
if ts, ok := a.Srv().sessionCache.Get(key); ok {
|
||||
session := ts.(*model.Session)
|
||||
if session.UserId == userId {
|
||||
a.Srv.sessionCache.Remove(key)
|
||||
if a.Metrics != nil {
|
||||
a.Metrics.IncrementMemCacheInvalidationCounterSession()
|
||||
a.Srv().sessionCache.Remove(key)
|
||||
if a.Metrics() != nil {
|
||||
a.Metrics().IncrementMemCacheInvalidationCounterSession()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -194,19 +194,19 @@ func (a *App) ClearSessionCacheForUserSkipClusterSend(userId string) {
|
||||
|
||||
func (a *App) ClearSessionCacheForAllUsersSkipClusterSend() {
|
||||
mlog.Info("Purging sessions cache")
|
||||
a.Srv.sessionCache.Purge()
|
||||
a.Srv().sessionCache.Purge()
|
||||
}
|
||||
|
||||
func (a *App) AddSessionToCache(session *model.Session) {
|
||||
a.Srv.sessionCache.AddWithExpiresInSecs(session.Token, session, int64(*a.Config().ServiceSettings.SessionCacheInMinutes*60))
|
||||
a.Srv().sessionCache.AddWithExpiresInSecs(session.Token, session, int64(*a.Config().ServiceSettings.SessionCacheInMinutes*60))
|
||||
}
|
||||
|
||||
func (a *App) SessionCacheLength() int {
|
||||
return a.Srv.sessionCache.Len()
|
||||
return a.Srv().sessionCache.Len()
|
||||
}
|
||||
|
||||
func (a *App) RevokeSessionsForDeviceId(userId string, deviceId string, currentSessionId string) *model.AppError {
|
||||
sessions, err := a.Srv.Store.Session().GetSessions(userId)
|
||||
sessions, err := a.Srv().Store.Session().GetSessions(userId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -224,7 +224,7 @@ func (a *App) RevokeSessionsForDeviceId(userId string, deviceId string, currentS
|
||||
}
|
||||
|
||||
func (a *App) GetSessionById(sessionId string) (*model.Session, *model.AppError) {
|
||||
session, err := a.Srv.Store.Session().Get(sessionId)
|
||||
session, err := a.Srv().Store.Session().Get(sessionId)
|
||||
if err != nil {
|
||||
err.StatusCode = http.StatusBadRequest
|
||||
return nil, err
|
||||
@@ -233,7 +233,7 @@ func (a *App) GetSessionById(sessionId string) (*model.Session, *model.AppError)
|
||||
}
|
||||
|
||||
func (a *App) RevokeSessionById(sessionId string) *model.AppError {
|
||||
session, err := a.Srv.Store.Session().Get(sessionId)
|
||||
session, err := a.Srv().Store.Session().Get(sessionId)
|
||||
if err != nil {
|
||||
err.StatusCode = http.StatusBadRequest
|
||||
return err
|
||||
@@ -248,7 +248,7 @@ func (a *App) RevokeSession(session *model.Session) *model.AppError {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if err := a.Srv.Store.Session().Remove(session.Id); err != nil {
|
||||
if err := a.Srv().Store.Session().Remove(session.Id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -259,7 +259,7 @@ func (a *App) RevokeSession(session *model.Session) *model.AppError {
|
||||
}
|
||||
|
||||
func (a *App) AttachDeviceId(sessionId string, deviceId string, expiresAt int64) *model.AppError {
|
||||
_, err := a.Srv.Store.Session().UpdateDeviceId(sessionId, deviceId, expiresAt)
|
||||
_, err := a.Srv().Store.Session().UpdateDeviceId(sessionId, deviceId, expiresAt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -276,7 +276,7 @@ func (a *App) UpdateLastActivityAtIfNeeded(session model.Session) {
|
||||
return
|
||||
}
|
||||
|
||||
if err := a.Srv.Store.Session().UpdateLastActivityAt(session.Id, now); err != nil {
|
||||
if err := a.Srv().Store.Session().UpdateLastActivityAt(session.Id, now); err != nil {
|
||||
mlog.Error("Failed to update LastActivityAt", mlog.String("user_id", session.UserId), mlog.String("session_id", session.Id), mlog.Err(err))
|
||||
}
|
||||
|
||||
@@ -286,7 +286,7 @@ func (a *App) UpdateLastActivityAtIfNeeded(session model.Session) {
|
||||
|
||||
func (a *App) CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAccessToken, *model.AppError) {
|
||||
|
||||
user, err := a.Srv.Store.User().Get(token.UserId)
|
||||
user, err := a.Srv().Store.User().Get(token.UserId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -297,7 +297,7 @@ func (a *App) CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAc
|
||||
|
||||
token.Token = model.NewId()
|
||||
|
||||
token, err = a.Srv.Store.UserAccessToken().Save(token)
|
||||
token, err = a.Srv().Store.UserAccessToken().Save(token)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -305,7 +305,7 @@ func (a *App) CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAc
|
||||
// Don't send emails to bot users.
|
||||
if !user.IsBot {
|
||||
if err := a.SendUserAccessTokenAddedEmail(user.Email, user.Locale, a.GetSiteURL()); err != nil {
|
||||
a.Log.Error("Unable to send user access token added email", mlog.Err(err), mlog.String("user_id", user.Id))
|
||||
a.Log().Error("Unable to send user access token added email", mlog.Err(err), mlog.String("user_id", user.Id))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -314,7 +314,7 @@ func (a *App) CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAc
|
||||
}
|
||||
|
||||
func (a *App) createSessionForUserAccessToken(tokenString string) (*model.Session, *model.AppError) {
|
||||
token, err := a.Srv.Store.UserAccessToken().GetByToken(tokenString)
|
||||
token, err := a.Srv().Store.UserAccessToken().GetByToken(tokenString)
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("createSessionForUserAccessToken", "app.user_access_token.invalid_or_missing", nil, err.Error(), http.StatusUnauthorized)
|
||||
}
|
||||
@@ -323,7 +323,7 @@ func (a *App) createSessionForUserAccessToken(tokenString string) (*model.Sessio
|
||||
return nil, model.NewAppError("createSessionForUserAccessToken", "app.user_access_token.invalid_or_missing", nil, "inactive_token", http.StatusUnauthorized)
|
||||
}
|
||||
|
||||
user, err := a.Srv.Store.User().Get(token.UserId)
|
||||
user, err := a.Srv().Store.User().Get(token.UserId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -355,7 +355,7 @@ func (a *App) createSessionForUserAccessToken(tokenString string) (*model.Sessio
|
||||
}
|
||||
session.SetExpireInDays(model.SESSION_USER_ACCESS_TOKEN_EXPIRY)
|
||||
|
||||
session, err = a.Srv.Store.Session().Save(session)
|
||||
session, err = a.Srv().Store.Session().Save(session)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -368,9 +368,9 @@ func (a *App) createSessionForUserAccessToken(tokenString string) (*model.Sessio
|
||||
|
||||
func (a *App) RevokeUserAccessToken(token *model.UserAccessToken) *model.AppError {
|
||||
var session *model.Session
|
||||
session, _ = a.Srv.Store.Session().Get(token.Token)
|
||||
session, _ = a.Srv().Store.Session().Get(token.Token)
|
||||
|
||||
if err := a.Srv.Store.UserAccessToken().Delete(token.Id); err != nil {
|
||||
if err := a.Srv().Store.UserAccessToken().Delete(token.Id); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -383,9 +383,9 @@ func (a *App) RevokeUserAccessToken(token *model.UserAccessToken) *model.AppErro
|
||||
|
||||
func (a *App) DisableUserAccessToken(token *model.UserAccessToken) *model.AppError {
|
||||
var session *model.Session
|
||||
session, _ = a.Srv.Store.Session().Get(token.Token)
|
||||
session, _ = a.Srv().Store.Session().Get(token.Token)
|
||||
|
||||
if err := a.Srv.Store.UserAccessToken().UpdateTokenDisable(token.Id); err != nil {
|
||||
if err := a.Srv().Store.UserAccessToken().UpdateTokenDisable(token.Id); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -398,9 +398,9 @@ func (a *App) DisableUserAccessToken(token *model.UserAccessToken) *model.AppErr
|
||||
|
||||
func (a *App) EnableUserAccessToken(token *model.UserAccessToken) *model.AppError {
|
||||
var session *model.Session
|
||||
session, _ = a.Srv.Store.Session().Get(token.Token)
|
||||
session, _ = a.Srv().Store.Session().Get(token.Token)
|
||||
|
||||
err := a.Srv.Store.UserAccessToken().UpdateTokenEnable(token.Id)
|
||||
err := a.Srv().Store.UserAccessToken().UpdateTokenEnable(token.Id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -413,7 +413,7 @@ func (a *App) EnableUserAccessToken(token *model.UserAccessToken) *model.AppErro
|
||||
}
|
||||
|
||||
func (a *App) GetUserAccessTokens(page, perPage int) ([]*model.UserAccessToken, *model.AppError) {
|
||||
tokens, err := a.Srv.Store.UserAccessToken().GetAll(page*perPage, perPage)
|
||||
tokens, err := a.Srv().Store.UserAccessToken().GetAll(page*perPage, perPage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -426,7 +426,7 @@ func (a *App) GetUserAccessTokens(page, perPage int) ([]*model.UserAccessToken,
|
||||
}
|
||||
|
||||
func (a *App) GetUserAccessTokensForUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError) {
|
||||
tokens, err := a.Srv.Store.UserAccessToken().GetByUser(userId, page*perPage, perPage)
|
||||
tokens, err := a.Srv().Store.UserAccessToken().GetByUser(userId, page*perPage, perPage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -439,7 +439,7 @@ func (a *App) GetUserAccessTokensForUser(userId string, page, perPage int) ([]*m
|
||||
}
|
||||
|
||||
func (a *App) GetUserAccessToken(tokenId string, sanitize bool) (*model.UserAccessToken, *model.AppError) {
|
||||
token, err := a.Srv.Store.UserAccessToken().Get(tokenId)
|
||||
token, err := a.Srv().Store.UserAccessToken().Get(tokenId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -451,7 +451,7 @@ func (a *App) GetUserAccessToken(tokenId string, sanitize bool) (*model.UserAcce
|
||||
}
|
||||
|
||||
func (a *App) SearchUserAccessTokens(term string) ([]*model.UserAccessToken, *model.AppError) {
|
||||
tokens, err := a.Srv.Store.UserAccessToken().Search(term)
|
||||
tokens, err := a.Srv().Store.UserAccessToken().Search(term)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user