PSessionize.psm1

#region Invoke-SessionizeAPI

function Invoke-SessionizeAPI {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [string]$Id,

        [Parameter(Mandatory)]
        [string]$Endpoint
    )

    $Url = "https://sessionize.com/api/v2/$Id/view/$Endpoint"
    Invoke-RestMethod -Uri $Url
}
#endregion Invoke-SessionizeAPI

#region Get-SessionizeSession

function Get-SessionizeSession {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [string]$Id,

        [Parameter()]
        [ValidateSet('Sessions','GridSmart','All')]
        [string]$View = 'Sessions'
    )

    Invoke-SessionizeAPI -Id $Id -Endpoint $View
}
#endregion Get-SessionizeSession

#region Get-SessionizeSpeaker

function Get-SessionizeSpeaker {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [string]$Id
    )

    Invoke-SessionizeAPI -Id $Id -Endpoint 'Speakers'
}
#endregion Get-SessionizeSpeaker

#region Get-SessionizeSpeakerWall

function Get-SessionizeSpeakerWall {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [string]$Id
    )

    Invoke-SessionizeAPI -Id $Id -Endpoint 'SpeakerWall'
}
#endregion Get-SessionizeSpeakerWall