Fix: Spurious EF error on CallbackGenerator

This commit is contained in:
Nicolas Dorier
2025-11-14 22:19:09 +09:00
parent 01f478e680
commit c9dcd4f0a4
10 changed files with 85 additions and 110 deletions

View File

@@ -69,7 +69,7 @@ namespace BTCPayServer.Controllers
InvitationUrl =
string.IsNullOrEmpty(blob?.InvitationToken)
? null
: _callbackGenerator.ForInvitation(u.Id, blob.InvitationToken, Request),
: _callbackGenerator.ForInvitation(u.Id, blob.InvitationToken),
EmailConfirmed = u.RequiresEmailConfirmation ? u.EmailConfirmed : null,
Approved = u.RequiresApproval ? u.Approved : null,
Created = u.Created,
@@ -95,7 +95,7 @@ namespace BTCPayServer.Controllers
Id = user.Id,
Email = user.Email,
Name = blob?.Name,
InvitationUrl = string.IsNullOrEmpty(blob?.InvitationToken) ? null : _callbackGenerator.ForInvitation(user.Id, blob.InvitationToken, Request),
InvitationUrl = string.IsNullOrEmpty(blob?.InvitationToken) ? null : _callbackGenerator.ForInvitation(user.Id, blob.InvitationToken),
ImageUrl = string.IsNullOrEmpty(blob?.ImageUrl) ? null : await _uriResolver.Resolve(Request.GetAbsoluteRootUri(), UnresolvedUri.Create(blob.ImageUrl)),
EmailConfirmed = user.RequiresEmailConfirmation ? user.EmailConfirmed : null,
Approved = user.RequiresApproval ? user.Approved : null,
@@ -117,7 +117,7 @@ namespace BTCPayServer.Controllers
if (user.RequiresApproval && viewModel.Approved.HasValue && user.Approved != viewModel.Approved.Value)
{
var loginLink = _callbackGenerator.ForLogin(user, Request);
var loginLink = _callbackGenerator.ForLogin(user);
approvalStatusChanged = await _userService.SetUserApproval(user.Id, viewModel.Approved.Value, loginLink);
}
if (user.RequiresEmailConfirmation && viewModel.EmailConfirmed.HasValue && user.EmailConfirmed != viewModel.EmailConfirmed)
@@ -261,7 +261,7 @@ namespace BTCPayServer.Controllers
var currentUser = await _UserManager.GetUserAsync(HttpContext.User);
var sendEmail = model.SendInvitationEmail && ViewData["CanSendEmail"] is true;
var evt = await UserEvent.Invited.Create(user, currentUser, _callbackGenerator, Request, sendEmail);
var evt = await UserEvent.Invited.Create(user, currentUser, _callbackGenerator, sendEmail);
_eventAggregator.Publish(evt);
var info = sendEmail
@@ -383,7 +383,7 @@ namespace BTCPayServer.Controllers
if (user == null)
return NotFound();
var loginLink = _callbackGenerator.ForLogin(user, Request);
var loginLink = _callbackGenerator.ForLogin(user);
await _userService.SetUserApproval(userId, approved, loginLink);
TempData[WellKnownTempData.SuccessMessage] = approved
@@ -411,7 +411,7 @@ namespace BTCPayServer.Controllers
throw new ApplicationException($"Unable to load user with ID '{userId}'.");
}
var callbackUrl = await _callbackGenerator.ForEmailConfirmation(user, Request);
var callbackUrl = await _callbackGenerator.ForEmailConfirmation(user);
_eventAggregator.Publish(new UserEvent.ConfirmationEmailRequested(user, callbackUrl));
TempData[WellKnownTempData.SuccessMessage] = StringLocalizer["Verification email sent"].Value;
return RedirectToAction(nameof(ListUsers));