Merge pull request #3081 from github/koesie10/github-databases-directory
Move GitHub databases files to separate directory
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import { RequestError } from "@octokit/request-error";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods";
|
||||
import { showNeverAskAgainDialog } from "../common/vscode/dialog";
|
||||
import { GitHubDatabaseConfig } from "../config";
|
||||
import { Credentials } from "../common/authentication";
|
||||
import { AppOctokit } from "../common/octokit";
|
||||
import { showNeverAskAgainDialog } from "../../common/vscode/dialog";
|
||||
import { GitHubDatabaseConfig } from "../../config";
|
||||
import { Credentials } from "../../common/authentication";
|
||||
import { AppOctokit } from "../../common/octokit";
|
||||
|
||||
export type CodeqlDatabase =
|
||||
RestEndpointMethodTypes["codeScanning"]["listCodeqlDatabases"]["response"]["data"][number];
|
||||
@@ -1,14 +1,14 @@
|
||||
import { window } from "vscode";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import { showNeverAskAgainDialog } from "../common/vscode/dialog";
|
||||
import { getLanguageDisplayName } from "../common/query-language";
|
||||
import { downloadGitHubDatabaseFromUrl } from "./database-fetcher";
|
||||
import { withProgress } from "../common/vscode/progress";
|
||||
import { DatabaseManager } from "./local-databases";
|
||||
import { CodeQLCliServer } from "../codeql-cli/cli";
|
||||
import { AppCommandManager } from "../common/commands";
|
||||
import { GitHubDatabaseConfig } from "../config";
|
||||
import type { CodeqlDatabase } from "./github-database-api";
|
||||
import { showNeverAskAgainDialog } from "../../common/vscode/dialog";
|
||||
import { getLanguageDisplayName } from "../../common/query-language";
|
||||
import { downloadGitHubDatabaseFromUrl } from "../database-fetcher";
|
||||
import { withProgress } from "../../common/vscode/progress";
|
||||
import { DatabaseManager } from "../local-databases";
|
||||
import { CodeQLCliServer } from "../../codeql-cli/cli";
|
||||
import { AppCommandManager } from "../../common/commands";
|
||||
import { GitHubDatabaseConfig } from "../../config";
|
||||
import type { CodeqlDatabase } from "./api";
|
||||
|
||||
/**
|
||||
* Ask whether the user wants to download a database from GitHub.
|
||||
@@ -1,30 +1,33 @@
|
||||
import { window } from "vscode";
|
||||
import { DisposableObject } from "../common/disposable-object";
|
||||
import { App } from "../common/app";
|
||||
import { findGitHubRepositoryForWorkspace } from "./github-repository-finder";
|
||||
import { redactableError } from "../common/errors";
|
||||
import { asError, assertNever, getErrorMessage } from "../common/helpers-pure";
|
||||
import { DisposableObject } from "../../common/disposable-object";
|
||||
import { App } from "../../common/app";
|
||||
import { findGitHubRepositoryForWorkspace } from "../github-repository-finder";
|
||||
import { redactableError } from "../../common/errors";
|
||||
import {
|
||||
asError,
|
||||
assertNever,
|
||||
getErrorMessage,
|
||||
} from "../../common/helpers-pure";
|
||||
import {
|
||||
askForGitHubDatabaseDownload,
|
||||
downloadDatabaseFromGitHub,
|
||||
} from "./github-database-download";
|
||||
import { GitHubDatabaseConfig, GitHubDatabaseConfigListener } from "../config";
|
||||
import { DatabaseManager } from "./local-databases";
|
||||
import { CodeQLCliServer } from "../codeql-cli/cli";
|
||||
} from "./download";
|
||||
import {
|
||||
CodeqlDatabase,
|
||||
listDatabases,
|
||||
ListDatabasesResult,
|
||||
} from "./github-database-api";
|
||||
GitHubDatabaseConfig,
|
||||
GitHubDatabaseConfigListener,
|
||||
} from "../../config";
|
||||
import { DatabaseManager } from "../local-databases";
|
||||
import { CodeQLCliServer } from "../../codeql-cli/cli";
|
||||
import { CodeqlDatabase, listDatabases, ListDatabasesResult } from "./api";
|
||||
import {
|
||||
askForGitHubDatabaseUpdate,
|
||||
DatabaseUpdate,
|
||||
downloadDatabaseUpdateFromGitHub,
|
||||
isNewerDatabaseAvailable,
|
||||
} from "./github-database-updates";
|
||||
} from "./updates";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
|
||||
export class GithubDatabaseModule extends DisposableObject {
|
||||
export class GitHubDatabasesModule extends DisposableObject {
|
||||
private readonly config: GitHubDatabaseConfig;
|
||||
|
||||
private constructor(
|
||||
@@ -43,17 +46,17 @@ export class GithubDatabaseModule extends DisposableObject {
|
||||
databaseManager: DatabaseManager,
|
||||
databaseStoragePath: string,
|
||||
cliServer: CodeQLCliServer,
|
||||
): Promise<GithubDatabaseModule> {
|
||||
const githubDatabaseModule = new GithubDatabaseModule(
|
||||
): Promise<GitHubDatabasesModule> {
|
||||
const githubDatabasesModule = new GitHubDatabasesModule(
|
||||
app,
|
||||
databaseManager,
|
||||
databaseStoragePath,
|
||||
cliServer,
|
||||
);
|
||||
app.subscriptions.push(githubDatabaseModule);
|
||||
app.subscriptions.push(githubDatabasesModule);
|
||||
|
||||
await githubDatabaseModule.initialize();
|
||||
return githubDatabaseModule;
|
||||
await githubDatabasesModule.initialize();
|
||||
return githubDatabasesModule;
|
||||
}
|
||||
|
||||
private async initialize(): Promise<void> {
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./github-databases-module";
|
||||
@@ -1,15 +1,15 @@
|
||||
import { CodeqlDatabase } from "./github-database-api";
|
||||
import { DatabaseItem, DatabaseManager } from "./local-databases";
|
||||
import { CodeqlDatabase } from "./api";
|
||||
import { DatabaseItem, DatabaseManager } from "../local-databases";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import { CodeQLCliServer } from "../codeql-cli/cli";
|
||||
import { AppCommandManager } from "../common/commands";
|
||||
import { getLanguageDisplayName } from "../common/query-language";
|
||||
import { showNeverAskAgainDialog } from "../common/vscode/dialog";
|
||||
import { downloadGitHubDatabaseFromUrl } from "./database-fetcher";
|
||||
import { withProgress } from "../common/vscode/progress";
|
||||
import { CodeQLCliServer } from "../../codeql-cli/cli";
|
||||
import { AppCommandManager } from "../../common/commands";
|
||||
import { getLanguageDisplayName } from "../../common/query-language";
|
||||
import { showNeverAskAgainDialog } from "../../common/vscode/dialog";
|
||||
import { downloadGitHubDatabaseFromUrl } from "../database-fetcher";
|
||||
import { withProgress } from "../../common/vscode/progress";
|
||||
import { window } from "vscode";
|
||||
import { GitHubDatabaseConfig } from "../config";
|
||||
import { joinLanguages, promptForDatabases } from "./github-database-download";
|
||||
import { GitHubDatabaseConfig } from "../../config";
|
||||
import { joinLanguages, promptForDatabases } from "./download";
|
||||
|
||||
export type DatabaseUpdate = {
|
||||
database: CodeqlDatabase;
|
||||
@@ -137,7 +137,7 @@ import { QueriesModule } from "./queries-panel/queries-module";
|
||||
import { OpenReferencedFileCodeLensProvider } from "./local-queries/open-referenced-file-code-lens-provider";
|
||||
import { LanguageContextStore } from "./language-context-store";
|
||||
import { LanguageSelectionPanel } from "./language-selection-panel/language-selection-panel";
|
||||
import { GithubDatabaseModule } from "./databases/github-database-module";
|
||||
import { GitHubDatabasesModule } from "./databases/github-databases";
|
||||
|
||||
/**
|
||||
* extension.ts
|
||||
@@ -871,7 +871,7 @@ async function activateWithInstalledDistribution(
|
||||
),
|
||||
);
|
||||
|
||||
await GithubDatabaseModule.initialize(
|
||||
await GitHubDatabasesModule.initialize(
|
||||
app,
|
||||
dbm,
|
||||
getContextStoragePath(ctx),
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import {
|
||||
mockedObject,
|
||||
mockedOctokitFunction,
|
||||
} from "../../utils/mocking.helpers";
|
||||
import { GitHubDatabaseConfig } from "../../../../src/config";
|
||||
import * as dialog from "../../../../src/common/vscode/dialog";
|
||||
import { listDatabases } from "../../../../src/databases/github-database-api";
|
||||
import { Credentials } from "../../../../src/common/authentication";
|
||||
} from "../../../utils/mocking.helpers";
|
||||
import { GitHubDatabaseConfig } from "../../../../../src/config";
|
||||
import * as dialog from "../../../../../src/common/vscode/dialog";
|
||||
import { listDatabases } from "../../../../../src/databases/github-databases/api";
|
||||
import { Credentials } from "../../../../../src/common/authentication";
|
||||
import * as Octokit from "@octokit/rest";
|
||||
import { AppOctokit } from "../../../../src/common/octokit";
|
||||
import { AppOctokit } from "../../../../../src/common/octokit";
|
||||
import { RequestError } from "@octokit/request-error";
|
||||
|
||||
// Mock the AppOctokit constructor to ensure we aren't making any network requests
|
||||
jest.mock("../../../../src/common/octokit", () => ({
|
||||
jest.mock("../../../../../src/common/octokit", () => ({
|
||||
AppOctokit: jest.fn(),
|
||||
}));
|
||||
const appMockListCodeqlDatabases = mockedOctokitFunction<
|
||||
@@ -1,18 +1,21 @@
|
||||
import { faker } from "@faker-js/faker";
|
||||
import { Octokit } from "@octokit/rest";
|
||||
import { QuickPickItem, window } from "vscode";
|
||||
import { mockedObject, mockedQuickPickItem } from "../../utils/mocking.helpers";
|
||||
import {
|
||||
mockedObject,
|
||||
mockedQuickPickItem,
|
||||
} from "../../../utils/mocking.helpers";
|
||||
import {
|
||||
askForGitHubDatabaseDownload,
|
||||
downloadDatabaseFromGitHub,
|
||||
} from "../../../../src/databases/github-database-download";
|
||||
import { DatabaseManager } from "../../../../src/databases/local-databases";
|
||||
import { GitHubDatabaseConfig } from "../../../../src/config";
|
||||
import { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
|
||||
import { createMockCommandManager } from "../../../__mocks__/commandsMock";
|
||||
import * as databaseFetcher from "../../../../src/databases/database-fetcher";
|
||||
import * as dialog from "../../../../src/common/vscode/dialog";
|
||||
import { CodeqlDatabase } from "../../../../src/databases/github-database-api";
|
||||
} from "../../../../../src/databases/github-databases/download";
|
||||
import { DatabaseManager } from "../../../../../src/databases/local-databases";
|
||||
import { GitHubDatabaseConfig } from "../../../../../src/config";
|
||||
import { CodeQLCliServer } from "../../../../../src/codeql-cli/cli";
|
||||
import { createMockCommandManager } from "../../../../__mocks__/commandsMock";
|
||||
import * as databaseFetcher from "../../../../../src/databases/database-fetcher";
|
||||
import * as dialog from "../../../../../src/common/vscode/dialog";
|
||||
import { CodeqlDatabase } from "../../../../../src/databases/github-databases/api";
|
||||
|
||||
describe("askForGitHubDatabaseDownload", () => {
|
||||
const setDownload = jest.fn();
|
||||
@@ -5,20 +5,20 @@ import {
|
||||
mockDatabaseItem,
|
||||
mockedObject,
|
||||
mockedQuickPickItem,
|
||||
} from "../../utils/mocking.helpers";
|
||||
import { CodeqlDatabase } from "../../../../src/databases/github-database-api";
|
||||
import { DatabaseManager } from "../../../../src/databases/local-databases";
|
||||
import { GitHubDatabaseConfig } from "../../../../src/config";
|
||||
import { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
|
||||
import { createMockCommandManager } from "../../../__mocks__/commandsMock";
|
||||
import * as databaseFetcher from "../../../../src/databases/database-fetcher";
|
||||
import * as dialog from "../../../../src/common/vscode/dialog";
|
||||
} from "../../../utils/mocking.helpers";
|
||||
import { CodeqlDatabase } from "../../../../../src/databases/github-databases/api";
|
||||
import { DatabaseManager } from "../../../../../src/databases/local-databases";
|
||||
import { GitHubDatabaseConfig } from "../../../../../src/config";
|
||||
import { CodeQLCliServer } from "../../../../../src/codeql-cli/cli";
|
||||
import { createMockCommandManager } from "../../../../__mocks__/commandsMock";
|
||||
import * as databaseFetcher from "../../../../../src/databases/database-fetcher";
|
||||
import * as dialog from "../../../../../src/common/vscode/dialog";
|
||||
import {
|
||||
DatabaseUpdate,
|
||||
askForGitHubDatabaseUpdate,
|
||||
downloadDatabaseUpdateFromGitHub,
|
||||
isNewerDatabaseAvailable,
|
||||
} from "../../../../src/databases/github-database-updates";
|
||||
} from "../../../../../src/databases/github-databases/updates";
|
||||
|
||||
describe("isNewerDatabaseAvailable", () => {
|
||||
const owner = "github";
|
||||
Reference in New Issue
Block a user