public async Task <IActionResult> GetList( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "audio")] HttpRequest req, ILogger log) { try { // get the user ID if (!await this.UserAuthenticationService.GetUserIdAsync(req, out var userId, out var responseResult).ConfigureAwait(false)) { return(responseResult); } // list the audio notes var blobs = await this.BlobRepository.ListBlobsInFolderAsync(AudioBlobContainerName, userId).ConfigureAwait(false); var blobSummaries = blobs .Select(b => new GetListItem { Id = b.BlobName.Split('/')[1], Preview = b.Properties.ContainsKey(TranscriptMetadataName) ? b.Properties[TranscriptMetadataName].Truncate(TranscriptPreviewLength) : string.Empty, }) .ToList(); var audioNoteSummaries = new GetListResponse(); audioNoteSummaries.AddRange(blobSummaries); return(new ObjectResult(audioNoteSummaries)); } catch (Exception ex) { log.LogError(ex, UnhandledExceptionError); throw; } }