Injecting a service interface instead of calling an old web service on Our
This commit is contained in:
@@ -2,11 +2,14 @@
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http.Filters;
|
||||
using Semver;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Web.Models;
|
||||
using Umbraco.Web.Mvc;
|
||||
|
||||
@@ -15,8 +18,17 @@ namespace Umbraco.Web.Editors
|
||||
[PluginController("UmbracoApi")]
|
||||
public class UpdateCheckController : UmbracoAuthorizedJsonController
|
||||
{
|
||||
private readonly IUpgradeService _upgradeService;
|
||||
|
||||
public UpdateCheckController() { }
|
||||
|
||||
public UpdateCheckController(IUpgradeService upgradeService)
|
||||
{
|
||||
_upgradeService = upgradeService;
|
||||
}
|
||||
|
||||
[UpdateCheckResponseFilter]
|
||||
public UpgradeCheckResponse GetCheck()
|
||||
public async Task<UpgradeCheckResponse> GetCheck()
|
||||
{
|
||||
var updChkCookie = Request.Headers.GetCookies("UMB_UPDCHK").FirstOrDefault();
|
||||
var updateCheckCookie = updChkCookie != null ? updChkCookie["UMB_UPDCHK"].Value : "";
|
||||
@@ -24,14 +36,11 @@ namespace Umbraco.Web.Editors
|
||||
{
|
||||
try
|
||||
{
|
||||
var check = new org.umbraco.update.CheckForUpgrade { Timeout = 2000 };
|
||||
var version = new SemVersion(UmbracoVersion.Current.Major, UmbracoVersion.Current.Minor,
|
||||
UmbracoVersion.Current.Build, UmbracoVersion.Comment);
|
||||
var result = await _upgradeService.CheckUpgrade(version);
|
||||
|
||||
var result = check.CheckUpgrade(UmbracoVersion.Current.Major,
|
||||
UmbracoVersion.Current.Minor,
|
||||
UmbracoVersion.Current.Build,
|
||||
UmbracoVersion.Comment);
|
||||
|
||||
return new UpgradeCheckResponse(result.UpgradeType.ToString(), result.Comment, result.UpgradeUrl);
|
||||
return new UpgradeCheckResponse(result.UpgradeType, result.Comment, result.UpgradeUrl);
|
||||
}
|
||||
catch (System.Net.WebException)
|
||||
{
|
||||
|
||||
@@ -10,8 +10,10 @@ using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Migrations.Install;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.SqlSyntax;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Web.Composing;
|
||||
using Umbraco.Web.Install.Models;
|
||||
|
||||
@@ -24,16 +26,18 @@ namespace Umbraco.Web.Install
|
||||
private readonly HttpContextBase _httpContext;
|
||||
private readonly ILogger _logger;
|
||||
private readonly IGlobalSettings _globalSettings;
|
||||
private readonly IInstallationService _installationService;
|
||||
private InstallationType? _installationType;
|
||||
|
||||
public InstallHelper(IUmbracoContextAccessor umbracoContextAccessor,
|
||||
DatabaseBuilder databaseBuilder,
|
||||
ILogger logger, IGlobalSettings globalSettings)
|
||||
ILogger logger, IGlobalSettings globalSettings, IInstallationService installationService)
|
||||
{
|
||||
_httpContext = umbracoContextAccessor.UmbracoContext.HttpContext;
|
||||
_logger = logger;
|
||||
_globalSettings = globalSettings;
|
||||
_databaseBuilder = databaseBuilder;
|
||||
_installationService = installationService;
|
||||
}
|
||||
|
||||
public InstallationType GetInstallationType()
|
||||
@@ -70,18 +74,13 @@ namespace Umbraco.Web.Install
|
||||
dbProvider = GetDbProviderString(Current.SqlContext);
|
||||
}
|
||||
|
||||
var check = new org.umbraco.update.CheckForUpgrade();
|
||||
check.Install(installId,
|
||||
IsBrandNewInstall == false,
|
||||
isCompleted,
|
||||
DateTime.Now,
|
||||
UmbracoVersion.Current.Major,
|
||||
UmbracoVersion.Current.Minor,
|
||||
UmbracoVersion.Current.Build,
|
||||
UmbracoVersion.Comment,
|
||||
errorMsg,
|
||||
userAgent,
|
||||
dbProvider);
|
||||
var installLog = new InstallLog(installId: installId, isUpgrade: IsBrandNewInstall == false,
|
||||
installCompleted: isCompleted, timestamp: DateTime.Now, versionMajor: UmbracoVersion.Current.Major,
|
||||
versionMinor: UmbracoVersion.Current.Minor, versionPatch: UmbracoVersion.Current.Build,
|
||||
versionComment: UmbracoVersion.Comment, error: errorMsg, userAgent: userAgent,
|
||||
dbProvider: dbProvider);
|
||||
|
||||
_installationService.Install(installLog);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user