- Se descapó
- 7 de agosto de 2026 a las 5:08 UTC
- Autor
- Kamo
- Compromit
- e6cb8fd
crearCustormer guardó la Cuenta antes de escribir sus direcciones, y no transaccional, por lo que cuando falló el inserto de la dirección, la cuenta a medio construir Permanecía comprometida y cada reinicio dejaba a otro huérfano. Ahora lo es. Transacción, y porque el manejador atrapa sus propias excepciones para dar forma a respuesta (que suprime el retroceso automático de Spring) marca el transacción de retroceso-sólo explícitamente. También en la superficie del cliente: - El miembro de la primaria estaba mirado con un hallazgo desnudoByd, para que un llamante pudiera entregar un miembro de ANOTHER org propiedad de, y derechos de facturación sobre, una cuenta en Este. Ahora es org-scoped, actualización a juegoCustomerMembers que ya Hizo esto. - getrereses y construirAccountSummary condió respuestas con Map.of, que tiras sobre un valor nulo. Una cuenta sin dirección primaria es la normalidad caso, por lo que GET /customers/-uid-/addresses era un garantizado 500. - Un código de moneda no reconocido persistió en NULL en lugar del default de org. - La autoría de la nota vino del cuerpo de solicitud, así que era falsificable; ahora viene de la sesión. - Toda la superficie /climas requería nada más que una sesión válida. Cualquiera miembro podría crear, editar y borrar las cuentas de su org y reescribir Descuentos de AccountTier, incluyendo funciones no concedidas VIEW-ACCOUNTS. El **************** los derechos han existido todo el tiempo y ahora son se ha hecho cumplir, reflejando la comprobación MERGE-ACCOUNTS ya en este archivo. POST/DELETE /leads/-id-/account tampoco tenía un control correcto: una llamada de retención Sólo VIEW-LEADS podría reenlacer o desligar la cuenta con una pista que no pueden abrir, y recuperó un LeadDTO desenmascarado. Ahora llevan las mismas puertas que updateLead y enmascarar la respuesta a través de LeadFieldMask. Una cuenta perdida ya no NPEs en un texto interno de 400.