1111 using Microsoft . AspNetCore . Authorization ;
1212 using System ;
1313 using System . Linq ;
14+ using Microsoft . Extensions . Options ;
1415
1516 [ Route ( "api/v1/[controller]" ) ]
1617 [ Authorize ]
1718 public class CampaignsController : Controller
1819 {
1920 private readonly MarketingContext _context ;
21+ private readonly MarketingSettings _settings ;
2022 private readonly IMarketingDataRepository _marketingDataRepository ;
2123
2224 public CampaignsController ( MarketingContext context ,
23- IMarketingDataRepository marketingDataRepository )
25+ IMarketingDataRepository marketingDataRepository ,
26+ IOptionsSnapshot < MarketingSettings > settings )
2427 {
2528 _context = context ;
2629 _marketingDataRepository = marketingDataRepository ;
30+ _settings = settings . Value ;
2731 }
2832
2933 [ HttpGet ]
@@ -171,7 +175,7 @@ private CampaignDTO MapCampaignModelToDto(Campaign campaign)
171175 Description = campaign . Description ,
172176 From = campaign . From ,
173177 To = campaign . To ,
174- PictureUri = campaign . PictureUri
178+ PictureUri = GetUriPlaceholder ( campaign . PictureUri )
175179 } ;
176180 }
177181
@@ -184,8 +188,17 @@ private Campaign MapCampaignDtoToModel(CampaignDTO campaignDto)
184188 Description = campaignDto . Description ,
185189 From = campaignDto . From ,
186190 To = campaignDto . To ,
187- PictureUri = $ "http://externalcatalogbaseurltobereplaced/api/v1/campaigns/ { campaignDto . Id } /pic"
191+ PictureUri = campaignDto . PictureUri
188192 } ;
189193 }
194+
195+ private string GetUriPlaceholder ( string campaignUri )
196+ {
197+ var baseUri = _settings . ExternalCatalogBaseUrl ;
198+
199+ campaignUri = campaignUri . Replace ( "http://externalcatalogbaseurltobereplaced" , baseUri ) ;
200+
201+ return campaignUri ;
202+ }
190203 }
191204}
0 commit comments