- Navios
- 7 de agosto de 2026 às 05:08 UTC
- Autor
- Kamo
- Enviar
- e6cb8fd
createCustomer salvou a conta antes de escrever seus endereços, e não foi transacional – então quando o endereço inserir falhou, a conta semi- construída Permaneceram comprometidos e cada tentativa deixou outro órfão para trás. Agora é. @Transactional, e porque o manipulador pega suas próprias exceções para moldar um resposta (que suprime a rotação automática da Primavera) marca o transação apenas retroceder explicitamente. Também na superfície do cliente: - O membro primário foi procurado com um achado nuById, para que um ouvinte pudesse membro da OUTRA org propriedade de, e direitos de faturamento sobre, uma conta em Esta. Agora é org- scoped, correspondência atualizaçãoCustomerMembros que já Fiz isto. - getAddresses e buildAccountSummary construiu respostas com Map.of, que lança um valor nulo. Uma conta sem endereço primário é o normal Caso, então GET /clientes/{uid}/address era um garantido 500. - Um código de moeda não reconhecido persistiu NULL em vez do padrão org. - Anotação autoria veio do corpo pedido, por isso foi forjable; ele agora vem da sessão. - Toda a superfície /clientes não requer nada além de uma sessão válida. Qualquer membro poderia criar, editar e excluir as contas de sua org e reescrever Descontos do AccountTier, incluindo papéis que não foram concedidos VER ACCOUNTS. A **************************** os direitos sempre existiram e são agora forçado, espelhando a verificação MERGE ACCOUNTS já neste arquivo. POST/DELETE /leaders/{id}/conta também não tinha nenhuma verificação certa: uma chamada de espera apenas VEZ LEADS poderiam relinkar ou deslinkar a conta em um lead que não podem abrir, e voltou um LeadDTO desmascarado. Eles agora carregam os mesmos portões da atualização. e mascarar a resposta através de LeadFieldMask. Uma conta em faltaId já não NPEs em um 400 carregando texto interno.