Este guia explica como remover um aviso oficial no Discourse através do console, voltado particularmente para usuários de auto-hospedagem.
Nível de usuário necessário: Administrador do Sistema
Acesso ao console necessário
Em certas situações, um aviso emitido a um usuário pode precisar ser revogado. Esta ação envolve a remoção do aviso através do console, que é acessível para aqueles com acesso ao servidor. Se você for um cliente de hospedagem, entre em contato com a equipe do Discourse (team@discourse.org) para obter assistência com este processo.
Entendendo os avisos de usuário
Avisos oficiais envolvem duas peças de dados no banco de dados do Discourse:
- Um registro na tabela
user_warningsque vincula o aviso a um usuário e tópico. - O tópico de mensagem privada associado tem seu
subtypedefinido como"moderator_warning".
Para desfazer completamente um aviso, ambos precisam ser tratados: o registro user_warnings deve ser excluído e o subtipo do tópico deve ser redefinido.
Removendo um aviso oficial
Para remover um aviso, siga estas etapas:
-
Acesse o console do servidor:
- Use SSH para se conectar ao seu servidor Discourse.
- Entre no console com os seguintes comandos:
cd /var/discourse/ ./launcher enter app rails console
-
Remova o aviso mais recente:
Se o aviso que você deseja excluir for o mais recente, execute:warning = UserWarning.last warning.topic.update(subtype: TopicSubtype.user_to_user) warning.destroy -
Encontre e remova um aviso específico:
Se o aviso não foi o último, procure pelo aviso específico usando ouser_id:UserWarning.where(user_id: the_user_id)Isso retornará um array de avisos relacionados ao usuário. Depois de encontrar o
idcorreto, remova-o usando:warning = UserWarning.find(3) warning.topic.update(subtype: TopicSubtype.user_to_user) warning.destroy
Destruir o registro do aviso e redefinir o subtipo do tópico removerá o aviso da contagem de avisos do usuário e desmarcará a MP como um aviso oficial. A mensagem privada em si não será excluída.