Users.psm1
|
function Get-GithubUser { [CmdletBinding(DefaultParameterSetName='ByName')] [OutputType('Github.User')] param( [Parameter(Position=0, ParameterSetName='ByName')] [string] $Username, [Parameter(ParameterSetName='Me')] [switch] $Me, [Parameter()] [string] $Select ) if ($Me) { # https://docs.github.com/en/rest/users/users#get-the-authenticated-user Invoke-GithubApi GET "user" | New-GithubObject 'Github.User' | Get-FilteredObject $Select } elseif ($Username) { # https://docs.github.com/en/rest/users/users#get-a-user Invoke-GithubApi GET "users/$Username" | New-GithubObject 'Github.User' | Get-FilteredObject $Select } else { throw "Specify -Username or -Me" } } |