Merge branch 'v9/dev' into v10/dev

This commit is contained in:
Sebastiaan Janssen
2022-04-26 10:35:09 +02:00
2 changed files with 27 additions and 1 deletions

View File

@@ -1,5 +1,9 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Security;
using Umbraco.Cms.Web.Common.DependencyInjection;
namespace Umbraco.Cms.Core.Services
{
@@ -8,10 +12,27 @@ namespace Umbraco.Cms.Core.Services
internal const string Key = "UmbracoAnalyticsLevel";
private readonly IKeyValueService _keyValueService;
private readonly ILogger<MetricsConsentService> _logger;
private readonly IBackOfficeSecurityAccessor _backOfficeSecurityAccessor;
// Scheduled for removal in V12
[Obsolete("Please use the constructor that takes and ILogger and IBackOfficeSecurity instead")]
public MetricsConsentService(IKeyValueService keyValueService)
: this(
keyValueService,
StaticServiceProvider.Instance.GetRequiredService<ILogger<MetricsConsentService>>(),
StaticServiceProvider.Instance.GetRequiredService<IBackOfficeSecurityAccessor>())
{
}
public MetricsConsentService(
IKeyValueService keyValueService,
ILogger<MetricsConsentService> logger,
IBackOfficeSecurityAccessor backOfficeSecurityAccessor)
{
_keyValueService = keyValueService;
_logger = logger;
_backOfficeSecurityAccessor = backOfficeSecurityAccessor;
}
public TelemetryLevel GetConsentLevel()
@@ -28,6 +49,8 @@ namespace Umbraco.Cms.Core.Services
public void SetConsentLevel(TelemetryLevel telemetryLevel)
{
var currentUser = _backOfficeSecurityAccessor.BackOfficeSecurity?.CurrentUser;
_logger.LogInformation("Telemetry level set to {telemetryLevel} by {username}", telemetryLevel, currentUser?.Username);
_keyValueService.SetValue(Key, telemetryLevel.ToString());
}
}