MM-21199: Adds groups diagnostics. (#13736)

Этот коммит содержится в:
Martin Kraft
2020-02-06 09:25:36 -05:00
коммит произвёл GitHub
родитель 596f986755
Коммит 240e57d581
11 изменённых файлов: 573 добавлений и 0 удалений

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

@@ -2854,3 +2854,19 @@ func (s SqlChannelStore) UpdateMembersRole(channelID string, userIDs []string) *
return nil
}
func (s SqlChannelStore) GroupSyncedChannelCount() (int64, *model.AppError) {
query := s.getQueryBuilder().Select("COUNT(*)").From("Channels").Where(sq.Eq{"GroupConstrained": true, "DeleteAt": 0})
sql, args, err := query.ToSql()
if err != nil {
return 0, model.NewAppError("SqlChannelStore.GroupSyncedChannelCount", "store.sql_group.app_error", nil, err.Error(), http.StatusInternalServerError)
}
count, err := s.GetReplica().SelectInt(sql, args...)
if err != nil {
return 0, model.NewAppError("SqlChannelStore.GroupSyncedChannelCount", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
}
return count, nil
}

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

@@ -1228,3 +1228,43 @@ func (s *SqlGroupStore) PermittedSyncableAdmins(syncableID string, syncableType
return userIDs, nil
}
func (s *SqlGroupStore) GroupCount() (int64, *model.AppError) {
return s.countTable("UserGroups")
}
func (s *SqlGroupStore) GroupTeamCount() (int64, *model.AppError) {
return s.countTable("GroupTeams")
}
func (s *SqlGroupStore) GroupChannelCount() (int64, *model.AppError) {
return s.countTable("GroupChannels")
}
func (s *SqlGroupStore) GroupMemberCount() (int64, *model.AppError) {
return s.countTable("GroupMembers")
}
func (s *SqlGroupStore) DistinctGroupMemberCount() (int64, *model.AppError) {
return s.countTableWithSelect("COUNT(DISTINCT UserId)", "GroupMembers")
}
func (s *SqlGroupStore) countTable(tableName string) (int64, *model.AppError) {
return s.countTableWithSelect("COUNT(*)", tableName)
}
func (s *SqlGroupStore) countTableWithSelect(selectStr, tableName string) (int64, *model.AppError) {
query := s.getQueryBuilder().Select(selectStr).From(tableName).Where(sq.Eq{"DeleteAt": 0})
sql, args, err := query.ToSql()
if err != nil {
return 0, model.NewAppError("SqlGroupStore.countTableWithSelect", "store.sql_group.app_error", nil, err.Error(), http.StatusInternalServerError)
}
count, err := s.GetReplica().SelectInt(sql, args...)
if err != nil {
return 0, model.NewAppError("SqlGroupStore.countTableWithSelect", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
}
return count, nil
}

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

@@ -1162,3 +1162,19 @@ func applyTeamMemberViewRestrictionsFilterForStats(query sq.SelectBuilder, teamI
return resultQuery
}
func (s SqlTeamStore) GroupSyncedTeamCount() (int64, *model.AppError) {
query := s.getQueryBuilder().Select("COUNT(*)").From("Teams").Where(sq.Eq{"GroupConstrained": true, "DeleteAt": 0})
sql, args, err := query.ToSql()
if err != nil {
return 0, model.NewAppError("SqlTeamStore.GroupSyncedTeamCount", "store.sql_group.app_error", nil, err.Error(), http.StatusInternalServerError)
}
count, err := s.GetReplica().SelectInt(sql, args...)
if err != nil {
return 0, model.NewAppError("SqlTeamStore.GroupSyncedTeamCount", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
}
return count, nil
}