using Microsoft.AspNetCore.Mvc; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Services; namespace Umbraco.Cms.Web.BackOffice.Controllers; public class AnalyticsController : UmbracoAuthorizedJsonController { private readonly IMetricsConsentService _metricsConsentService; public AnalyticsController(IMetricsConsentService metricsConsentService) => _metricsConsentService = metricsConsentService; public TelemetryLevel GetConsentLevel() => _metricsConsentService.GetConsentLevel(); [HttpPost] public IActionResult SetConsentLevel([FromBody] TelemetryResource telemetryResource) { if (!ModelState.IsValid) { return BadRequest(); } _metricsConsentService.SetConsentLevel(telemetryResource.TelemetryLevel); return Ok(); } public IEnumerable GetAllLevels() => new[] { TelemetryLevel.Minimal, TelemetryLevel.Basic, TelemetryLevel.Detailed }; }