From 1bf0d66b7a24d422aabddaef4c9affe3ce01b9fb Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 21 Apr 2017 19:27:17 +1000 Subject: [PATCH] adds notes --- OurUmbraco/Repository/Models/PackageDetails.cs | 2 +- .../Repository/Services/PackageRepositoryService.cs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/OurUmbraco/Repository/Models/PackageDetails.cs b/OurUmbraco/Repository/Models/PackageDetails.cs index 0d695952..6ca18040 100644 --- a/OurUmbraco/Repository/Models/PackageDetails.cs +++ b/OurUmbraco/Repository/Models/PackageDetails.cs @@ -37,7 +37,7 @@ namespace OurUmbraco.Repository.Models /// /// A list of all supported/targeted Umbraco versions for all files for this package /// - public List TargetedUmbracoVersions { get; set; } + public string[] TargetedUmbracoVersions { get; set; } public List ExternalSources { get; set; } diff --git a/OurUmbraco/Repository/Services/PackageRepositoryService.cs b/OurUmbraco/Repository/Services/PackageRepositoryService.cs index 67a33da2..d243bdfa 100644 --- a/OurUmbraco/Repository/Services/PackageRepositoryService.cs +++ b/OurUmbraco/Repository/Services/PackageRepositoryService.cs @@ -205,7 +205,7 @@ namespace OurUmbraco.Repository.Services var packageDetails = new PackageDetails(package) { - TargetedUmbracoVersions = GetAllFilePackageVersions(allPackageFiles).Select(x => x.ToString(3)).ToList(), + TargetedUmbracoVersions = GetAllFilePackageVersions(allPackageFiles).Select(x => x.ToString(3)).ToArray(), Compatibility = GetPackageCompatibility(content), NetVersion = content.GetPropertyValue("dotNetVersion"), LicenseName = content.GetPropertyValue("licenseName"), @@ -218,6 +218,12 @@ namespace OurUmbraco.Repository.Services //if no version or not strict version dependencies, return the current release file if (currentUmbracoVersion == null || strictPackageFileVersions.Length == 0) { + //TODO: Now we have to do the opposite of below and filter out any package file versions that have strict + // umbraco dependencies applied. Anything that has 7.5 (which would be the very minimum strict dependency) we can check for + // and then we must also consider that version 7.5.x will never send up a `currentUmbracoVersion` string, however, + // we will know if it is 7.5.x if it comes from PackageRepositoryController.GetDetails since that was the minimum umbraco version + // that used this endpoint! + var currentReleaseFile = content.GetPropertyValue("file"); packageDetails.ZipUrl = string.Concat(BASE_URL, "/FileDownload?id=", currentReleaseFile); }