Add auth identity legacy backfill and email sync

This commit is contained in:
IanShaw027
2026-04-21 00:13:40 +08:00
parent 9204145746
commit 5d58c7c6fb
8 changed files with 753 additions and 0 deletions

View File

@@ -630,6 +630,9 @@ func (s *adminServiceImpl) CreateUser(ctx context.Context, input *CreateUserInpu
if err := s.userRepo.Create(ctx, user); err != nil {
return nil, err
}
if err := ensureEmailAuthIdentitySync(ctx, s.userRepo, user.ID, user.Email); err != nil {
return nil, fmt.Errorf("sync email auth identity: %w", err)
}
s.assignDefaultSubscriptions(ctx, user.ID)
return user, nil
}
@@ -665,6 +668,7 @@ func (s *adminServiceImpl) UpdateUser(ctx context.Context, id int64, input *Upda
oldConcurrency := user.Concurrency
oldStatus := user.Status
oldRole := user.Role
oldEmail := user.Email
if input.Email != "" {
user.Email = input.Email
@@ -697,6 +701,9 @@ func (s *adminServiceImpl) UpdateUser(ctx context.Context, id int64, input *Upda
if err := s.userRepo.Update(ctx, user); err != nil {
return nil, err
}
if err := replaceEmailAuthIdentitySync(ctx, s.userRepo, user.ID, oldEmail, user.Email); err != nil {
return nil, fmt.Errorf("sync email auth identity: %w", err)
}
// 同步用户专属分组倍率
if input.GroupRates != nil && s.userGroupRateRepo != nil {