rp-community
Propósito
Estructura y propiedad del foro: secciones, temas, quién los escribió y quién puede
verlos. La discusión de un tema no está aquí: un tema contiene un threadId
y los mensajes viven en .rp-threads
Límite de responsabilidad
Es responsable de las secciones y los temas. No llama a ni a ningún otro repositorio:rp-threads genera un createTopic y lo devuelve, y el llamador registra elthreadId
hilo y escribe la publicación inicial por sí mismo.
Identidad y autoría
nunca se acepta de un llamador. Se obtiene del token verificadocreatedBy
a través de , que getCurrentWorkspaceContext() prefiere sobremessaging-backend
cualquier dato que afirme el sobre. Los identificadores de temas e hilos se generan aquí por la misma
razón: un identificador que puede elegir un cliente es un identificador que puede robar, y la tabla de
tags de acceso no registra ningún tipo de objeto para detectar la colisión.
Visibilidad
Las secciones y los temas contienen una columna (visibility | public |authenticated | private), y un tema nuevo hereda el valor de su sección a menos quetagged
solicite algo más restrictivo. Las etiquetas detrás de pertenecen a la relacióntagged
compartida descrita en access_tags; esa parte aún no estáaccess-control.md
implementada, por lo que actualmente se registra, pero no se aplica.visibility
Bloqueo
es el único lugar donde se puede aplicar un bloqueo: touchTopicActivityrp-threads
acepta un mensaje sin saber que existen temas, por lo que una pantalla llama a esto después
de publicar y trata un rechazo como una publicación fallida.
Dependencias directas del módulo
,back-core,nrpcg-community
Pertenencia a la solución
communications
Fuente
modules/repositories/communications/rp-community