@@ -146,6 +146,7 @@ export class VariantAnalysisManager
146146 new VariantAnalysisMonitor (
147147 app ,
148148 this . shouldCancelMonitorVariantAnalysis . bind ( this ) ,
149+ this . getVariantAnalysisStatus . bind ( this ) ,
149150 ) ,
150151 ) ;
151152 this . variantAnalysisMonitor . onVariantAnalysisChange (
@@ -605,6 +606,19 @@ export class VariantAnalysisManager
605606 return ! this . variantAnalyses . has ( variantAnalysisId ) ;
606607 }
607608
609+ private getVariantAnalysisStatus (
610+ variantAnalysisId : number ,
611+ ) : VariantAnalysisStatus {
612+ const variantAnalysis = this . variantAnalyses . get ( variantAnalysisId ) ;
613+ if ( ! variantAnalysis ) {
614+ throw new Error (
615+ `No variant analysis found with id: ${ variantAnalysisId } .` ,
616+ ) ;
617+ }
618+
619+ return variantAnalysis . status ;
620+ }
621+
608622 public async onVariantAnalysisUpdated (
609623 variantAnalysis : VariantAnalysis | undefined ,
610624 ) : Promise < void > {
@@ -620,14 +634,6 @@ export class VariantAnalysisManager
620634 return ;
621635 }
622636
623- // Maintain the canceling status if we are still canceling.
624- if (
625- originalVariantAnalysis . status === VariantAnalysisStatus . Canceling &&
626- variantAnalysis . status === VariantAnalysisStatus . InProgress
627- ) {
628- variantAnalysis . status = VariantAnalysisStatus . Canceling ;
629- }
630-
631637 await this . setVariantAnalysis ( variantAnalysis ) ;
632638 this . _onVariantAnalysisStatusUpdated . fire ( variantAnalysis ) ;
633639 }
@@ -851,30 +857,28 @@ export class VariantAnalysisManager
851857 throw new Error ( `No variant analysis with id: ${ variantAnalysisId } ` ) ;
852858 }
853859
854- await this . onVariantAnalysisUpdated ( {
855- ...variantAnalysis ,
856- status : VariantAnalysisStatus . Canceling ,
857- } ) ;
858-
859860 if ( ! variantAnalysis . actionsWorkflowRunId ) {
860861 throw new Error (
861862 `No workflow run id for variant analysis with id: ${ variantAnalysis . id } ` ,
862863 ) ;
863864 }
864865
866+ await this . onVariantAnalysisUpdated ( {
867+ ...variantAnalysis ,
868+ status : VariantAnalysisStatus . Canceling ,
869+ } ) ;
870+
865871 void showAndLogInformationMessage (
866872 this . app . logger ,
867873 "Cancelling variant analysis. This may take a while." ,
868874 ) ;
869875 try {
870876 await cancelVariantAnalysis ( this . app . credentials , variantAnalysis ) ;
871877 } catch ( e ) {
872- if ( variantAnalysis . status === VariantAnalysisStatus . Canceling ) {
873- await this . onVariantAnalysisUpdated ( {
874- ...variantAnalysis ,
875- status : VariantAnalysisStatus . InProgress ,
876- } ) ;
877- }
878+ await this . onVariantAnalysisUpdated ( {
879+ ...variantAnalysis ,
880+ status : VariantAnalysisStatus . InProgress ,
881+ } ) ;
878882 throw e ;
879883 }
880884 }
0 commit comments