Drop users/masterAccountHolder, use Account.members + primaryMember

RefactorSecurityService
Shipped
April 27, 2026 at 10:58 PM UTC
Author
Kamo
Commit
137ea5a

AccountController now reflects the Account-as-group model: - computeDisplayName / extractEmail / extractPhone resolve through the primaryMember (Member) instead of the dropped masterAccountHolder - getCustomerDetail returns the Account's members list with permission flags (isLicensee, isAccountManager, canManageSubscription, canManageBilling) plus the primaryMemberId - POST /customers accepts primaryMemberId (replaces masterAccountHolderId); on save, an AccountMember row with full management flags is created for the primary member - PUT /customers/{uid}/members rewritten to add/remove AccountMember rows by member id and set the primary member EntitlementService updated to consume the new AccountMember entity (was AccountBillingMember in commerce.billing.account).

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing