diff --git a/OurUmbraco/Repository/Controllers/PackageRepositoryController.cs b/OurUmbraco/Repository/Controllers/PackageRepositoryController.cs
index 6a6cd79e..08625386 100644
--- a/OurUmbraco/Repository/Controllers/PackageRepositoryController.cs
+++ b/OurUmbraco/Repository/Controllers/PackageRepositoryController.cs
@@ -9,6 +9,7 @@ using Umbraco.Core.Cache;
using Umbraco.Web.WebApi;
using System.Net.Http;
using System.Net;
+using Semver;
using Umbraco.Core;
namespace OurUmbraco.Repository.Controllers
@@ -97,16 +98,16 @@ namespace OurUmbraco.Repository.Controllers
///
public PackageDetails GetDetails(Guid id, string version = null)
{
- System.Version parsed = null;
+ SemVersion parsed = null;
if (version.IsNullOrWhiteSpace() == false)
{
- System.Version.TryParse(version, out parsed);
+ SemVersion.TryParse(version, out parsed);
}
else
{
//if the version is null then the current umbraco version must be 7.5.x because this endpoint was only ever used by 7.5.x and 7.6.x and above will always
// suppy the version, therefore we can assume that this is 7.5.x, let's make it 7.5.13 which is the latest 7.5 we have right now
- parsed = new System.Version(7, 5, 13);
+ parsed = new SemVersion(7, 5, 13);
}
//this should never be null, if it is return not found
@@ -115,11 +116,13 @@ namespace OurUmbraco.Repository.Controllers
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
+ var v = new System.Version(parsed.Major, parsed.Minor, parsed.Patch);
+
//return the results, but cache for 1 minute
- var key = string.Format("PackageRepositoryController.GetDetails.{0}.{1}", id, parsed.ToString(3));
+ var key = string.Format("PackageRepositoryController.GetDetails.{0}.{1}", id, v.ToString(3));
var package = ApplicationContext.ApplicationCache.RuntimeCache.GetCacheItem
(key,
- () => Service.GetDetails(id, parsed),
+ () => Service.GetDetails(id, v),
TimeSpan.FromMinutes(1)); //cache for 1 min
if (package == null)