diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-04-28 10:10:58 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-04-28 10:10:58 -0400 |
commit | 1b82d98cdbb4e02d7de36c842efd858daaa69406 (patch) | |
tree | 02c8a0565e4687984dc088d950fb62ed4a0cb085 /app/status.go | |
parent | a8cf08d6ef2fc0e08592e1466abaf3e3c9c35953 (diff) | |
download | chat-1b82d98cdbb4e02d7de36c842efd858daaa69406.tar.gz chat-1b82d98cdbb4e02d7de36c842efd858daaa69406.tar.bz2 chat-1b82d98cdbb4e02d7de36c842efd858daaa69406.zip |
Add config setting to disable statuses (#6254)
Diffstat (limited to 'app/status.go')
-rw-r--r-- | app/status.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/status.go b/app/status.go index a3b921700..dd57b82b2 100644 --- a/app/status.go +++ b/app/status.go @@ -31,6 +31,10 @@ func AddStatusCache(status *model.Status) { } func GetAllStatuses() map[string]*model.Status { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return map[string]*model.Status{} + } + userIds := statusCache.Keys() statusMap := map[string]*model.Status{} @@ -49,6 +53,10 @@ func GetAllStatuses() map[string]*model.Status { } func GetStatusesByIds(userIds []string) (map[string]interface{}, *model.AppError) { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return map[string]interface{}{}, nil + } + statusMap := map[string]interface{}{} metrics := einterfaces.GetMetricsInterface() @@ -92,6 +100,10 @@ func GetStatusesByIds(userIds []string) (map[string]interface{}, *model.AppError //GetUserStatusesByIds used by apiV4 func GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.AppError) { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return []*model.Status{}, nil + } + var statusMap []*model.Status metrics := einterfaces.GetMetricsInterface() @@ -145,6 +157,10 @@ func GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.AppError) { } func SetStatusOnline(userId string, sessionId string, manual bool) { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return + } + broadcast := false var oldStatus string = model.STATUS_OFFLINE @@ -206,6 +222,10 @@ func SetStatusOnline(userId string, sessionId string, manual bool) { } func SetStatusOffline(userId string, manual bool) { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return + } + status, err := GetStatus(userId) if err == nil && status.Manual && !manual { return // manually set status always overrides non-manual one @@ -226,6 +246,10 @@ func SetStatusOffline(userId string, manual bool) { } func SetStatusAwayIfNeeded(userId string, manual bool) { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return + } + status, err := GetStatus(userId) if err != nil { @@ -274,6 +298,10 @@ func GetStatusFromCache(userId string) *model.Status { } func GetStatus(userId string) (*model.Status, *model.AppError) { + if !*utils.Cfg.ServiceSettings.EnableUserStatuses { + return &model.Status{}, nil + } + status := GetStatusFromCache(userId) if status != nil { return status, nil |