Descrição
Obtém o ranking de streaks dos membros de um grupo específico. Exibe todos os membros ordenados por streak atual, incluindo aqueles que ainda não possuem streak ativo.Autenticação
Esta rota requer autenticação JWT. Para grupos privados, o usuário deve ser membro do grupo.
Path Parameters
ID único do grupo cujo ranking será exibido
Response
Indica se a operação foi bem-sucedida
Regras de Acesso
Grupos Públicos (isPublic = true)
- Qualquer usuário autenticado pode ver o ranking
- Não precisa ser membro do grupo
- Ideal para grupos de comunidade ou competições abertas
Grupos Privados (isPublic = false)
- Apenas membros ativos podem ver o ranking
- Sistema verifica se usuário está na tabela
friendGroupMembers - Status
isActive = 1obrigatório
Características do Ranking
Ordenação
- Streak atual (decrescente)
- Streak máximo (decrescente como critério de desempate)
- Ordem de adição (membros mais antigos primeiro em empates)
Inclusão de Membros
Com Streak Ativo
- Aparecem primeiro no ranking
- Dados completos de streak e interação
- Ordenados por performance
Sem Streak (currentStreak = 0)
- Aparecem no final do ranking
lastInteractionDatecomonull- Ainda contam como membros do grupo
Membros Inativos no Sistema
- Emails que ainda não têm conta no sistema de streaks
- Aparecem como “Leitor Anônimo”
currentStreakemaxStreakcomo 0
Formatação de Dados
Timestamps
lastInteractionDateem formato brasileiro (DD/MM/AAAA HH:MM:SS)- Timezone de São Paulo aplicado
nullpara usuários sem interações
Emails Mascarados
- Primeiros 2 caracteres + asteriscos
- Mesmo padrão do ranking global
- Privacidade preservada
Display Names
- Buscados do banco de autenticação
- Fallback para “Leitor Anônimo”
- Nomes reais quando disponíveis
Performance
Otimizações
- Query com JOINs otimizados
- Índices em
groupIdememberEmail - Busca de display names em lotes
Limitações
- Grupos com muitos membros (>100) podem ter latência maior
- Cache não implementado (dados sempre atualizados)
- Timeout de 30 segundos para grupos muito grandes
Casos de Uso
Dashboard do Grupo
Estatísticas do Grupo
Detecção de Inatividade
Próximas Funcionalidades
Possíveis melhorias futuras:- Cache: Cache do ranking para grupos grandes
- Filtros: Filtrar por período de atividade
- Exportação: Download do ranking em CSV
- Notificações: Alertas de mudanças no ranking
