11using System ;
22using System . Collections . Generic ;
33using System . Linq ;
4+ using System . Net . Http ;
5+ using System . Net . Http . Json ;
46using System . Threading . Tasks ;
57using TwoWeeksReady . Admin . Security ;
68using TwoWeeksReady . Common . EmergencyKits ;
@@ -9,11 +11,14 @@ namespace TwoWeeksReady.Admin.Data
911{
1012 public class FunctionsRepository : IRepository
1113 {
12- private TokenProvider _tokenProvider ;
14+ private readonly HttpClient _httpClient ;
15+ private readonly TokenProvider _tokenProvider ;
1316
14- public FunctionsRepository ( TokenProvider tokenProvider )
17+ public FunctionsRepository ( IHttpClientFactory httpClientFactory , TokenProvider tokenProvider )
1518 {
16- this . _tokenProvider = tokenProvider ;
19+ this . _httpClient = httpClientFactory . CreateClient ( "ApiClient" ) ;
20+ _tokenProvider = tokenProvider ;
21+ this . _httpClient . DefaultRequestHeaders . Authorization = new System . Net . Http . Headers . AuthenticationHeaderValue ( "Bearer" , tokenProvider . AccessToken ) ;
1722 }
1823 public Task < IEnumerable < BaseKit > > GetAllBaseKits ( )
1924 {
@@ -25,9 +30,9 @@ public Task<IEnumerable<HazardHunt>> GetAllHazardHunts()
2530 throw new NotImplementedException ( ) ;
2631 }
2732
28- public Task < IEnumerable < HazardInfo > > GetAllHazardInfos ( )
33+ public async Task < IEnumerable < HazardInfo > > GetAllHazardInfos ( )
2934 {
30- throw new NotImplementedException ( ) ;
35+ return await _httpClient . GetFromJsonAsync < IList < HazardInfo > > ( "hazardinfo-list" ) ;
3136 }
3237
3338 public Task < BaseKit > GetBaseKitById ( string id )
@@ -40,9 +45,16 @@ public Task<HazardHunt> GetHazardHuntById(string id)
4045 throw new NotImplementedException ( ) ;
4146 }
4247
43- public Task < HazardInfo > GetHazardInfoById ( string id )
48+ public async Task < HazardInfo > GetHazardInfoById ( string id )
4449 {
45- throw new NotImplementedException ( ) ;
50+ try
51+ {
52+ return await _httpClient . GetFromJsonAsync < HazardInfo > ( $ "hazardinfo-by-id/{ id } ") ;
53+ } catch ( Exception ex )
54+ {
55+ return new HazardInfo ( ) ;
56+ }
57+
4658 }
4759
4860 public Task < BaseKitItem > SaveBaseKitItem ( BaseKitItem kit )
0 commit comments