- Expediere
- 23 septembrie 2026 la 02:08 UTC
- Autor
- Kamo
- Comite
- 01ee8eb
MediaService/Store de telefonie atașamente de chat (CHAT ATCHMENT) și înregistrări vocale/telefonice (VM RECORDING, CALL RECORDING) la ACCES LEVEL 0. Fiecare cale de imagistică generică (/download, /stream, /bulk-download, /list, /delete) autorizează pe ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** VERDE DOCUMENTE ar putea citi, exporta sau lista atașamentul de chat al oricărui coleg, mesageria vocală sau apelul înregistrare (MediaObjImg.isAccessRevoked), și indiferent de a cărui înregistrare a fost. /Sterge in plus nu citiți niciodată ImageAssocType.isAllowDelete la toate: fiecare categorie, inclusiv PACIENT CHART și CATALOG SOURCE (ambele dețin esteAllowDelete=fals specific, deoarece eliminarea lor distruge dovezi de proveniență a unei contabilități de publicare sau a unei fișe de rate publicate depinde de aceasta); ar putea fi Usor eliminat prin intermediul acestui criteriu final, indiferent de propria sa regulă. New MediaAssocAccess (kamo-shared-library's findByImg Id, împins separat ca o condiție prealabilă) adaugă regula mai îngustă aceste trei tipuri de asociere au fost întotdeauna lipsă: un chat ATCHMENT necesită calitatea de membru al Sesiunii Media numită de către AssocObjectId (și onoruri esteAccessRevoked); a VM RECORDING/CALL RECORDING necesită proprietate (creat de către membru) sau MANAGE VOIP SETTINGS dreapta pagina telefon Setări admin deja porțile sale cross-extensie vocemail vizualizare în spatele. Wired into every read/export/list/delete way; /list drops also the three types from an interogare nefiltrată "verificați totul" în DocumentListQuery (un apelant care cere în mod explicit pentru unul de assocType încă devine, filtrat pe rând). /Sterge acum, de asemenea, rezolvă eficacitatea isAllowDelete (ImageAssocType implicit, ImgOrgAssoc org-wide suprascrie) înainte de a atinge un rând, citiți direct prin intermediul imgRepository, mai degrabă decât a obțineDocumentMetadata Sub rezerva plafonului de clearance care citește impune, și acest lucru păstrează că. Noi teste: MediaAssocAccessTest (11 cazuri, propria logică a paznicului) și ImagingControllerMediaAssocTest (9 cazuri, dovedind fiecare site de apel controler îl invocă de fapt). Mutaţie verificată: forţând MediaAssocAccess#denialReason să returneze întotdeauna nul transformă 5 din MediaAssocAccessTest's cases rosu; reverting the controler/DocumentListQuery cablu to origin/main rupe complet clădirea (nouul argument constructor este necesar), care este eșecul de mai degrabă construcţie decât prin afirmaţie. Cinci teste pre-existente ImagingController actualizate pentru a trece noul Docstor (în cazul în care criteriul final de evaluare este atins în prezent; nul în cazul în care în mod inevitabil nu are). Apartament complet: 725 teste verzi (a fost 705; +20 noi).
