From 1b82d98cdbb4e02d7de36c842efd858daaa69406 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 28 Apr 2017 10:10:58 -0400 Subject: Add config setting to disable statuses (#6254) --- app/status.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'app/status.go') 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 -- cgit v1.2.3-1-g7c22