mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 22:14:26 +01:00
Refactoring and commenting
This commit is contained in:
@@ -30,29 +30,31 @@ namespace BTCPayServer.Controllers.GreenField
|
||||
_policiesSettings = policiesSettings;
|
||||
_settingsRepository = settingsRepository;
|
||||
}
|
||||
|
||||
[Authorize(Policy = Policies.CanModifyServerSettings, AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||
[HttpGet("~/api/v1/server/email")]
|
||||
public async Task<IActionResult> ServerEmailSettings()
|
||||
{
|
||||
var email = await _emailSenderFactory.GetSettings() ?? new EmailSettings();
|
||||
return Ok(FromModel(email));
|
||||
}
|
||||
|
||||
private ServerEmailSettingsData FromModel(EmailSettings email)
|
||||
|
||||
private ServerEmailSettingsData ToApiModel(EmailSettings email)
|
||||
{
|
||||
var data = email.ToData<ServerEmailSettingsData>();
|
||||
data.EnableStoresToUseServerEmailSettings = !_policiesSettings.DisableStoresToUseServerEmailSettings;
|
||||
return data;
|
||||
}
|
||||
|
||||
[Authorize(Policy = Policies.CanModifyServerSettings, AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||
[HttpGet("~/api/v1/server/email")]
|
||||
public async Task<IActionResult> ServerEmailSettings()
|
||||
{
|
||||
var email = await _emailSenderFactory.GetSettings() ?? new EmailSettings();
|
||||
return Ok(ToApiModel(email));
|
||||
}
|
||||
|
||||
[Authorize(Policy = Policies.CanModifyServerSettings, AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||
[HttpPut("~/api/v1/server/email")]
|
||||
public async Task<IActionResult> ServerEmailSettings(ServerEmailSettingsData request)
|
||||
{
|
||||
request.Validate(ModelState);
|
||||
if (!ModelState.IsValid)
|
||||
if (!MailboxAddressValidator.IsMailboxAddress(request.From))
|
||||
{
|
||||
ModelState.AddModelError(nameof(request.From), "Invalid email address");
|
||||
return this.CreateValidationError(ModelState);
|
||||
}
|
||||
|
||||
if (_policiesSettings.DisableStoresToUseServerEmailSettings == request.EnableStoresToUseServerEmailSettings)
|
||||
{
|
||||
@@ -65,7 +67,7 @@ namespace BTCPayServer.Controllers.GreenField
|
||||
|
||||
// important to save as EmailSettings otherwise it won't be able to be fetched
|
||||
await _settingsRepository.UpdateSetting(settings);
|
||||
return Ok(FromModel(settings));
|
||||
return Ok(ToApiModel(settings));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user