Skip to content

Commit 216faee

Browse files
authored
Db module init tidy up (#1858)
1 parent 891ce74 commit 216faee

File tree

2 files changed

+26
-22
lines changed

2 files changed

+26
-22
lines changed

extensions/ql-vscode/src/databases/db-module.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,42 @@
11
import { window } from "vscode";
2-
import { App } from "../common/app";
2+
import { App, AppMode } from "../common/app";
33
import { extLogger } from "../common";
44
import { DisposableObject } from "../pure/disposable-object";
55
import { DbConfigStore } from "./config/db-config-store";
66
import { DbManager } from "./db-manager";
77
import { DbPanel } from "./ui/db-panel";
88
import { DbSelectionDecorationProvider } from "./ui/db-selection-decoration-provider";
9+
import { isCanary, isNewQueryRunExperienceEnabled } from "../config";
910

1011
export class DbModule extends DisposableObject {
1112
public readonly dbManager: DbManager;
1213
private readonly dbConfigStore: DbConfigStore;
1314

14-
constructor(app: App) {
15+
private constructor(app: App) {
1516
super();
1617

1718
this.dbConfigStore = new DbConfigStore(app);
1819
this.dbManager = new DbManager(app, this.dbConfigStore);
1920
}
2021

21-
public async initialize(): Promise<void> {
22+
public static async initialize(app: App): Promise<DbModule | undefined> {
23+
if (
24+
isCanary() &&
25+
isNewQueryRunExperienceEnabled() &&
26+
app.mode === AppMode.Development
27+
) {
28+
const dbModule = new DbModule(app);
29+
app.subscriptions.push(dbModule);
30+
31+
await dbModule.initialize();
32+
33+
return dbModule;
34+
}
35+
36+
return undefined;
37+
}
38+
39+
private async initialize(): Promise<void> {
2240
void extLogger.log("Initializing database module");
2341

2442
await this.dbConfigStore.initialize();
@@ -34,9 +52,3 @@ export class DbModule extends DisposableObject {
3452
window.registerFileDecorationProvider(dbSelectionDecorationProvider);
3553
}
3654
}
37-
38-
export async function initializeDbModule(app: App): Promise<DbModule> {
39-
const dbModule = new DbModule(app);
40-
await dbModule.initialize();
41-
return dbModule;
42-
}

extensions/ql-vscode/src/extension.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import {
3838
CliConfigListener,
3939
DistributionConfigListener,
4040
isCanary,
41-
isNewQueryRunExperienceEnabled,
4241
isVariantAnalysisLiveResultsEnabled,
4342
joinOrderWarningThreshold,
4443
MAX_QUERIES,
@@ -136,10 +135,9 @@ import { VariantAnalysisManager } from "./remote-queries/variant-analysis-manage
136135
import { createVariantAnalysisContentProvider } from "./remote-queries/variant-analysis-content-provider";
137136
import { VSCodeMockGitHubApiServer } from "./mocks/vscode-mock-gh-api-server";
138137
import { VariantAnalysisResultsManager } from "./remote-queries/variant-analysis-results-manager";
139-
import { initializeDbModule } from "./databases/db-module";
140138
import { ExtensionApp } from "./common/vscode/vscode-app";
141139
import { RepositoriesFilterSortStateWithIds } from "./pure/variant-analysis-filter-sort";
142-
import { AppMode } from "./common/app";
140+
import { DbModule } from "./databases/db-module";
143141

144142
/**
145143
* extension.ts
@@ -625,15 +623,9 @@ async function activateWithInstalledDistribution(
625623

626624
void extLogger.log("Initializing variant analysis manager.");
627625

628-
// We only want to initialize the new db panel when the newQueryRunExperience is enabled
629-
let dbModule;
630-
if (isCanary() && isNewQueryRunExperienceEnabled()) {
631-
const app = new ExtensionApp(ctx);
632-
if (app.mode === AppMode.Development) {
633-
dbModule = await initializeDbModule(app);
634-
ctx.subscriptions.push(dbModule);
635-
}
636-
}
626+
const app = new ExtensionApp(ctx);
627+
628+
const dbModule = await DbModule.initialize(app);
637629

638630
const variantAnalysisStorageDir = join(
639631
ctx.globalStorageUri.fsPath,
@@ -650,7 +642,7 @@ async function activateWithInstalledDistribution(
650642
cliServer,
651643
variantAnalysisStorageDir,
652644
variantAnalysisResultsManager,
653-
dbModule ? dbModule.dbManager : undefined, // the dbModule is only needed when the newQueryRunExperience is enabled
645+
dbModule?.dbManager, // the dbModule is only needed when the newQueryRunExperience is enabled
654646
);
655647
ctx.subscriptions.push(variantAnalysisManager);
656648
ctx.subscriptions.push(variantAnalysisResultsManager);

0 commit comments

Comments
 (0)