public async Task <string> GetHiresPdfLink(string orderId, int line) { var order = await orderViewClient.GetOrderByOrderId(orderId); if (!order.Success || order.Payload == null) { logger.LogError("GetHiresPdfLink", $"Failed to call OrderView microservice. {order.ErrorMessages}"); return(documents.GetDocumentAbsoluteUrl(resources.GetSettingsKey("KDA_HiresPdfLinkFail"))); } var fileKey = order.Payload.Items?.FirstOrDefault(i => i.LineNumber == line)?.FileKey; if (string.IsNullOrEmpty(fileKey)) { logger.LogError("GetHiresPdfLink", $"Order doesn't contain line #{line} with valid FileKey"); return(GetCustomizedFailUrl(order.Payload.SiteId)); } var linkResult = await fileClient.GetShortliveSecureLink(fileKey); if (!linkResult.Success || string.IsNullOrEmpty(linkResult.Payload)) { logger.LogError("GetHiresPdfLink", $"Failed to call File microservice. {order.ErrorMessages}"); return(GetCustomizedFailUrl(order.Payload.SiteId)); } return(linkResult.Payload); }
public async Task <string> GetUrlFromS3(string key) { var linkResult = await _fileClient.GetShortliveSecureLink(key); if (!linkResult.Success || string.IsNullOrEmpty(linkResult.Payload)) { _logger.LogError("GetUrlFromS3", "Failed to get link for file from S3."); return(null); } return(linkResult.Payload); }