Initialize query storage dir in data extension module

This commit is contained in:
Koen Vlaswinkel
2023-04-05 10:55:07 +02:00
parent 7baf11f6c0
commit 115b807b23
2 changed files with 43 additions and 15 deletions

View File

@@ -5,15 +5,43 @@ import { CodeQLCliServer } from "../cli";
import { QueryRunner } from "../queryRunner";
import { DatabaseManager } from "../local-databases";
import { extLogger } from "../common";
import { ensureDir } from "fs-extra";
import { join } from "path";
export class DataExtensionsEditorModule {
public constructor(
private readonly queryStorageDir: string;
private constructor(
private readonly ctx: ExtensionContext,
private readonly databaseManager: DatabaseManager,
private readonly cliServer: CodeQLCliServer,
private readonly queryRunner: QueryRunner,
private readonly queryStorageDir: string,
) {}
baseQueryStorageDir: string,
) {
this.queryStorageDir = join(
baseQueryStorageDir,
"data-extensions-editor-results",
);
}
public static async initialize(
ctx: ExtensionContext,
databaseManager: DatabaseManager,
cliServer: CodeQLCliServer,
queryRunner: QueryRunner,
queryStorageDir: string,
): Promise<DataExtensionsEditorModule> {
const dataExtensionsEditorModule = new DataExtensionsEditorModule(
ctx,
databaseManager,
cliServer,
queryRunner,
queryStorageDir,
);
await dataExtensionsEditorModule.initialize();
return dataExtensionsEditorModule;
}
public getCommands(): DataExtensionsEditorCommands {
return {
@@ -35,4 +63,8 @@ export class DataExtensionsEditorModule {
},
};
}
private async initialize(): Promise<void> {
await ensureDir(this.queryStorageDir);
}
}

View File

@@ -861,17 +861,13 @@ async function activateWithInstalledDistribution(
);
ctx.subscriptions.push(localQueries);
const dataExtensionsEditorQueryStorageDir = join(
tmpDir.name,
"data-extensions-editor-results",
);
await ensureDir(dataExtensionsEditorQueryStorageDir);
const dataExtensionsEditorModule = new DataExtensionsEditorModule(
const dataExtensionsEditorModule =
await DataExtensionsEditorModule.initialize(
ctx,
dbm,
cliServer,
qs,
dataExtensionsEditorQueryStorageDir,
tmpDir.name,
);
void extLogger.log("Initializing QLTest interface.");