Skip to content

Commit 52f7cac

Browse files
Move saveModeledMethods to a separate file
1 parent 2db42e3 commit 52f7cac

2 files changed

Lines changed: 41 additions & 23 deletions

File tree

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

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
ViewColumn,
66
window,
77
} from "vscode";
8-
import { join } from "path";
98
import { RequestError } from "@octokit/request-error";
109
import {
1110
AbstractWebview,
@@ -21,7 +20,7 @@ import {
2120
showAndLogExceptionWithTelemetry,
2221
showAndLogErrorMessage,
2322
} from "../common/logging";
24-
import { outputFile, readFile } from "fs-extra";
23+
import { readFile } from "fs-extra";
2524
import { load as loadYaml } from "js-yaml";
2625
import { DatabaseItem, DatabaseManager } from "../databases/local-databases";
2726
import { CodeQLCliServer } from "../codeql-cli/cli";
@@ -34,7 +33,7 @@ import { showResolvableLocation } from "../databases/local-databases/locations";
3433
import { decodeBqrsToExternalApiUsages } from "./bqrs";
3534
import { redactableError } from "../common/errors";
3635
import { readQueryResults, runQuery } from "./external-api-usage-query";
37-
import { createDataExtensionYamls, loadDataExtensionYaml } from "./yaml";
36+
import { loadDataExtensionYaml } from "./yaml";
3837
import { ExternalApiUsage } from "./external-api-usage";
3938
import { ModeledMethod } from "./modeled-method";
4039
import { ExtensionPack } from "./shared/extension-pack";
@@ -47,6 +46,7 @@ import { enableFrameworkMode, showLlmGeneration } from "../config";
4746
import { getAutoModelUsages } from "./auto-model-usages-query";
4847
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
4948
import { Mode } from "./shared/mode";
49+
import { saveModeledMethods } from "./modeled-method-fs";
5050

5151
export class DataExtensionsEditorView extends AbstractWebview<
5252
ToDataExtensionsEditorMessage,
@@ -111,9 +111,14 @@ export class DataExtensionsEditorView extends AbstractWebview<
111111

112112
break;
113113
case "saveModeledMethods":
114-
await this.saveModeledMethods(
114+
await saveModeledMethods(
115+
this.extensionPack,
116+
this.databaseItem.name,
117+
this.databaseItem.language,
115118
msg.externalApiUsages,
116119
msg.modeledMethods,
120+
this.mode,
121+
this.app.logger,
117122
);
118123
await Promise.all([this.setViewState(), this.loadExternalApiUsages()]);
119124

@@ -182,25 +187,6 @@ export class DataExtensionsEditorView extends AbstractWebview<
182187
}
183188
}
184189

185-
protected async saveModeledMethods(
186-
externalApiUsages: ExternalApiUsage[],
187-
modeledMethods: Record<string, ModeledMethod>,
188-
): Promise<void> {
189-
const yamls = createDataExtensionYamls(
190-
this.databaseItem.name,
191-
this.databaseItem.language,
192-
externalApiUsages,
193-
modeledMethods,
194-
this.mode,
195-
);
196-
197-
for (const [filename, yaml] of Object.entries(yamls)) {
198-
await outputFile(join(this.extensionPack.path, filename), yaml);
199-
}
200-
201-
void this.app.logger.log(`Saved data extension YAML`);
202-
}
203-
204190
protected async loadExistingModeledMethods(): Promise<void> {
205191
try {
206192
const extensions = await this.cliServer.resolveExtensions(
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { outputFile } from "fs-extra";
2+
import { ExternalApiUsage } from "./external-api-usage";
3+
import { ModeledMethod } from "./modeled-method";
4+
import { Mode } from "./shared/mode";
5+
import { createDataExtensionYamls } from "./yaml";
6+
import { join } from "path";
7+
import { ExtensionPack } from "./shared/extension-pack";
8+
import { Logger } from "../common/logging";
9+
10+
export async function saveModeledMethods(
11+
extensionPack: ExtensionPack,
12+
databaseName: string,
13+
language: string,
14+
externalApiUsages: ExternalApiUsage[],
15+
modeledMethods: Record<string, ModeledMethod>,
16+
mode: Mode,
17+
logger: Logger,
18+
): Promise<void> {
19+
const yamls = createDataExtensionYamls(
20+
databaseName,
21+
language,
22+
externalApiUsages,
23+
modeledMethods,
24+
mode,
25+
);
26+
27+
for (const [filename, yaml] of Object.entries(yamls)) {
28+
await outputFile(join(extensionPack.path, filename), yaml);
29+
}
30+
31+
void logger.log(`Saved data extension YAML`);
32+
}

0 commit comments

Comments
 (0)