Skip to content

Commit 115b807

Browse files
committed
Initialize query storage dir in data extension module
1 parent 7baf11f commit 115b807

File tree

2 files changed

+43
-15
lines changed

2 files changed

+43
-15
lines changed

extensions/ql-vscode/src/data-extensions-editor/data-extensions-editor-module.ts

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,43 @@ import { CodeQLCliServer } from "../cli";
55
import { QueryRunner } from "../queryRunner";
66
import { DatabaseManager } from "../local-databases";
77
import { extLogger } from "../common";
8+
import { ensureDir } from "fs-extra";
9+
import { join } from "path";
810

911
export class DataExtensionsEditorModule {
10-
public constructor(
12+
private readonly queryStorageDir: string;
13+
14+
private constructor(
1115
private readonly ctx: ExtensionContext,
1216
private readonly databaseManager: DatabaseManager,
1317
private readonly cliServer: CodeQLCliServer,
1418
private readonly queryRunner: QueryRunner,
15-
private readonly queryStorageDir: string,
16-
) {}
19+
baseQueryStorageDir: string,
20+
) {
21+
this.queryStorageDir = join(
22+
baseQueryStorageDir,
23+
"data-extensions-editor-results",
24+
);
25+
}
26+
27+
public static async initialize(
28+
ctx: ExtensionContext,
29+
databaseManager: DatabaseManager,
30+
cliServer: CodeQLCliServer,
31+
queryRunner: QueryRunner,
32+
queryStorageDir: string,
33+
): Promise<DataExtensionsEditorModule> {
34+
const dataExtensionsEditorModule = new DataExtensionsEditorModule(
35+
ctx,
36+
databaseManager,
37+
cliServer,
38+
queryRunner,
39+
queryStorageDir,
40+
);
41+
42+
await dataExtensionsEditorModule.initialize();
43+
return dataExtensionsEditorModule;
44+
}
1745

1846
public getCommands(): DataExtensionsEditorCommands {
1947
return {
@@ -35,4 +63,8 @@ export class DataExtensionsEditorModule {
3563
},
3664
};
3765
}
66+
67+
private async initialize(): Promise<void> {
68+
await ensureDir(this.queryStorageDir);
69+
}
3870
}

extensions/ql-vscode/src/extension.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -861,18 +861,14 @@ async function activateWithInstalledDistribution(
861861
);
862862
ctx.subscriptions.push(localQueries);
863863

864-
const dataExtensionsEditorQueryStorageDir = join(
865-
tmpDir.name,
866-
"data-extensions-editor-results",
867-
);
868-
await ensureDir(dataExtensionsEditorQueryStorageDir);
869-
const dataExtensionsEditorModule = new DataExtensionsEditorModule(
870-
ctx,
871-
dbm,
872-
cliServer,
873-
qs,
874-
dataExtensionsEditorQueryStorageDir,
875-
);
864+
const dataExtensionsEditorModule =
865+
await DataExtensionsEditorModule.initialize(
866+
ctx,
867+
dbm,
868+
cliServer,
869+
qs,
870+
tmpDir.name,
871+
);
876872

877873
void extLogger.log("Initializing QLTest interface.");
878874
const testExplorerExtension = extensions.getExtension<TestHub>(

0 commit comments

Comments
 (0)