* Rename ModelsBuilderDashboard folder to ModelsBuilder * Fix modelsbuilder paths and related naming * Rename analytics route to telemetry * Fix controller bases - routes and tags * Fix items route * Fix more controllerbase routes * Fix route * Fix OpenApi file * Merging DictionaryItem and Dictionary * Fix TrackedReferences naming * Update OpenApi file * Rename Analytics* related types to Telemetry* * New Backoffice: Return AnalyticsLevelViewModel from Telemetry/ (#13298) * Return TelemetryLevelViewModel instead of TelemetryLevel * Fix schema * Change telemetry/current to telemetry/level (cherry picked from commit f2b8494c669cbbf04b623753abbf1be211973aa9) * Add contants for tree and recycle-bin subpaths (cherry picked from commit 4449f56bc00832ea6d357a3854b454791c80e0e2) Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
36 lines
1.3 KiB
C#
36 lines
1.3 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Umbraco.Cms.Core.Services;
|
|
using Umbraco.Cms.ManagementApi.ViewModels.Telemetry;
|
|
|
|
namespace Umbraco.Cms.ManagementApi.Controllers.Telemetry;
|
|
|
|
public class SetTelemetryController : TelemetryControllerBase
|
|
{
|
|
private readonly IMetricsConsentService _metricsConsentService;
|
|
|
|
public SetTelemetryController(IMetricsConsentService metricsConsentService) => _metricsConsentService = metricsConsentService;
|
|
|
|
[HttpPost("level")]
|
|
[MapToApiVersion("1.0")]
|
|
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status400BadRequest)]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
public async Task<IActionResult> SetConsentLevel(TelemetryLevelViewModel telemetryLevelViewModel)
|
|
{
|
|
if (!Enum.IsDefined(telemetryLevelViewModel.TelemetryLevel))
|
|
{
|
|
var invalidModelProblem = new ProblemDetails
|
|
{
|
|
Title = "Invalid TelemetryLevel value",
|
|
Detail = "The provided value for TelemetryLevel is not valid",
|
|
Status = StatusCodes.Status400BadRequest,
|
|
Type = "Error",
|
|
};
|
|
return BadRequest(invalidModelProblem);
|
|
}
|
|
|
|
_metricsConsentService.SetConsentLevel(telemetryLevelViewModel.TelemetryLevel);
|
|
return await Task.FromResult(Ok());
|
|
}
|
|
}
|