Com o objetivo de propor uma solução para Restrict exposure of full name to certain groups, gostaria de definir um predicado de permissão (do lado do servidor) que responda à pergunta
Com base no escopo/contexto do usuário atual, é aceitável revelar o nome completo de (outros) usuários?
(O escopo pode ser definido por uma solicitação do cliente ou por alguma etapa de processamento interno, como a geração de mensagens de e-mail de resumo.)
Qual é a construção correta para tal predicado? Onde no codebase ele deveria residir? Estou pensando que talvez isso pertença a um guardian — estou no caminho certo? Alguma opinião sobre qual deles?
Imagino que este novo predicado englobaria muitas (mas não todas) instâncias de SiteSettings.enable_names? atualmente no codebase. (Atingir os Serializers que produzem plugs de user.name resolve a maioria dos vazamentos de dados, mas não todos.) Um bom benefício disso é que introduziria um ponto de extensão pelo qual um plugin futuro poderia alterar o comportamento (atualmente não é possível, pelo que sei, ou eu faria isso!). Portanto, se eu conseguir fazer isso funcionar, isso se tornaria um pull-request para o core do discourse — e eu gostaria de enviar um PR que tenha esperança de ser aceito.