Classes/Components/OAIRecording.ps1
class OAIRecording { [OAIComplianceRequestClient]$Client OAIRecording([OAIComplianceRequestClient]$client) { $this.Client = $client } #region Recording Operations # Get all recordings with optional top limit [object]GetRecordings([int]$top = 0) { return $this.Client.Paginate(@("recordings"), @{}, $top) } # Get specific recording [object]GetRecording([string]$recordingId) { $segments = @("recordings", $recordingId) return $this.Client.InvokeGetRequest($segments, @{}) } # Delete recording [object]DeleteRecording([string]$recordingId) { $segments = @("recordings", $recordingId) return $this.Client.InvokeDeleteRequest($segments, @{}) } # Get user recordings with optional top limit [object]GetUserRecordings([string]$userId, [int]$top = 0) { $segments = @("users", $userId, "recordings") return $this.Client.Paginate($segments, @{}, $top) } # Get user recording transcript with optional summary [object]GetUserRecordingTranscript([string]$userId, [string]$recordingId, [bool]$includeSummary = $false) { $segments = @("users", $userId, "recordings", $recordingId, "transcript") $query_params = @{} If ($includeSummary) { $query_params["include_summary"] = "true" } return $this.Client.InvokeGetRequest($segments, $query_params) } # Delete user recording [object]DeleteUserRecording([string]$userId, [string]$recordingId) { $segments = @("users", $userId, "recordings", $recordingId) return $this.Client.InvokeDeleteRequest($segments, @{}) } #endregion } |