fix(user): move bind-email subscriptions to owner
Build docker and publish / build (20.15.1) (push) Has been cancelled

This commit is contained in:
2026-05-01 05:24:11 -07:00
parent cf70838142
commit d748a7e75d
3 changed files with 400 additions and 9 deletions
@@ -135,16 +135,18 @@ func (l *BindEmailWithVerificationLogic) BindEmailWithVerification(req *types.Bi
logger.Field("email", req.Email),
)
// Join family: email user as owner, device user as member
// Join family: email user as owner, device user as member.
// For a newly-created email owner, preserve the device user's paid entitlement by moving
// its subscriptions to the email owner and issuing owner-side subscription tokens.
if err = familyHelper.validateJoinFamily(emailUser.Id, u.Id); err != nil {
return nil, err
}
joinResult, err := familyHelper.joinFamily(emailUser.Id, u.Id, "bind_email_with_verification")
joinResult, err := familyHelper.joinFamilyAndMoveSubscribesToOwner(emailUser.Id, u.Id, "bind_email_with_verification")
if err != nil {
return nil, err
}
commonLogic.SubscriptionTraceInfo(l.Logger, commonLogic.SubscriptionTraceFlowEmailBind, "family_joined",
"[SubscriptionFlow] device user joined email owner family",
"[SubscriptionFlow] device user joined email owner family and subscriptions moved to owner with reset tokens",
logger.Field("device_user_id", u.Id),
logger.Field("owner_user_id", emailUser.Id),
logger.Field("family_id", joinResult.FamilyId),