- Se descapó
- 23 de septiembre de 2026 a las 2:08 UTC
- Autor
- Kamo
- Compromit
- 01ee8eb
MediaService/telefonía de chat de la tienda de archivos adjuntos (CHAT-ATTACHMENT) y grabaciones de voz/llamadas (VM-RECORDING, CALL-RECORDING) en ACCESS-LEVEL 0. Cada ruta de imagen genérica (/Descargar, /stream, /bulk-download, /list, /delete) autoriza ********************** org.clearance check alone, así que cualquier miembro de la org holding Los mensajes de texto pueden leer, exportar o enumerar el archivo adjunto de chat de cualquier colega, buzón de voz o llamada grabación fuera de la conversación en la que se compartía, más allá de un adjunto revocado (MediaObjImg.isAccesRevoked), e independientemente de quién era la grabación. /delete adicionalmente nunca lea ImageAssocType.isAllowDelete en absoluto: todas las categorías, incluyendo PATIENT-CHART y CUTERIO CATALOG (ambos sostienen que esSintentar=false específicamente porque borrarlos destruye prueba de la que depende una contabilidad de divulgación o de la procedencia de una hoja de tipos publicadas, podría ser suavemente se borró a través de este punto final sin importar su propia regla. Nuevos medios de comunicaciónAssocAccess (encontración de la biblioteca compartida de kamoByImg Id, empujado por separado como un prerrequisito) Añade la regla más estrecha que siempre faltaban estos tres tipos de asociación: un CHATACHMENT requiere membresía en la MediaSession nombrada por assocObjectId (y honores isAccessRevoked); a VM-RECORDING/CALL-RECORDING requiere la propiedad (creadoByMember) o MANAGE-VOIP-SETTINGS A la derecha de la página de administración Configuración de teléfono ya porta sus opiniones de voz de extensión cruzada detrás. Alardeado en cada ruta de lectura/export/list/delete; /lista también deja caer los tres tipos de un consultas sin filtrar "naverar todo" en DocumentListQuery (un llamante que pide explícitamente uno por assocType todavía lo consigue, filtrado por rosada). /delete ahora también resuelve lo eficaz isAllowDelete (ImageAssocType por defecto, ImgOrgAssoc org-wide anripida) antes de tocar una fila, leer directamente a través de imgRepository en lugar de getDocumentMetadata . . . . . . . . . . . . . . . . . . . . . . . . sujeto al techo de despeje que se impone, y esto lo preserva. Nuevas pruebas: MediaAssocAccessTest (11 casos, la propia lógica del guardia) y ImagingControllerMediaAssocTest (9 casos, demostrando que cada sitio de llamadas del controlador realmente lo invoca). Mutation-checked: forzando MediaAssocAccess.denialReason a devolver siempre nulo turnos 5 de MediaAssocAccessLos casos rojos; revirtiendo el controlador/DocumentListQuery cableado a origen/principal rompe la construcción directamente (se requiere el nuevo argumento del constructor), que es el fracaso por construcción más que por afirmación. Actualización de cinco pruebas preexistentes de ImagingController para aprobar el nuevo Docstor (acertidad real donde el punto final bajo prueba ahora lo alcanza; null donde Proveably no lo hace). Suite completa: 725 pruebas verdes (fue 705; 20 libras nuevas).
