- Shipped
- 11 agosto 2026 alle ore 01:03 UTC
- Author
- Kamo
- Commit
- 67e586e
Mancavano tre cose e uno era attivamente dannoso. account members ha portato un unico globale su member id — un membro potrebbe amministrare esattamente UN conto di fatturazione piattaforma su tutto. Questo è il soffitto che ha fatto ogni accordo multi-payer impossibile, e già stava facendo danni piuttosto che limitando semplicemente: AccountMemberService.add() lavorato intorno ad esso in silenzio SCONTO della riga del membro sul loro conto precedente, in modo da concedere l'accesso di fatturazione a uno revocato da un altro senza preavviso; e promuovereToBillingOwner lanciato una violazione di vincolo al secondo giro, trasformando un doppio clic in un 500. The composito unico su (account uid, membro id) già esisteva ed esprime vera regola. Dropping fa un derivato trovareByMemberId di ritorno opzionale gettare il momento chiunque detiene due file, e nove chiamanti si affidano a esso. È ora una query legata ordinato dalla creazione, così quei chiamanti mantengono la risposta che avevano invece di a seconda di qualsiasi cosa il pianificatore ritorna prima; trovareAllByMemberId è lì per codice che li vuole tutti. OrgBillingPolicy è il controllo preventivo che il proprietario non ha mai avuto. Il 2026-04-16 design specificato billing delegation mode e l'implementazione ha abbandonato, lasciando un irreversibile promuovere il gesto e non dire in anticipo se l'autopagamento è stato permesso a tutti — mentre un percorso di controllo del consumatore separato I membri si sottoscrivono comunque. Dove una modalità vieta qualcosa che le superfici nascondono piuttosto che offrirlo e fallire. BillingGroup nomina un accordo il modello già permesso: AccountSubscription è unico su (account, mercato, target org), quindi diversi account potrebbero sempre bersaglio di un'organizzazione. Essa non ha alcun roster proprio — che detiene un posto è AbbonamentoMember plus AccountLicense, la stessa risposta di chiunque altro, e un il secondo roster sarebbe una seconda verità da tenere in passo.