Skip to content

Commit 0bdee6e

Browse files
committed
Switch caching/loading of results to use the full name
In most cases, we will not have access to the full repo task object since this needs to be retrieved from the API. Since we are only using the full name from the repo task object, we can just use the full name instead.
1 parent 88440ba commit 0bdee6e

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

extensions/ql-vscode/src/remote-queries/variant-analysis-results-manager.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { EventEmitter } from 'vscode';
1717

1818
type CacheKey = `${number}/${string}`;
1919

20-
const createCacheKey = (variantAnalysisId: number, repoTask: VariantAnalysisRepoTask): CacheKey => `${variantAnalysisId}/${repoTask.repository.full_name}`;
20+
const createCacheKey = (variantAnalysisId: number, repositoryFullName: string): CacheKey => `${variantAnalysisId}/${repositoryFullName}`;
2121

2222
export type ResultDownloadedEvent = {
2323
variantAnalysisId: number;
@@ -69,28 +69,28 @@ export class VariantAnalysisResultsManager extends DisposableObject {
6969

7070
public async loadResults(
7171
variantAnalysisId: number,
72-
repoTask: VariantAnalysisRepoTask
72+
repositoryFullName: string
7373
): Promise<VariantAnalysisScannedRepositoryResult> {
74-
const result = this.cachedResults.get(createCacheKey(variantAnalysisId, repoTask));
74+
const result = this.cachedResults.get(createCacheKey(variantAnalysisId, repositoryFullName));
7575

76-
return result ?? await this.loadResultsIntoMemory(variantAnalysisId, repoTask);
76+
return result ?? await this.loadResultsIntoMemory(variantAnalysisId, repositoryFullName);
7777
}
7878

7979
private async loadResultsIntoMemory(
8080
variantAnalysisId: number,
81-
repoTask: VariantAnalysisRepoTask,
81+
repositoryFullName: string,
8282
): Promise<VariantAnalysisScannedRepositoryResult> {
83-
const result = await this.loadResultsFromStorage(variantAnalysisId, repoTask);
84-
this.cachedResults.set(createCacheKey(variantAnalysisId, repoTask), result);
83+
const result = await this.loadResultsFromStorage(variantAnalysisId, repositoryFullName);
84+
this.cachedResults.set(createCacheKey(variantAnalysisId, repositoryFullName), result);
8585
this._onResultLoaded.fire(result);
8686
return result;
8787
}
8888

8989
private async loadResultsFromStorage(
9090
variantAnalysisId: number,
91-
repoTask: VariantAnalysisRepoTask,
91+
repositoryFullName: string,
9292
): Promise<VariantAnalysisScannedRepositoryResult> {
93-
if (!(await this.isVariantAnalysisRepoDownloaded(variantAnalysisId, repoTask))) {
93+
if (!(await this.isVariantAnalysisRepoDownloaded(variantAnalysisId, repositoryFullName))) {
9494
throw new Error('Variant analysis results not downloaded');
9595
}
9696

@@ -100,7 +100,7 @@ export class VariantAnalysisResultsManager extends DisposableObject {
100100

101101
const fileLinkPrefix = this.createGitHubDotcomFileLinkPrefix(repoTask.repository.full_name, repoTask.database_commit_sha);
102102

103-
const storageDirectory = this.getRepoStorageDirectory(variantAnalysisId, repoTask.repository.full_name);
103+
const storageDirectory = this.getRepoStorageDirectory(variantAnalysisId, repositoryFullName);
104104

105105
const sarifPath = path.join(storageDirectory, 'results.sarif');
106106
const bqrsPath = path.join(storageDirectory, 'results.bqrs');
@@ -129,9 +129,9 @@ export class VariantAnalysisResultsManager extends DisposableObject {
129129

130130
private async isVariantAnalysisRepoDownloaded(
131131
variantAnalysisId: number,
132-
repoTask: VariantAnalysisRepoTask,
132+
repositoryFullName: string,
133133
): Promise<boolean> {
134-
return await fs.pathExists(this.getRepoStorageDirectory(variantAnalysisId, repoTask.repository.full_name));
134+
return await fs.pathExists(this.getRepoStorageDirectory(variantAnalysisId, repositoryFullName));
135135
}
136136

137137
private async readBqrsResults(filePath: string, fileLinkPrefix: string, sourceLocationPrefix: string): Promise<AnalysisRawResults> {

0 commit comments

Comments
 (0)