Files
Umbraco-CMS/src/Umbraco.Infrastructure/Runtime/RuntimeModeValidators/RuntimeMinificationValidator.cs
Mole 94bf4efe10 V14: Obsolete runtime minification settings (#16123)
* Obsolete RuntimeMinificationSettings

* Obsolete RuntimeMinificationValidator

* Update src/Umbraco.Core/Constants-Configuration.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Obsolete RuntimeMinificationCacheBuster

---------

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2024-04-23 11:17:50 +02:00

36 lines
1.7 KiB
C#

using System.Diagnostics.CodeAnalysis;
using Microsoft.Extensions.Options;
using Umbraco.Cms.Core.Configuration.Models;
namespace Umbraco.Cms.Infrastructure.Runtime.RuntimeModeValidators;
/// <summary>
/// Validates whether the runtime minification cache buster is not set to <see cref="RuntimeMinificationCacheBuster.Timestamp" /> when in production runtime mode.
/// </summary>
/// <seealso cref="Umbraco.Cms.Infrastructure.Runtime.RuntimeModeValidators.RuntimeModeProductionValidatorBase" />
[Obsolete("Runtime minification is no longer supported, so this is no longer relevant. Will be removed entirely in V16.")]
public class RuntimeMinificationValidator : RuntimeModeProductionValidatorBase
{
private readonly IOptionsMonitor<RuntimeMinificationSettings> _runtimeMinificationSettings;
/// <summary>
/// Initializes a new instance of the <see cref="RuntimeMinificationValidator" /> class.
/// </summary>
/// <param name="runtimeMinificationSettings">The runtime minification settings.</param>
public RuntimeMinificationValidator(IOptionsMonitor<RuntimeMinificationSettings> runtimeMinificationSettings)
=> _runtimeMinificationSettings = runtimeMinificationSettings;
/// <inheritdoc />
protected override bool Validate([NotNullWhen(false)] out string? validationErrorMessage)
{
if (_runtimeMinificationSettings.CurrentValue.CacheBuster == RuntimeMinificationCacheBuster.Timestamp)
{
validationErrorMessage = "Runtime minification setting needs to be set to a fixed cache buster (like Version or AppDomain) in production mode.";
return false;
}
validationErrorMessage = null;
return true;
}
}