Public/Get-WaternetServiceStatus.ps1
|
function Get-WaternetServiceStatus { [CmdletBinding(DefaultParameterSetName = '__Default')] param ( [Parameter(Mandatory, Position = 0, ParameterSetName = 'ZipCode')] [string]$ZipCode, [Parameter(Mandatory, Position = 1, ParameterSetName = 'ZipCode')] [ValidateRange('Positive')] [decimal]$Distance ) $DutchCulture = Get-Culture -Name 'nl-NL' $Result = Invoke-RestMethod "https://www.waternet.nl/nl/api/v1/storingen?zipcode=$($ZipCode)" | Select-Object -ExpandProperty Result if ($PSCmdlet.ParameterSetName -eq 'ZipCode') { $Result = $Result | Where-Object Distance -LE $Distance } $Result | ForEach-Object { [PSCustomObject]@{ PSTypeName = 'UncommonSense.ServiceStatus.WaternetServiceStatus' Type = $_.type ID = $_.id Title = $_.title Description = $_.description DateTimeReported = $_.dateTimeReported DateTimeResolved = [DateTime]::ParseExact($_.timeFixed, 'd MMMM yyyy HH:mm', $DutchCulture) Latitude = $_.position.lat Longitude = $_.position.lng Distance = $_.distance Link = $_.url Resolved = $_.isSolved } } } |