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 { QueryRunner } from "../queryRunner";
import { DatabaseManager } from "../local-databases"; import { DatabaseManager } from "../local-databases";
import { extLogger } from "../common"; import { extLogger } from "../common";
import { ensureDir } from "fs-extra";
import { join } from "path";
export class DataExtensionsEditorModule { export class DataExtensionsEditorModule {
public constructor( private readonly queryStorageDir: string;
private constructor(
private readonly ctx: ExtensionContext, private readonly ctx: ExtensionContext,
private readonly databaseManager: DatabaseManager, private readonly databaseManager: DatabaseManager,
private readonly cliServer: CodeQLCliServer, private readonly cliServer: CodeQLCliServer,
private readonly queryRunner: QueryRunner, 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 { public getCommands(): DataExtensionsEditorCommands {
return { return {
@@ -35,4 +63,8 @@ export class DataExtensionsEditorModule {
}, },
}; };
} }
private async initialize(): Promise<void> {
await ensureDir(this.queryStorageDir);
}
} }

View File

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