22// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
33// See the LICENSE file in the project root for more information
44
5+ using Amazon . S3 ;
56using Elastic . Documentation ;
67using Elastic . Documentation . Diagnostics ;
8+ using Elastic . Documentation . LinkIndex ;
79using Elastic . Documentation . Links ;
810using Elastic . Markdown . IO ;
911using Elastic . Markdown . Links . CrossLinks ;
@@ -25,7 +27,9 @@ private sealed record RepositoryFilter
2527
2628 public async Task CheckAll ( IDiagnosticsCollector collector , Cancel ctx )
2729 {
28- var fetcher = new LinksIndexCrossLinkFetcher ( logger ) ;
30+ var s3Client = new AmazonS3Client ( ) ;
31+ var linkIndexProvider = new AwsS3LinkIndexProvider ( s3Client ) ;
32+ var fetcher = new LinksIndexCrossLinkFetcher ( linkIndexProvider , logger ) ;
2933 var resolver = new CrossLinkResolver ( fetcher ) ;
3034 var crossLinks = await resolver . FetchLinks ( ctx ) ;
3135
@@ -34,7 +38,9 @@ public async Task CheckAll(IDiagnosticsCollector collector, Cancel ctx)
3438
3539 public async Task CheckRepository ( IDiagnosticsCollector collector , string ? toRepository , string ? fromRepository , Cancel ctx )
3640 {
37- var fetcher = new LinksIndexCrossLinkFetcher ( logger ) ;
41+ var s3Client = new AmazonS3Client ( ) ;
42+ var linkIndexProvider = new AwsS3LinkIndexProvider ( s3Client ) ;
43+ var fetcher = new LinksIndexCrossLinkFetcher ( linkIndexProvider , logger ) ;
3844 var resolver = new CrossLinkResolver ( fetcher ) ;
3945 var crossLinks = await resolver . FetchLinks ( ctx ) ;
4046 var filter = new RepositoryFilter
@@ -48,7 +54,9 @@ public async Task CheckRepository(IDiagnosticsCollector collector, string? toRep
4854
4955 public async Task CheckWithLocalLinksJson ( IDiagnosticsCollector collector , string repository , string localLinksJson , Cancel ctx )
5056 {
51- var fetcher = new LinksIndexCrossLinkFetcher ( logger ) ;
57+ var s3Client = new AmazonS3Client ( ) ;
58+ var linkIndexProvider = new AwsS3LinkIndexProvider ( s3Client ) ;
59+ var fetcher = new LinksIndexCrossLinkFetcher ( linkIndexProvider , logger ) ;
5260 var resolver = new CrossLinkResolver ( fetcher ) ;
5361 // ReSharper disable once RedundantAssignment
5462 var crossLinks = await resolver . FetchLinks ( ctx ) ;
0 commit comments