Remove legacy Umbraco.Web (merged from v8)

This commit is contained in:
Ronald Barendse
2024-11-26 10:01:30 +01:00
committed by GitHub
parent 75ba6b7492
commit e5e077c426

View File

@@ -1,109 +0,0 @@
using System;
using System.Collections.Generic;
using Umbraco.Core;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
using Umbraco.Core.Services;
using Umbraco.Web.HealthCheck.Checks.Config;
namespace Umbraco.Web.HealthCheck.Checks.Security
{
[HealthCheck(
"6708CA45-E96E-40B8-A40A-0607C1CA7F28",
"Application URL Configuration",
Description = "Checks if the Umbraco application URL is configured for your site.",
Group = "Security")]
public class UmbracoApplicationUrlCheck : HealthCheck
{
private readonly ILocalizedTextService _textService;
private readonly IRuntimeState _runtime;
private readonly IUmbracoSettingsSection _settings;
private const string SetApplicationUrlAction = "setApplicationUrl";
public UmbracoApplicationUrlCheck(ILocalizedTextService textService, IRuntimeState runtime, IUmbracoSettingsSection settings)
{
_textService = textService;
_runtime = runtime;
_settings = settings;
}
/// <summary>
/// Executes the action and returns its status
/// </summary>
/// <param name="action"></param>
/// <returns></returns>
public override HealthCheckStatus ExecuteAction(HealthCheckAction action)
{
switch (action.Alias)
{
case SetApplicationUrlAction:
return SetUmbracoApplicationUrl();
default:
throw new InvalidOperationException("UmbracoApplicationUrlCheck action requested is either not executable or does not exist");
}
}
public override IEnumerable<HealthCheckStatus> GetStatus()
{
//return the statuses
return new[] { CheckUmbracoApplicationUrl() };
}
private HealthCheckStatus CheckUmbracoApplicationUrl()
{
var url = _settings.WebRouting.UmbracoApplicationUrl;
string resultMessage;
StatusResultType resultType;
var actions = new List<HealthCheckAction>();
if (url.IsNullOrWhiteSpace())
{
resultMessage = _textService.Localize("healthcheck", "umbracoApplicationUrlCheckResultFalse");
resultType = StatusResultType.Warning;
actions.Add(new HealthCheckAction(SetApplicationUrlAction, Id)
{
Name = _textService.Localize("healthcheck", "umbracoApplicationUrlConfigureButton"),
Description = _textService.Localize("healthcheck", "umbracoApplicationUrlConfigureDescription")
});
}
else
{
resultMessage = _textService.Localize("healthcheck", "umbracoApplicationUrlCheckResultTrue", new[] { url });
resultType = StatusResultType.Success;
}
return new HealthCheckStatus(resultMessage)
{
ResultType = resultType,
Actions = actions
};
}
private HealthCheckStatus SetUmbracoApplicationUrl()
{
var configFilePath = IOHelper.MapPath("~/config/umbracoSettings.config");
const string xPath = "/settings/web.routing/@umbracoApplicationUrl";
var configurationService = new ConfigurationService(configFilePath, xPath, _textService);
var urlValue = _runtime.ApplicationUrl.ToString();
var updateConfigFile = configurationService.UpdateConfigFile(urlValue);
if (updateConfigFile.Success)
{
return
new HealthCheckStatus(_textService.Localize("healthcheck", "umbracoApplicationUrlConfigureSuccess", new[] { urlValue }))
{
ResultType = StatusResultType.Success
};
}
return
new HealthCheckStatus(_textService.Localize("healthcheck", "umbracoApplicationUrlConfigureError", new[] { updateConfigFile.Result }))
{
ResultType = StatusResultType.Error
};
}
}
}