functions/Get-BBCourses.ps1
<#
.Synopsis Gets courses from blackboard learn. Uses v3 .DESCRIPTION Gets courses from blackboard learn. If given a CourseID, it will use that. It passes filters along to invoke-bbrestmethod and supports whatever filters the rest api supports. .EXAMPLE Get-BBCourses .EXAMPLE $CurrentTerms = Get-BBTerms -TargetTerm 'AllCurrent' $Courses = @() foreach($Term in $CurrentTerms){ $Courses += Get-BBCourses -Filter "termId=$($Term.id)" -Verbose } .EXAMPLE Get-BBCourses -CourseID 'externalId:30700' #> function Get-BBCourses { [CmdletBinding()] [Alias()] Param ( [string]$TermID, [Alias("id")] [Parameter(ValueFromPipelineByPropertyName)] [string]$CourseID, [string]$Filter, [bool]$Limit = $false, [string]$Environment = 'Production' ) Begin { } Process { if (!$CourseID -eq ""){ $apiurl = "/learn/api/public/v3/courses/$CourseID" }else{ $apiurl = "/learn/api/public/v3/courses" } if(!$TermID -eq ""){ if($Filter -eq ""){ $Filter = "termId=$($TermID)" }else{ $Filter += "termId=$($TermID)" } } Invoke-BBRestMethod -API $apiurl ` -Method Get ` -ContentType application/json ` -Filter $Filter ` -limit $Limit ` -Environment $Environment } End { } } |