Classes/AzureDevOpsFeedPackageVersion.ps1

class AzureDevOpsFeedPackageVersion {
    [string]$private:Version
    [string]$private:Id
    [string]$private:StorageId
    [bool]$private:IsLatest
    [bool]$private:IsListed
    [string]$private:Description
    [object]$private:ProtocolMetadata
    [object]$private:Views
    [object]$private:Dependencies
    [object]$private:SourceChain
    $private:PublishDate
    hidden [object]$private:Raw

    AzureDevOpsFeedPackageVersion ($Value) {
        $this.Version = $Value.version
        $this.Id = $Value.id
        $this.StorageId = $Value.storageId
        $this.IsLatest = $Value.isLatest
        $this.IsListed = $Value.isListed
        $this.Description = $Value.description
        $this.ProtocolMetadata = $Value.protocolMetadata
        $this.Views = $Value.views
        $this.Dependencies = $Value.dependencies
        $this.SourceChain = $Value.sourceChain
        $this.PublishDate = $Value.publishDate
        $this.Raw = $Value
    }
    hidden static [AzureDevOpsFeedPackageVersion[]]Get() {
        $feedPackageVersions = [AzureDevOps]::InvokeRequest()
        $output = $feedPackageVersions.ForEach{
            [AzureDevOpsFeedPackageVersion]::new($_)
        }
        return $output 
    }
}