Private/ConvertTo-MMChannelMember.ps1
|
# Конвертер PSCustomObject → MMChannelMember function ConvertTo-MMChannelMember { <# .SYNOPSIS Конвертирует ответ API в объект типа MMChannelMember. #> [CmdletBinding()] [OutputType([MMChannelMember])] param( [Parameter(Mandatory, ValueFromPipeline)] [object]$InputObject ) process { $knownFields = @('channel_id','user_id','roles','last_viewed_at','msg_count', 'mention_count','mention_count_root','notify_props','last_update_at') $obj = [MMChannelMember]::new() foreach ($prop in $InputObject.PSObject.Properties) { if ($prop.Name -in $knownFields) { $obj.$($prop.Name) = $prop.Value } else { $obj.ExtendedFields[$prop.Name] = $prop.Value } } $obj } } |