Classes/Components/OAIUser.ps1
class OAIUser { [OAIComplianceRequestClient]$Client OAIUser([OAIComplianceRequestClient]$client) { $this.Client = $client } #region User Operations # Get all workspace users with optional top limit [object]GetUsers([int]$top = 0) { return $this.Client.Paginate(@("users"), @{}, $top) } # Get user file content [object]GetUserFileContent([string]$userId, [string]$fileId) { $segments = @("users", $userId, "files", $fileId) return $this.Client.InvokeGetRequest($segments, @{}) } # Delete user-owned file [object]DeleteUserFile([string]$userId, [string]$fileId) { $segments = @("users", $userId, "files", $fileId) return $this.Client.InvokeDeleteRequest($segments, @{}) } # Delete user-owned file with conversation context (required for audio/video files) [object]DeleteUserFile([string]$userId, [string]$fileId, [string]$conversationId) { $segments = @("users", $userId, "files", $fileId) $query_params = @{} $query_params["conversation_id"] = $conversationId return $this.Client.InvokeDeleteRequest($segments, $query_params) } #endregion } |