Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criar endpoints e páginas para listar eventos de firewall e ações da moderação #1660

Open
Rafatcb opened this issue Mar 30, 2024 · 2 comments
Labels
back Envolve modificações no backend front Envolve modificações no frontend novo recurso Nova funcionalidade/recurso

Comments

@Rafatcb
Copy link
Collaborator

Rafatcb commented Mar 30, 2024

Descrição

O PR #1638 criou um endpoint GET /api/v1/events/firewall/[id] para obter dados relacionados à um evento gerado pelo firewall interno. Em #1638 (comment), surgiu a ideia de criar novos endpoints relacionados à ações da moderação:

  1. GET /api/v1/events/firewall: similar ao mencionado anteriormente, porém retorna todos os eventos ao invés de um único. Deve verificar a feature read:firewall:list e ter paginação.
  2. GET /api/v1/events/moderations: dados que podem ser públicos sobre as atuações da moderação. Isso precisa ser melhor debatido para entender o que faz sentido exibir e como exibir.
  3. GET /api/v1/events/moderations/[id]: dados restritos aos moderadores sobre cada uma das atuações da moderação.

Além dos novos endpoints, precisaremos de novas páginas para exibir esses dados.

Sugestão de implementação

Podemos criar uma página para a lista de eventos de firewall e outra para a lista de eventos da moderação. Talvez seja necessário criar novas páginas para a visualização de um evento específico do firewall e para uma ação específica da moderação, mas podemos experimentar uma visualização simplificada (hoje não temos nenhum tipo de funcionalidade que a visualização das informações não seja numa página específica).

A página com detalhes do evento do firewall pode ter um botão para "desfazer", caso o usuário tenha permissão para isso, já que após o merge do PR #1638 essa ação será feita diretamente pela API, sem uma UI.

As funcionalidades aqui podem ser divididas em mais de um PR, principalmente porque o endpoint 1 é mais simples, dado que o GET /api/v1/events/firewall/[id] já está pronto (ainda falta o merge do PR), e que os endpoints 2 e 3 precisam de discussões sobre o que será retornado. Além disso, o backend e o frontend podem ser feitos em PRs separados também, por pessoas diferentes e em momentos diferentes.

@Rafatcb Rafatcb added front Envolve modificações no frontend back Envolve modificações no backend novo recurso Nova funcionalidade/recurso labels Mar 30, 2024
@Rafatcb
Copy link
Collaborator Author

Rafatcb commented Apr 7, 2024

Estava pensando em como poderíamos adicionar links na UI para as novas páginas. Com a implementação desse issue, provavelmente surgirão duas páginas que podem ter links no menu (por exemplo, Firewall e Ações da moderação), mas também teremos uma página de Usuários futuramente (que talvez seja visível apenas para moderadores, então vamos considerar que a importância dela também é baixa, comparando à Relevantes e Recentes), e possivelmente surgirão outras no futuro.

Uma opção é colocar os links no menu principal (ao lado de Recentes) ou no menu hambúrguer (as três linhas no canto superior direito), de acordo com o tamanho da tela. Por exemplo:

Novo.menu.1.webm

Acho que não fica bom adicionar tudo no Header principal, ao lado de Relevantes e Recentes. Vamos deixar o menu Usuários de lado agora porque isso pode ser debatido em outro lugar, apenas mencionei para entendermos que essa lista pode expandir e ficar grande.

O que vocês acham mais adequado? Talvez, por essas funcionalidades serem "menos acessadas", deixar no menu hambúrguer? Ou então, deixar no menu hambúrguer apenas o Firewall, com Ações da moderação no rodapé? (esse link pode até ter outro nome, para não ficar em primeiro)

Firewall no menu hambúrguer, Ações da moderação no rodapé

Essa opção me parece melhor do que a primeira.

O link do Firewall será exibido apenas para quem tem permissão. Ele poderia ficar no rodapé, mas acredito que essa ação não precise ficar tão escondida, pois pode ser útil para o moderador acessar de vez em quando e acompanhar o que está acontecendo.

Uma possibilidade também é deixar a página "Ações da moderação" acessível pela página de Status, já que são assuntos mais ou menos relacionados, mas precisaria pensar onde colocar o link. Talvez embaixo da Rede de qualificações, que mostra usuários banidos (e essa é uma "ação da moderação"):

"Veja também as ações da moderação", abaixo do grafo de "Rede de qualificações".

Uma outra opção é não ter página para Ações da moderação, e sim uma lista contendo alguns poucos eventos (talvez por quantidade ou por tempo) que podem ficar na página Status, mostrando-os de forma resumida. Essa me parece uma boa ideia.

@aprendendofelipe
Copy link
Collaborator

Uma outra opção é não ter página para Ações da moderação, e sim uma lista contendo alguns poucos eventos (talvez por quantidade ou por tempo) que podem ficar na página Status, mostrando-os de forma resumida. Essa me parece uma boa ideia.

Também acho que é uma boa ideia não ir além de uma pequena lista na página de status na primeira versão da lista de eventos. Pode não ser uma quantidade fixa de eventos, mas um intervalo de tempo determinado, talvez dois dias ou um pouco mais. Talvez seja ainda melhor mostrar uma tabela com a contagem por tipos de eventos de moderação no período.

Essa lista é mais para um usuário qualquer poder investigar o que pode ter acontecido com alguma publicação ou conta que deixou de existir. Por sigilo de dados, não dá para dar muitos detalhes nessa lista pública, então acho que a notificação para usuários moderados é algo mais importante. No #1638 já lidamos com os eventos de firewall, mas é preciso notificar os usuários afetados nos outros tipos de moderação.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
back Envolve modificações no backend front Envolve modificações no frontend novo recurso Nova funcionalidade/recurso
Projects
None yet
Development

No branches or pull requests

2 participants