rp-community
Objetivo
Estrutura e propriedade do fórum: seções, tópicos, quem os escreveu e quem pode vê-los. A discussão sob um tópico não fica aqui — um tópico carrega um e as mensagens ficam em threadId.rp-threads
Limite de responsabilidade
É responsável por seções e tópicos. Não chama nem qualquer outro repositório: rp-threads gera um createTopic e o devolve, e o chamador registra a thread e escreve a própria publicação inicial.threadId
Identidade e autoria
nunca é aceito de um chamador. Ele é lido do token verificado por meio de createdBy, que getCurrentWorkspaceContext() prefere a qualquer informação declarada pelo envelope. Os IDs de tópicos e threads são gerados aqui pelo mesmo motivo — um ID que um cliente pode escolher é um ID que ele pode roubar, e a tabela de tags de acesso não registra nenhum tipo de objeto para detectar a colisão.messaging-backend
Visibilidade
Seções e tópicos carregam uma coluna (visibility | public | authenticated | private), e um novo tópico herda o valor de sua seção, a menos que solicite algo mais restritivo. As tags por trás de tagged pertencem à relação compartilhada tagged descrita em access_tags; essa parte ainda não foi implementada, portanto, atualmente access-control.md é registrada, mas não é aplicada.visibility
Bloqueio
é o único lugar onde um bloqueio pode ser aplicado: touchTopicActivity aceita uma mensagem sem saber que os tópicos existem, então uma tela chama isso após a publicação e trata uma recusa como uma publicação malsucedida.rp-threads
Dependências diretas do módulo
,back-core,nrpcg-community
Participação na solução
communications
Fonte
modules/repositories/communications/rp-community