Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions extensions/ql-vscode/src/databases/config/db-config-store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { ValueResult } from "../../common/value-result";
import {
LocalDatabaseDbItem,
LocalListDbItem,
RemoteUserDefinedListDbItem,
VariantAnalysisUserDefinedListDbItem,
DbItem,
DbItemKind,
} from "../db-item";
Expand Down Expand Up @@ -111,7 +111,7 @@ export class DbConfigStore extends DisposableObject {
case DbItemKind.LocalList:
config = removeLocalList(this.config, dbItem.listName);
break;
case DbItemKind.RemoteUserDefinedList:
case DbItemKind.VariantAnalysisUserDefinedList:
config = removeRemoteList(this.config, dbItem.listName);
break;
case DbItemKind.LocalDatabase:
Expand Down Expand Up @@ -159,7 +159,7 @@ export class DbConfigStore extends DisposableObject {

const config = cloneDbConfig(this.config);
if (parentList) {
const parent = config.databases.remote.repositoryLists.find(
const parent = config.databases.variantAnalysis.repositoryLists.find(
(list) => list.name === parentList,
);
if (!parent) {
Expand All @@ -168,7 +168,7 @@ export class DbConfigStore extends DisposableObject {
parent.repositories.push(repoNwo);
}
} else {
config.databases.remote.repositories.push(repoNwo);
config.databases.variantAnalysis.repositories.push(repoNwo);
}
await this.writeConfig(config);
}
Expand All @@ -187,7 +187,7 @@ export class DbConfigStore extends DisposableObject {
}

const config = cloneDbConfig(this.config);
config.databases.remote.owners.push(owner);
config.databases.variantAnalysis.owners.push(owner);

await this.writeConfig(config);
}
Expand Down Expand Up @@ -216,7 +216,7 @@ export class DbConfigStore extends DisposableObject {
this.validateRemoteListName(listName);

const config = cloneDbConfig(this.config);
config.databases.remote.repositoryLists.push({
config.databases.variantAnalysis.repositoryLists.push({
name: listName,
repositories: [],
});
Expand Down Expand Up @@ -244,7 +244,7 @@ export class DbConfigStore extends DisposableObject {
}

public async renameRemoteList(
currentDbItem: RemoteUserDefinedListDbItem,
currentDbItem: VariantAnalysisUserDefinedListDbItem,
newName: string,
) {
if (!this.config) {
Expand Down Expand Up @@ -288,7 +288,7 @@ export class DbConfigStore extends DisposableObject {
throw Error("Cannot check remote list existence if config is not loaded");
}

return this.config.databases.remote.repositoryLists.some(
return this.config.databases.variantAnalysis.repositoryLists.some(
(l) => l.name === listName,
);
}
Expand Down Expand Up @@ -326,12 +326,12 @@ export class DbConfigStore extends DisposableObject {
}

if (listName) {
return this.config.databases.remote.repositoryLists.some(
return this.config.databases.variantAnalysis.repositoryLists.some(
(l) => l.name === listName && l.repositories.includes(dbName),
);
}

return this.config.databases.remote.repositories.includes(dbName);
return this.config.databases.variantAnalysis.repositories.includes(dbName);
}

public doesRemoteOwnerExist(owner: string): boolean {
Expand All @@ -341,7 +341,7 @@ export class DbConfigStore extends DisposableObject {
);
}

return this.config.databases.remote.owners.includes(owner);
return this.config.databases.variantAnalysis.owners.includes(owner);
}

private async writeConfig(config: DbConfig): Promise<void> {
Expand Down Expand Up @@ -451,7 +451,7 @@ export class DbConfigStore extends DisposableObject {
private createEmptyConfig(): DbConfig {
return {
databases: {
remote: {
variantAnalysis: {
repositoryLists: [],
owners: [],
repositories: [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export class DbConfigValidator {
}

const duplicateRemoteDbLists = findDuplicateStrings(
dbConfig.databases.remote.repositoryLists.map((n) => n.name),
dbConfig.databases.variantAnalysis.repositoryLists.map((n) => n.name),
);
if (duplicateRemoteDbLists.length > 0) {
errors.push(buildError(duplicateRemoteDbLists));
Expand All @@ -83,7 +83,7 @@ export class DbConfigValidator {
}

const duplicateRemoteDbs = findDuplicateStrings(
dbConfig.databases.remote.repositories,
dbConfig.databases.variantAnalysis.repositories,
);
if (duplicateRemoteDbs.length > 0) {
errors.push(buildError(duplicateRemoteDbs));
Expand Down Expand Up @@ -111,7 +111,7 @@ export class DbConfigValidator {
}
}

for (const list of dbConfig.databases.remote.repositoryLists) {
for (const list of dbConfig.databases.variantAnalysis.repositoryLists) {
const dups = findDuplicateStrings(list.repositories);
if (dups.length > 0) {
errors.push(buildError(list.name, dups));
Expand All @@ -124,7 +124,9 @@ export class DbConfigValidator {
private validateOwners(dbConfig: DbConfig): DbConfigValidationError[] {
const errors: DbConfigValidationError[] = [];

const dups = findDuplicateStrings(dbConfig.databases.remote.owners);
const dups = findDuplicateStrings(
dbConfig.databases.variantAnalysis.owners,
);
if (dups.length > 0) {
errors.push({
kind: DbConfigValidationErrorKind.DuplicateNames,
Expand Down
78 changes: 41 additions & 37 deletions extensions/ql-vscode/src/databases/config/db-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,25 @@ export interface DbConfig {
}

export interface DbConfigDatabases {
remote: RemoteDbConfig;
variantAnalysis: RemoteDbConfig;
local: LocalDbConfig;
}

export type SelectedDbItem =
| SelectedLocalUserDefinedList
| SelectedLocalDatabase
| SelectedRemoteSystemDefinedList
| SelectedRemoteUserDefinedList
| SelectedVariantAnalysisUserDefinedList
| SelectedRemoteOwner
| SelectedRemoteRepository;

export enum SelectedDbItemKind {
LocalUserDefinedList = "localUserDefinedList",
LocalDatabase = "localDatabase",
RemoteSystemDefinedList = "remoteSystemDefinedList",
RemoteUserDefinedList = "remoteUserDefinedList",
RemoteOwner = "remoteOwner",
RemoteRepository = "remoteRepository",
VariantAnalysisSystemDefinedList = "variantAnalysisSystemDefinedList",
VariantAnalysisUserDefinedList = "variantAnalysisUserDefinedList",
VariantAnalysisOwner = "variantAnalysisOwner",
VariantAnalysisRepository = "variantAnalysisRepository",
}

export interface SelectedLocalUserDefinedList {
Expand All @@ -39,22 +39,22 @@ export interface SelectedLocalDatabase {
}

export interface SelectedRemoteSystemDefinedList {
kind: SelectedDbItemKind.RemoteSystemDefinedList;
kind: SelectedDbItemKind.VariantAnalysisSystemDefinedList;
listName: string;
}

export interface SelectedRemoteUserDefinedList {
kind: SelectedDbItemKind.RemoteUserDefinedList;
export interface SelectedVariantAnalysisUserDefinedList {
kind: SelectedDbItemKind.VariantAnalysisUserDefinedList;
listName: string;
}

export interface SelectedRemoteOwner {
kind: SelectedDbItemKind.RemoteOwner;
kind: SelectedDbItemKind.VariantAnalysisOwner;
ownerName: string;
}

export interface SelectedRemoteRepository {
kind: SelectedDbItemKind.RemoteRepository;
kind: SelectedDbItemKind.VariantAnalysisRepository;
repositoryName: string;
listName?: string;
}
Expand Down Expand Up @@ -90,15 +90,15 @@ export interface LocalDatabase {
export function cloneDbConfig(config: DbConfig): DbConfig {
return {
databases: {
remote: {
repositoryLists: config.databases.remote.repositoryLists.map(
variantAnalysis: {
repositoryLists: config.databases.variantAnalysis.repositoryLists.map(
(list) => ({
name: list.name,
repositories: [...list.repositories],
}),
),
owners: [...config.databases.remote.owners],
repositories: [...config.databases.remote.repositories],
owners: [...config.databases.variantAnalysis.owners],
repositories: [...config.databases.variantAnalysis.repositories],
},
local: {
lists: config.databases.local.lists.map((list) => ({
Expand Down Expand Up @@ -147,8 +147,9 @@ export function renameRemoteList(
list.name = newListName;

if (
config.selected?.kind === SelectedDbItemKind.RemoteUserDefinedList ||
config.selected?.kind === SelectedDbItemKind.RemoteRepository
config.selected?.kind ===
SelectedDbItemKind.VariantAnalysisUserDefinedList ||
config.selected?.kind === SelectedDbItemKind.VariantAnalysisRepository
) {
if (config.selected.listName === currentListName) {
config.selected.listName = newListName;
Expand Down Expand Up @@ -225,17 +226,19 @@ export function removeRemoteList(
): DbConfig {
const config = cloneDbConfig(originalConfig);

config.databases.remote.repositoryLists =
config.databases.remote.repositoryLists.filter(
config.databases.variantAnalysis.repositoryLists =
config.databases.variantAnalysis.repositoryLists.filter(
(list) => list.name !== listName,
);

if (config.selected?.kind === SelectedDbItemKind.RemoteUserDefinedList) {
if (
config.selected?.kind === SelectedDbItemKind.VariantAnalysisUserDefinedList
) {
config.selected = undefined;
}

if (
config.selected?.kind === SelectedDbItemKind.RemoteRepository &&
config.selected?.kind === SelectedDbItemKind.VariantAnalysisRepository &&
config.selected?.listName === listName
) {
config.selected = undefined;
Expand Down Expand Up @@ -286,12 +289,14 @@ export function removeRemoteRepo(
(r) => r !== repoFullName,
);
} else {
config.databases.remote.repositories =
config.databases.remote.repositories.filter((r) => r !== repoFullName);
config.databases.variantAnalysis.repositories =
config.databases.variantAnalysis.repositories.filter(
(r) => r !== repoFullName,
);
}

if (
config.selected?.kind === SelectedDbItemKind.RemoteRepository &&
config.selected?.kind === SelectedDbItemKind.VariantAnalysisRepository &&
config.selected?.repositoryName === repoFullName &&
config.selected?.listName === parentListName
) {
Expand All @@ -307,12 +312,11 @@ export function removeRemoteOwner(
): DbConfig {
const config = cloneDbConfig(originalConfig);

config.databases.remote.owners = config.databases.remote.owners.filter(
(o) => o !== ownerName,
);
config.databases.variantAnalysis.owners =
config.databases.variantAnalysis.owners.filter((o) => o !== ownerName);

if (
config.selected?.kind === SelectedDbItemKind.RemoteOwner &&
config.selected?.kind === SelectedDbItemKind.VariantAnalysisOwner &&
config.selected?.ownerName === ownerName
) {
config.selected = undefined;
Expand All @@ -334,24 +338,24 @@ function cloneDbConfigSelectedItem(selected: SelectedDbItem): SelectedDbItem {
databaseName: selected.databaseName,
listName: selected.listName,
};
case SelectedDbItemKind.RemoteSystemDefinedList:
case SelectedDbItemKind.VariantAnalysisSystemDefinedList:
return {
kind: SelectedDbItemKind.RemoteSystemDefinedList,
kind: SelectedDbItemKind.VariantAnalysisSystemDefinedList,
listName: selected.listName,
};
case SelectedDbItemKind.RemoteUserDefinedList:
case SelectedDbItemKind.VariantAnalysisUserDefinedList:
return {
kind: SelectedDbItemKind.RemoteUserDefinedList,
kind: SelectedDbItemKind.VariantAnalysisUserDefinedList,
listName: selected.listName,
};
case SelectedDbItemKind.RemoteOwner:
case SelectedDbItemKind.VariantAnalysisOwner:
return {
kind: SelectedDbItemKind.RemoteOwner,
kind: SelectedDbItemKind.VariantAnalysisOwner,
ownerName: selected.ownerName,
};
case SelectedDbItemKind.RemoteRepository:
case SelectedDbItemKind.VariantAnalysisRepository:
return {
kind: SelectedDbItemKind.RemoteRepository,
kind: SelectedDbItemKind.VariantAnalysisRepository,
repositoryName: selected.repositoryName,
listName: selected.listName,
};
Expand All @@ -372,7 +376,7 @@ function getRemoteList(
config: DbConfig,
listName: string,
): RemoteRepositoryList {
const list = config.databases.remote.repositoryLists.find(
const list = config.databases.variantAnalysis.repositoryLists.find(
(l) => l.name === listName,
);

Expand Down
8 changes: 4 additions & 4 deletions extensions/ql-vscode/src/databases/db-item-expansion.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export type ExpandedDbItem =
| RootLocalExpandedDbItem
| LocalUserDefinedListExpandedDbItem
| RootRemoteExpandedDbItem
| RemoteUserDefinedListExpandedDbItem;
| VariantAnalysisUserDefinedListExpandedDbItem;

export enum ExpandedDbItemKind {
RootLocal = "rootLocal",
Expand All @@ -26,7 +26,7 @@ export interface RootRemoteExpandedDbItem {
kind: ExpandedDbItemKind.RootRemote;
}

export interface RemoteUserDefinedListExpandedDbItem {
export interface VariantAnalysisUserDefinedListExpandedDbItem {
kind: ExpandedDbItemKind.RemoteUserDefinedList;
listName: string;
}
Expand Down Expand Up @@ -89,7 +89,7 @@ function mapDbItemToExpandedDbItem(dbItem: DbItem): ExpandedDbItem {
};
case DbItemKind.RootRemote:
return { kind: ExpandedDbItemKind.RootRemote };
case DbItemKind.RemoteUserDefinedList:
case DbItemKind.VariantAnalysisUserDefinedList:
return {
kind: ExpandedDbItemKind.RemoteUserDefinedList,
listName: dbItem.listName,
Expand All @@ -113,7 +113,7 @@ function isDbItemEqualToExpandedDbItem(
);
case DbItemKind.RootRemote:
return expandedDbItem.kind === ExpandedDbItemKind.RootRemote;
case DbItemKind.RemoteUserDefinedList:
case DbItemKind.VariantAnalysisUserDefinedList:
return (
expandedDbItem.kind === ExpandedDbItemKind.RemoteUserDefinedList &&
expandedDbItem.listName === dbItem.listName
Expand Down
2 changes: 1 addition & 1 deletion extensions/ql-vscode/src/databases/db-item-naming.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export function getDbItemName(dbItem: DbItem): string | undefined {
case DbItemKind.RootRemote:
return undefined;
case DbItemKind.LocalList:
case DbItemKind.RemoteUserDefinedList:
case DbItemKind.VariantAnalysisUserDefinedList:
case DbItemKind.RemoteSystemDefinedList:
return dbItem.listName;
case DbItemKind.RemoteOwner:
Expand Down
Loading