/// <summary> /// [EARLY ACCESS] ListAccessControlledResources: Get resources available for access control Get the comprehensive set of resources that are available for access control /// </summary> /// <exception cref="Lusid.Drive.Sdk.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="cancellationToken">Cancellation Token to cancel the request.</param> /// <returns>Task of ApiResponse (ResourceListOfAccessControlledResource)</returns> public async System.Threading.Tasks.Task <Lusid.Drive.Sdk.Client.ApiResponse <ResourceListOfAccessControlledResource> > ListAccessControlledResourcesWithHttpInfoAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { Lusid.Drive.Sdk.Client.RequestOptions localVarRequestOptions = new Lusid.Drive.Sdk.Client.RequestOptions(); String[] _contentTypes = new String[] { }; // to determine the Accept header String[] _accepts = new String[] { "text/plain", "application/json", "text/json" }; var localVarContentType = Lusid.Drive.Sdk.Client.ClientUtils.SelectHeaderContentType(_contentTypes); if (localVarContentType != null) { localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); } var localVarAccept = Lusid.Drive.Sdk.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) { localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); } // authentication (oauth2) required // oauth required if (!String.IsNullOrEmpty(this.Configuration.AccessToken)) { localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken); } // set the LUSID header localVarRequestOptions.HeaderParameters.Add("X-LUSID-Sdk-Language", "C#"); localVarRequestOptions.HeaderParameters.Add("X-LUSID-Sdk-Version", "0.1.374"); // make the HTTP request var localVarResponse = await this.AsynchronousClient.GetAsync <ResourceListOfAccessControlledResource>("/api/metadata/access/resources", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); if (this.ExceptionFactory != null) { Exception _exception = this.ExceptionFactory("ListAccessControlledResources", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse); }
/// <summary> /// [EARLY ACCESS] Search: Search for a file or folder with a given name and path /// </summary> /// <exception cref="Lusid.Drive.Sdk.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="searchBody">Search parameters</param> /// <param name="page"> (optional)</param> /// <param name="sortBy"> (optional)</param> /// <param name="limit"> (optional)</param> /// <param name="filter"> (optional, default to "")</param> /// <param name="cancellationToken">Cancellation Token to cancel the request.</param> /// <returns>Task of ApiResponse (PagedResourceListOfStorageObject)</returns> public async System.Threading.Tasks.Task <Lusid.Drive.Sdk.Client.ApiResponse <PagedResourceListOfStorageObject> > SearchWithHttpInfoAsync(SearchBody searchBody, string page = default(string), List <string> sortBy = default(List <string>), int?limit = default(int?), string filter = default(string), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { // verify the required parameter 'searchBody' is set if (searchBody == null) { throw new Lusid.Drive.Sdk.Client.ApiException(400, "Missing required parameter 'searchBody' when calling SearchApi->Search"); } Lusid.Drive.Sdk.Client.RequestOptions localVarRequestOptions = new Lusid.Drive.Sdk.Client.RequestOptions(); String[] _contentTypes = new String[] { "application/json" }; // to determine the Accept header String[] _accepts = new String[] { "text/plain", "application/json", "text/json" }; var localVarContentType = Lusid.Drive.Sdk.Client.ClientUtils.SelectHeaderContentType(_contentTypes); if (localVarContentType != null) { localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); } var localVarAccept = Lusid.Drive.Sdk.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) { localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); } if (page != null) { localVarRequestOptions.QueryParameters.Add(Lusid.Drive.Sdk.Client.ClientUtils.ParameterToMultiMap("", "page", page)); } if (sortBy != null) { localVarRequestOptions.QueryParameters.Add(Lusid.Drive.Sdk.Client.ClientUtils.ParameterToMultiMap("multi", "sortBy", sortBy)); } if (limit != null) { localVarRequestOptions.QueryParameters.Add(Lusid.Drive.Sdk.Client.ClientUtils.ParameterToMultiMap("", "limit", limit)); } if (filter != null) { localVarRequestOptions.QueryParameters.Add(Lusid.Drive.Sdk.Client.ClientUtils.ParameterToMultiMap("", "filter", filter)); } localVarRequestOptions.Data = searchBody; // authentication (oauth2) required // oauth required if (!String.IsNullOrEmpty(this.Configuration.AccessToken)) { localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken); } // set the LUSID header localVarRequestOptions.HeaderParameters.Add("X-LUSID-Sdk-Language", "C#"); localVarRequestOptions.HeaderParameters.Add("X-LUSID-Sdk-Version", "0.1.374"); // make the HTTP request var localVarResponse = await this.AsynchronousClient.PostAsync <PagedResourceListOfStorageObject>("/api/search", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); if (this.ExceptionFactory != null) { Exception _exception = this.ExceptionFactory("Search", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse); }
/// <summary> /// Downloads data to a file as a stream instead of as a byte array. /// The function is asynchronous as RestSharp only offers asynchronous methods. /// This method was created in order to support file downloads as Streams as this is less taxing on memory /// than byte arrays. This would be better for large file downloads or in the case where multiple users are /// downloading at the same time, causing a lot of memory to be consumed. /// </summary> /// <param name="id">ID of the file to download</param> /// <returns>The downloaded Stream as a Task</returns> public static async Task <Stream> DownloadAsStreamAsync(this IFilesApi api, string id) { // verify the required parameter 'id' is set if (id == null) { throw new ApiException(400, "Missing required parameter 'id' when calling FilesApiExtensions->DownloadAsStreamAsync"); } var restClient = new ApiClient(api.Configuration.BasePath); Lusid.Drive.Sdk.Client.RequestOptions localVarRequestOptions = new Lusid.Drive.Sdk.Client.RequestOptions(); String[] _contentTypes = new String[] { }; // to determine the Accept header String[] _accepts = new String[] { "text/plain", "application/json", "text/json" }; var localVarContentType = Lusid.Drive.Sdk.Client.ClientUtils.SelectHeaderContentType(_contentTypes); if (localVarContentType != null) { localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); } var localVarAccept = Lusid.Drive.Sdk.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) { localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); } localVarRequestOptions.PathParameters.Add("id", Lusid.Drive.Sdk.Client.ClientUtils.ParameterToString(id)); // path parameter // authentication (oauth2) required // oauth required if (!String.IsNullOrEmpty(api.Configuration.AccessToken)) { localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + api.Configuration.AccessToken); } // set the LUSID header localVarRequestOptions.HeaderParameters.Add("X-LUSID-Sdk-Language", "C#"); localVarRequestOptions.HeaderParameters.Add("X-LUSID-Sdk-Version", typeof(FilesApiExtensions).Assembly.GetName().Version?.ToString()); // make the HTTP request var localVarResponse = await restClient.GetAsync <System.IO.Stream>("/api/files/{id}/contents", localVarRequestOptions, api.Configuration, CancellationToken.None).ConfigureAwait(false); if (api.ExceptionFactory != null) { Exception _exception = api.ExceptionFactory("DownloadFile", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse.Data); }