Этот коммит содержится в:
catalintomai
2020-09-25 14:59:41 -07:00
коммит произвёл GitHub
родитель 7c905b0890
Коммит f74b86ae95
18 изменённых файлов: 878 добавлений и 124 удалений

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

@@ -6,9 +6,13 @@ package sqlstore
import (
"context"
"database/sql"
"strconv"
"strings"
"time"
"github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/store"
"github.com/mattermost/mattermost-server/v5/utils"
"github.com/pkg/errors"
)
@@ -52,6 +56,26 @@ func (s SqlSystemStore) SaveOrUpdate(system *model.System) error {
return nil
}
func (s SqlSystemStore) SaveOrUpdateWithWarnMetricHandling(system *model.System) error {
if err := s.GetMaster().SelectOne(&model.System{}, "SELECT * FROM Systems WHERE Name = :Name", map[string]interface{}{"Name": system.Name}); err == nil {
if _, err := s.GetMaster().Update(system); err != nil {
return errors.Wrapf(err, "failed to update system property with name=%s", system.Name)
}
} else {
if err := s.GetMaster().Insert(system); err != nil {
return errors.Wrapf(err, "failed to save system property with name=%s", system.Name)
}
}
if strings.HasPrefix(system.Name, model.WARN_METRIC_STATUS_STORE_PREFIX) && (system.Value == model.WARN_METRIC_STATUS_RUNONCE || system.Value == model.WARN_METRIC_STATUS_LIMIT_REACHED) {
if err := s.SaveOrUpdate(&model.System{Name: model.SYSTEM_WARN_METRIC_LAST_RUN_TIMESTAMP_KEY, Value: strconv.FormatInt(utils.MillisFromTime(time.Now()), 10)}); err != nil {
return errors.Wrapf(err, "failed to save system property with name=%s", model.SYSTEM_WARN_METRIC_LAST_RUN_TIMESTAMP_KEY)
}
}
return nil
}
func (s SqlSystemStore) Update(system *model.System) error {
if _, err := s.GetMaster().Update(system); err != nil {
return errors.Wrapf(err, "failed to update system property with name=%s", system.Name)

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

@@ -1474,6 +1474,14 @@ func (us SqlUserStore) AnalyticsGetInactiveUsersCount() (int64, *model.AppError)
return count, nil
}
func (us SqlUserStore) AnalyticsGetExternalUsers(hostDomain string) (bool, *model.AppError) {
count, err := us.GetReplica().SelectInt("SELECT COUNT(Id) FROM Users WHERE LOWER(Email) NOT LIKE :HostDomain", map[string]interface{}{"HostDomain": "%@" + strings.ToLower(hostDomain)})
if err != nil {
return false, model.NewAppError("SqlUserStore.AnalyticsGetExternalUsers", "store.sql_user.analytics_get_external_users.app_error", nil, err.Error(), http.StatusInternalServerError)
}
return count > 0, nil
}
func (us SqlUserStore) AnalyticsGetGuestCount() (int64, *model.AppError) {
count, err := us.GetReplica().SelectInt("SELECT count(*) FROM Users WHERE Roles LIKE :Roles and DeleteAt = 0", map[string]interface{}{"Roles": "%system_guest%"})
if err != nil {