Rename methods in flow queries.

This commit is contained in:
Anders Starcke Henriksen
2023-08-22 14:28:58 +02:00
parent 5d1fa1d6b5
commit 75d275c93f
2 changed files with 13 additions and 10 deletions

View File

@@ -22,7 +22,7 @@ import {
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";
import { asError, assertNever, getErrorMessage } from "../common/helpers-pure"; import { asError, assertNever, getErrorMessage } from "../common/helpers-pure";
import { generateFlowModel } from "./flow-model-queries"; import { runFlowModelQueries } from "./flow-model-queries";
import { promptImportGithubDatabase } from "../databases/database-fetcher"; import { promptImportGithubDatabase } from "../databases/database-fetcher";
import { App } from "../common/app"; import { App } from "../common/app";
import { showResolvableLocation } from "../databases/local-databases/locations"; import { showResolvableLocation } from "../databases/local-databases/locations";
@@ -389,7 +389,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
}); });
try { try {
await generateFlowModel({ await runFlowModelQueries({
cliServer: this.cliServer, cliServer: this.cliServer,
queryRunner: this.queryRunner, queryRunner: this.queryRunner,
queryStorageDir: this.queryStorageDir, queryStorageDir: this.queryStorageDir,

View File

@@ -27,18 +27,21 @@ type FlowModelOptions = {
onResults: (results: ModeledMethod[]) => void | Promise<void>; onResults: (results: ModeledMethod[]) => void | Promise<void>;
}; };
export async function generateFlowModel({ export async function runFlowModelQueries({
onResults, onResults,
...options ...options
}: FlowModelOptions) { }: FlowModelOptions) {
const queries = await resolveQueries(options.cliServer, options.databaseItem); const queries = await resolveFlowQueries(
options.cliServer,
options.databaseItem,
);
const queriesByBasename: Record<string, string> = {}; const queriesByBasename: Record<string, string> = {};
for (const query of queries) { for (const query of queries) {
queriesByBasename[basename(query)] = query; queriesByBasename[basename(query)] = query;
} }
const summaryResults = await getModeledMethodsFromFlow( const summaryResults = await runSingleFlowQuery(
"summary", "summary",
queriesByBasename["CaptureSummaryModels.ql"], queriesByBasename["CaptureSummaryModels.ql"],
0, 0,
@@ -48,7 +51,7 @@ export async function generateFlowModel({
await onResults(summaryResults); await onResults(summaryResults);
} }
const sinkResults = await getModeledMethodsFromFlow( const sinkResults = await runSingleFlowQuery(
"sink", "sink",
queriesByBasename["CaptureSinkModels.ql"], queriesByBasename["CaptureSinkModels.ql"],
1, 1,
@@ -58,7 +61,7 @@ export async function generateFlowModel({
await onResults(sinkResults); await onResults(sinkResults);
} }
const sourceResults = await getModeledMethodsFromFlow( const sourceResults = await runSingleFlowQuery(
"source", "source",
queriesByBasename["CaptureSourceModels.ql"], queriesByBasename["CaptureSourceModels.ql"],
2, 2,
@@ -68,7 +71,7 @@ export async function generateFlowModel({
await onResults(sourceResults); await onResults(sourceResults);
} }
const neutralResults = await getModeledMethodsFromFlow( const neutralResults = await runSingleFlowQuery(
"neutral", "neutral",
queriesByBasename["CaptureNeutralModels.ql"], queriesByBasename["CaptureNeutralModels.ql"],
3, 3,
@@ -79,7 +82,7 @@ export async function generateFlowModel({
} }
} }
async function resolveQueries( async function resolveFlowQueries(
cliServer: CodeQLCliServer, cliServer: CodeQLCliServer,
databaseItem: DatabaseItem, databaseItem: DatabaseItem,
): Promise<string[]> { ): Promise<string[]> {
@@ -116,7 +119,7 @@ async function resolveQueries(
); );
} }
async function getModeledMethodsFromFlow( async function runSingleFlowQuery(
type: Exclude<ModeledMethodType, "none">, type: Exclude<ModeledMethodType, "none">,
queryPath: string | undefined, queryPath: string | undefined,
queryStep: number, queryStep: number,