Public/Get-slPlayerOutstandingBattle.ps1
function Get-slPlayerOutstandingBattle { [CmdletBinding()] param( [Parameter(Mandatory,ValueFromPipeline,ValueFromPipelineByPropertyName)] [Alias("UserName")] [string[]]$PlayerName ) Process{ foreach ($player in $PlayerName){ $Battle = Invoke-SplinterlandsAPI -uri " https://api2.splinterlands.com/players/outstanding_match?username=$PlayerName" #api returns a string 'null' if no battle if found if ($Battle -ne "null"){ $Battle | Add-Member -TypeName "splinterlands.outstandingbattle" $rulesetList = $Battle.ruleset -split "\|" | Where-Object {-not[string]::IsNullOrWhiteSpace($_)} $Battle | Add-Member -NotePropertyMembers @{ "RulesetList" = $rulesetList "RulesetListFriendly" = ($rulesetList | Resolve-slRuleset) } $dateProperties = "created_date","expiration_date","match_date","submit_expiration_date" foreach ($dateProperty in $dateProperties){ try{ $Battle.$dateProperty = [datetime]::Parse($battle.$dateProperty) } catch{ Write-Information "Unable to parse date property [$dateProperty]" } } #foreach date property $Battle } #if not null } #foreach player } #process } |