Move saveModeledMethods to a separate file
This commit is contained in:
@@ -5,7 +5,6 @@ import {
|
|||||||
ViewColumn,
|
ViewColumn,
|
||||||
window,
|
window,
|
||||||
} from "vscode";
|
} from "vscode";
|
||||||
import { join } from "path";
|
|
||||||
import { RequestError } from "@octokit/request-error";
|
import { RequestError } from "@octokit/request-error";
|
||||||
import {
|
import {
|
||||||
AbstractWebview,
|
AbstractWebview,
|
||||||
@@ -21,7 +20,7 @@ import {
|
|||||||
showAndLogExceptionWithTelemetry,
|
showAndLogExceptionWithTelemetry,
|
||||||
showAndLogErrorMessage,
|
showAndLogErrorMessage,
|
||||||
} from "../common/logging";
|
} from "../common/logging";
|
||||||
import { outputFile, readFile } from "fs-extra";
|
import { readFile } from "fs-extra";
|
||||||
import { load as loadYaml } from "js-yaml";
|
import { load as loadYaml } from "js-yaml";
|
||||||
import { DatabaseItem, DatabaseManager } from "../databases/local-databases";
|
import { DatabaseItem, DatabaseManager } from "../databases/local-databases";
|
||||||
import { CodeQLCliServer } from "../codeql-cli/cli";
|
import { CodeQLCliServer } from "../codeql-cli/cli";
|
||||||
@@ -34,7 +33,7 @@ import { showResolvableLocation } from "../databases/local-databases/locations";
|
|||||||
import { decodeBqrsToExternalApiUsages } from "./bqrs";
|
import { decodeBqrsToExternalApiUsages } from "./bqrs";
|
||||||
import { redactableError } from "../common/errors";
|
import { redactableError } from "../common/errors";
|
||||||
import { readQueryResults, runQuery } from "./external-api-usage-query";
|
import { readQueryResults, runQuery } from "./external-api-usage-query";
|
||||||
import { createDataExtensionYamls, loadDataExtensionYaml } from "./yaml";
|
import { loadDataExtensionYaml } from "./yaml";
|
||||||
import { ExternalApiUsage } from "./external-api-usage";
|
import { ExternalApiUsage } from "./external-api-usage";
|
||||||
import { ModeledMethod } from "./modeled-method";
|
import { ModeledMethod } from "./modeled-method";
|
||||||
import { ExtensionPack } from "./shared/extension-pack";
|
import { ExtensionPack } from "./shared/extension-pack";
|
||||||
@@ -47,6 +46,7 @@ import { enableFrameworkMode, showLlmGeneration } from "../config";
|
|||||||
import { getAutoModelUsages } from "./auto-model-usages-query";
|
import { getAutoModelUsages } from "./auto-model-usages-query";
|
||||||
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
|
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
|
||||||
import { Mode } from "./shared/mode";
|
import { Mode } from "./shared/mode";
|
||||||
|
import { saveModeledMethods } from "./modeled-method-fs";
|
||||||
|
|
||||||
export class DataExtensionsEditorView extends AbstractWebview<
|
export class DataExtensionsEditorView extends AbstractWebview<
|
||||||
ToDataExtensionsEditorMessage,
|
ToDataExtensionsEditorMessage,
|
||||||
@@ -111,9 +111,14 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case "saveModeledMethods":
|
case "saveModeledMethods":
|
||||||
await this.saveModeledMethods(
|
await saveModeledMethods(
|
||||||
|
this.extensionPack,
|
||||||
|
this.databaseItem.name,
|
||||||
|
this.databaseItem.language,
|
||||||
msg.externalApiUsages,
|
msg.externalApiUsages,
|
||||||
msg.modeledMethods,
|
msg.modeledMethods,
|
||||||
|
this.mode,
|
||||||
|
this.app.logger,
|
||||||
);
|
);
|
||||||
await Promise.all([this.setViewState(), this.loadExternalApiUsages()]);
|
await Promise.all([this.setViewState(), this.loadExternalApiUsages()]);
|
||||||
|
|
||||||
@@ -182,25 +187,6 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async saveModeledMethods(
|
|
||||||
externalApiUsages: ExternalApiUsage[],
|
|
||||||
modeledMethods: Record<string, ModeledMethod>,
|
|
||||||
): Promise<void> {
|
|
||||||
const yamls = createDataExtensionYamls(
|
|
||||||
this.databaseItem.name,
|
|
||||||
this.databaseItem.language,
|
|
||||||
externalApiUsages,
|
|
||||||
modeledMethods,
|
|
||||||
this.mode,
|
|
||||||
);
|
|
||||||
|
|
||||||
for (const [filename, yaml] of Object.entries(yamls)) {
|
|
||||||
await outputFile(join(this.extensionPack.path, filename), yaml);
|
|
||||||
}
|
|
||||||
|
|
||||||
void this.app.logger.log(`Saved data extension YAML`);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected async loadExistingModeledMethods(): Promise<void> {
|
protected async loadExistingModeledMethods(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const extensions = await this.cliServer.resolveExtensions(
|
const extensions = await this.cliServer.resolveExtensions(
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import { outputFile } from "fs-extra";
|
||||||
|
import { ExternalApiUsage } from "./external-api-usage";
|
||||||
|
import { ModeledMethod } from "./modeled-method";
|
||||||
|
import { Mode } from "./shared/mode";
|
||||||
|
import { createDataExtensionYamls } from "./yaml";
|
||||||
|
import { join } from "path";
|
||||||
|
import { ExtensionPack } from "./shared/extension-pack";
|
||||||
|
import { Logger } from "../common/logging";
|
||||||
|
|
||||||
|
export async function saveModeledMethods(
|
||||||
|
extensionPack: ExtensionPack,
|
||||||
|
databaseName: string,
|
||||||
|
language: string,
|
||||||
|
externalApiUsages: ExternalApiUsage[],
|
||||||
|
modeledMethods: Record<string, ModeledMethod>,
|
||||||
|
mode: Mode,
|
||||||
|
logger: Logger,
|
||||||
|
): Promise<void> {
|
||||||
|
const yamls = createDataExtensionYamls(
|
||||||
|
databaseName,
|
||||||
|
language,
|
||||||
|
externalApiUsages,
|
||||||
|
modeledMethods,
|
||||||
|
mode,
|
||||||
|
);
|
||||||
|
|
||||||
|
for (const [filename, yaml] of Object.entries(yamls)) {
|
||||||
|
await outputFile(join(extensionPack.path, filename), yaml);
|
||||||
|
}
|
||||||
|
|
||||||
|
void logger.log(`Saved data extension YAML`);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user