diff --git a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt index 838861059..83c7a4188 100644 --- a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt +++ b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt @@ -2133,6 +2133,17 @@ Octopus.Client.Model Octopus.Client.Model.RetentionPeriod Retention { get; set; } Nullable StartingFrom { get; set; } } + class BuiltInArtifactFeedResource + Octopus.Client.Extensibility.IResource + Octopus.Client.Model.IAuditedResource + Octopus.Client.Extensibility.INamedResource + Octopus.Client.Extensibility.IHaveSpaceResource + Octopus.Client.Model.IHaveSlugResource + Octopus.Client.Model.FeedResource + { + .ctor() + Octopus.Client.Model.FeedType FeedType { get; } + } class BuiltInFeedResource Octopus.Client.Extensibility.IResource Octopus.Client.Model.IAuditedResource @@ -3238,6 +3249,7 @@ Octopus.Client.Model AzureContainerRegistry = 11 GoogleContainerRegistry = 12 ArtifactoryGeneric = 13 + Artifact = 14 } class FileUpload { diff --git a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt index ec79915e8..3876236ba 100644 --- a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt +++ b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt @@ -2150,6 +2150,17 @@ Octopus.Client.Model Octopus.Client.Model.RetentionPeriod Retention { get; set; } Nullable StartingFrom { get; set; } } + class BuiltInArtifactFeedResource + Octopus.Client.Extensibility.IResource + Octopus.Client.Model.IAuditedResource + Octopus.Client.Extensibility.INamedResource + Octopus.Client.Extensibility.IHaveSpaceResource + Octopus.Client.Model.IHaveSlugResource + Octopus.Client.Model.FeedResource + { + .ctor() + Octopus.Client.Model.FeedType FeedType { get; } + } class BuiltInFeedResource Octopus.Client.Extensibility.IResource Octopus.Client.Model.IAuditedResource @@ -3255,6 +3266,7 @@ Octopus.Client.Model AzureContainerRegistry = 11 GoogleContainerRegistry = 12 ArtifactoryGeneric = 13 + Artifact = 14 } class FileUpload { diff --git a/source/Octopus.Client.Tests/Serialization/FeedResourceConverterFixture.cs b/source/Octopus.Client.Tests/Serialization/FeedResourceConverterFixture.cs index a177adf37..58525657b 100644 --- a/source/Octopus.Client.Tests/Serialization/FeedResourceConverterFixture.cs +++ b/source/Octopus.Client.Tests/Serialization/FeedResourceConverterFixture.cs @@ -63,6 +63,21 @@ public void BuiltInFeedTypesDeserialize() Assert.IsAssignableFrom(typeof(BuiltInFeedResource), result); Assert.AreEqual(input.DeleteUnreleasedPackagesAfterDays, result.DeleteUnreleasedPackagesAfterDays); } + + [Test] + public void BuiltInArtifactFeedTypesDeserialize() + { + var input = new + { + Name = "Blah", + FeedType = FeedType.Artifact, + }; + + var result = Execute(input); + + Assert.AreEqual(FeedType.Artifact, result.FeedType); + Assert.IsAssignableFrom(typeof(BuiltInArtifactFeedResource), result); + } [Test] public void GitHubFeedTypesDeserialize() diff --git a/source/Octopus.Server.Client/Model/BuiltInArtifactFeedResource.cs b/source/Octopus.Server.Client/Model/BuiltInArtifactFeedResource.cs new file mode 100644 index 000000000..26aea1d8e --- /dev/null +++ b/source/Octopus.Server.Client/Model/BuiltInArtifactFeedResource.cs @@ -0,0 +1,10 @@ +using Octopus.Client.Extensibility.Attributes; + +namespace Octopus.Client.Model +{ + public class BuiltInArtifactFeedResource : FeedResource + { + public override FeedType FeedType => FeedType.Artifact; + + } +} \ No newline at end of file diff --git a/source/Octopus.Server.Client/Model/FeedType.cs b/source/Octopus.Server.Client/Model/FeedType.cs index dbb3ce522..f2713b289 100644 --- a/source/Octopus.Server.Client/Model/FeedType.cs +++ b/source/Octopus.Server.Client/Model/FeedType.cs @@ -15,6 +15,7 @@ public enum FeedType S3, AzureContainerRegistry, GoogleContainerRegistry, - ArtifactoryGeneric + ArtifactoryGeneric, + Artifact } } \ No newline at end of file diff --git a/source/Octopus.Server.Client/Serialization/FeedConverter.cs b/source/Octopus.Server.Client/Serialization/FeedConverter.cs index 7eb1eef83..9a106346e 100644 --- a/source/Octopus.Server.Client/Serialization/FeedConverter.cs +++ b/source/Octopus.Server.Client/Serialization/FeedConverter.cs @@ -22,6 +22,7 @@ public class FeedConverter : InheritedClassConverter {FeedType.AzureContainerRegistry, typeof(AzureContainerRegistryFeedResource)}, {FeedType.GoogleContainerRegistry, typeof(GoogleContainerRegistryFeedResource)}, {FeedType.ArtifactoryGeneric, typeof(ArtifactoryGenericFeedResource)}, + {FeedType.Artifact, typeof(BuiltInArtifactFeedResource)}, }; static readonly Type defaultType = typeof(NuGetFeedResource);