@@ -5,14 +5,11 @@ import { CancellationToken, commands, EventEmitter, ExtensionContext, window } f
55import { DisposableObject } from '../pure/disposable-object' ;
66import { Credentials } from '../authentication' ;
77import { VariantAnalysisMonitor } from './variant-analysis-monitor' ;
8- import {
9- VariantAnalysis as VariantAnalysisApiResponse ,
10- VariantAnalysisRepoTask ,
11- VariantAnalysisScannedRepository as ApiVariantAnalysisScannedRepository
12- } from './gh-api/variant-analysis' ;
138import {
149 isVariantAnalysisComplete ,
15- VariantAnalysis , VariantAnalysisQueryLanguage ,
10+ VariantAnalysis ,
11+ VariantAnalysisQueryLanguage ,
12+ VariantAnalysisRepositoryTask ,
1613 VariantAnalysisScannedRepository ,
1714 VariantAnalysisScannedRepositoryDownloadStatus ,
1815 VariantAnalysisScannedRepositoryResult ,
@@ -23,7 +20,7 @@ import { VariantAnalysisView } from './variant-analysis-view';
2320import { VariantAnalysisViewManager } from './variant-analysis-view-manager' ;
2421import { VariantAnalysisResultsManager } from './variant-analysis-results-manager' ;
2522import { getControllerRepo } from './run-remote-query' ;
26- import { processUpdatedVariantAnalysis } from './variant-analysis-processor' ;
23+ import { processUpdatedVariantAnalysis , processVariantAnalysisRepositoryTask } from './variant-analysis-processor' ;
2724import PQueue from 'p-queue' ;
2825import { createTimestampFile , showAndLogErrorMessage } from '../helpers' ;
2926import * as fs from 'fs-extra' ;
@@ -206,11 +203,11 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
206203 }
207204
208205 public async autoDownloadVariantAnalysisResult (
209- scannedRepo : ApiVariantAnalysisScannedRepository ,
210- variantAnalysisSummary : VariantAnalysisApiResponse ,
206+ scannedRepo : VariantAnalysisScannedRepository ,
207+ variantAnalysis : VariantAnalysis ,
211208 cancellationToken : CancellationToken
212209 ) : Promise < void > {
213- if ( this . repoStates . get ( variantAnalysisSummary . id ) ?. [ scannedRepo . repository . id ] ?. downloadStatus === VariantAnalysisScannedRepositoryDownloadStatus . Succeeded ) {
210+ if ( this . repoStates . get ( variantAnalysis . id ) ?. [ scannedRepo . repository . id ] ?. downloadStatus === VariantAnalysisScannedRepositoryDownloadStatus . Succeeded ) {
214211 return ;
215212 }
216213
@@ -219,56 +216,58 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
219216 downloadStatus : VariantAnalysisScannedRepositoryDownloadStatus . Pending ,
220217 } ;
221218
222- await this . onRepoStateUpdated ( variantAnalysisSummary . id , repoState ) ;
219+ await this . onRepoStateUpdated ( variantAnalysis . id , repoState ) ;
223220
224221 const credentials = await Credentials . initialize ( this . ctx ) ;
225222 if ( ! credentials ) { throw Error ( 'Error authenticating with GitHub' ) ; }
226223
227224 if ( cancellationToken && cancellationToken . isCancellationRequested ) {
228225 repoState . downloadStatus = VariantAnalysisScannedRepositoryDownloadStatus . Failed ;
229- await this . onRepoStateUpdated ( variantAnalysisSummary . id , repoState ) ;
226+ await this . onRepoStateUpdated ( variantAnalysis . id , repoState ) ;
230227 return ;
231228 }
232229
233- let repoTask : VariantAnalysisRepoTask ;
230+ let repoTask : VariantAnalysisRepositoryTask ;
234231 try {
235- repoTask = await ghApiClient . getVariantAnalysisRepo (
232+ const repoTaskResponse = await ghApiClient . getVariantAnalysisRepo (
236233 credentials ,
237- variantAnalysisSummary . controller_repo . id ,
238- variantAnalysisSummary . id ,
234+ variantAnalysis . controllerRepo . id ,
235+ variantAnalysis . id ,
239236 scannedRepo . repository . id
240237 ) ;
238+
239+ repoTask = processVariantAnalysisRepositoryTask ( repoTaskResponse ) ;
241240 } catch ( e ) {
242241 repoState . downloadStatus = VariantAnalysisScannedRepositoryDownloadStatus . Failed ;
243- await this . onRepoStateUpdated ( variantAnalysisSummary . id , repoState ) ;
244- throw new Error ( `Could not download the results for variant analysis with id: ${ variantAnalysisSummary . id } . Error: ${ getErrorMessage ( e ) } ` ) ;
242+ await this . onRepoStateUpdated ( variantAnalysis . id , repoState ) ;
243+ throw new Error ( `Could not download the results for variant analysis with id: ${ variantAnalysis . id } . Error: ${ getErrorMessage ( e ) } ` ) ;
245244 }
246245
247- if ( repoTask . artifact_url ) {
246+ if ( repoTask . artifactUrl ) {
248247 repoState . downloadStatus = VariantAnalysisScannedRepositoryDownloadStatus . InProgress ;
249- await this . onRepoStateUpdated ( variantAnalysisSummary . id , repoState ) ;
248+ await this . onRepoStateUpdated ( variantAnalysis . id , repoState ) ;
250249
251250 try {
252- await this . variantAnalysisResultsManager . download ( credentials , variantAnalysisSummary . id , repoTask , this . getVariantAnalysisStorageLocation ( variantAnalysisSummary . id ) ) ;
251+ await this . variantAnalysisResultsManager . download ( credentials , variantAnalysis . id , repoTask , this . getVariantAnalysisStorageLocation ( variantAnalysis . id ) ) ;
253252 } catch ( e ) {
254253 repoState . downloadStatus = VariantAnalysisScannedRepositoryDownloadStatus . Failed ;
255- await this . onRepoStateUpdated ( variantAnalysisSummary . id , repoState ) ;
256- throw new Error ( `Could not download the results for variant analysis with id: ${ variantAnalysisSummary . id } . Error: ${ getErrorMessage ( e ) } ` ) ;
254+ await this . onRepoStateUpdated ( variantAnalysis . id , repoState ) ;
255+ throw new Error ( `Could not download the results for variant analysis with id: ${ variantAnalysis . id } . Error: ${ getErrorMessage ( e ) } ` ) ;
257256 }
258257 }
259258
260259 repoState . downloadStatus = VariantAnalysisScannedRepositoryDownloadStatus . Succeeded ;
261- await this . onRepoStateUpdated ( variantAnalysisSummary . id , repoState ) ;
260+ await this . onRepoStateUpdated ( variantAnalysis . id , repoState ) ;
262261
263- await fs . outputJson ( this . getRepoStatesStoragePath ( variantAnalysisSummary . id ) , this . repoStates . get ( variantAnalysisSummary . id ) ) ;
262+ await fs . outputJson ( this . getRepoStatesStoragePath ( variantAnalysis . id ) , this . repoStates . get ( variantAnalysis . id ) ) ;
264263 }
265264
266265 public async enqueueDownload (
267- scannedRepo : ApiVariantAnalysisScannedRepository ,
268- variantAnalysisSummary : VariantAnalysisApiResponse ,
266+ scannedRepo : VariantAnalysisScannedRepository ,
267+ variantAnalysis : VariantAnalysis ,
269268 token : CancellationToken
270269 ) : Promise < void > {
271- await this . queue . add ( ( ) => this . autoDownloadVariantAnalysisResult ( scannedRepo , variantAnalysisSummary , token ) ) ;
270+ await this . queue . add ( ( ) => this . autoDownloadVariantAnalysisResult ( scannedRepo , variantAnalysis , token ) ) ;
272271 }
273272
274273 public downloadsQueueSize ( ) : number {
0 commit comments