- Se descapó
- 10 de agosto de 2026 a las 14:13 UTC
- Autor
- Kamo
- Compromit
- 41c76a7
Los contactos fueron objeto de contacto solo por la organización. listBooks (orgId) fue findByOrganizationId(orgId), y la lista de contactos abierta WHERE c.contactBook.organization.id = :orgíbeo sin predicado propietario, así que cada miembro vio - y podía borrar a granel, mover y exportar - cada contacto Alguna vez había añadido algún colega. CardDAV fue propietaria-scopete todo el tiempo (listBooksByUserId -encuentroByOwnerId), así que el teléfono de un miembro y la web La consola discrepó sobre lo que poseía esa cuenta. Scope es ahora organización y propietario en cada lectura. Propietario solo llevaría los libros de un miembro en todas las organizaciones a las que pertenecen; organización solo está siendo reemplazado el bicho. - ContactQueryStore.whereClause() es un fragmento estático y probable JPQL, por lo que el propietario predicar vidas exactamente en un lugar en lugar de ser re-derived por sitio de llamada. - findInOrg -encuentraInScope (ids, orgId, propietarioId): el guardia detrás de cada El grueso elimina, el movimiento, la exportación y el cambio de la membresía en grupo. - Listado de grupo se mueve en la tienda de consulta, propietaria-scoped; el org-wide Lector de ContactService no tenía llamadas restantes y es removido más bien que dejar como un punto de entrada disparó. - Los guardias se convierten en librosBelongsToMember / groupBelongsToMember / contactoBelongsToMember. Pertenece el libro de organización sin propietario a nadie y a 404s para todos. - asegurarPersonalBook () disposiciones "Mis Contactos" en primera lectura, por lo que un miembro sin libro no se queda con un recolector vacío y una creación que no puede éxito. listBooks por lo tanto ya no se lee. También corrija ************* que pasó un id de usuario en listBooks (orgId) y así lo emparejó contra la organización.ID No devolvió nada. Ahora utiliza el listado de propietarios que siempre significaba. Los datos que ya están sentados en libros compartidos son migrados por ContactBookOwnerSplitMigración en KamoInitializerService.