Added version to db config (#2029)

This commit is contained in:
Charis Kyriakou
2023-02-02 11:50:16 +00:00
committed by GitHub
parent 9f240c8500
commit 302091f2c5
8 changed files with 26 additions and 3 deletions

View File

@@ -4,6 +4,9 @@
"$schema": {
"type": "string"
},
"version": {
"type": "integer"
},
"databases": {
"type": "object",
"properties": {
@@ -119,6 +122,6 @@
]
}
},
"required": ["databases"],
"required": ["databases", "version"],
"additionalProperties": false
}

View File

@@ -14,6 +14,7 @@ import {
renameLocalList,
renameRemoteList,
SelectedDbItem,
DB_CONFIG_VERSION,
} from "./db-config";
import * as chokidar from "chokidar";
import { DisposableObject, DisposeHandler } from "../../pure/disposable-object";
@@ -459,6 +460,7 @@ export class DbConfigStore extends DisposableObject {
private createEmptyConfig(): DbConfig {
return {
version: DB_CONFIG_VERSION,
databases: {
variantAnalysis: {
repositoryLists: [],

View File

@@ -1,6 +1,10 @@
// Contains models for the data we want to store in the database config
// Contains models and consts for the data we want to store in the database config.
// Changes to these models should be done carefully and account for backwards compatibility of data.
export const DB_CONFIG_VERSION = 1;
export interface DbConfig {
version: number;
databases: DbConfigDatabases;
selected?: SelectedDbItem;
}
@@ -89,6 +93,7 @@ export interface LocalDatabase {
export function cloneDbConfig(config: DbConfig): DbConfig {
return {
version: config.version,
databases: {
variantAnalysis: {
repositoryLists: config.databases.variantAnalysis.repositoryLists.map(

View File

@@ -5,6 +5,7 @@ import {
LocalList,
RemoteRepositoryList,
SelectedDbItem,
DB_CONFIG_VERSION,
} from "../../src/databases/config/db-config";
export function createDbConfig({
@@ -23,6 +24,7 @@ export function createDbConfig({
selected?: SelectedDbItem;
} = {}): DbConfig {
return {
version: DB_CONFIG_VERSION,
databases: {
variantAnalysis: {
repositoryLists: remoteLists,

View File

@@ -1,4 +1,5 @@
{
"version": 1,
"databases": {
"variantAnalysis": {
"repositoryLists": [

View File

@@ -1,4 +1,5 @@
{
"version": 1,
"databases": {
"variantAnalysis": {
"repositoryLists": [],

View File

@@ -1,5 +1,8 @@
import { join } from "path";
import { DbConfig } from "../../../../src/databases/config/db-config";
import {
DbConfig,
DB_CONFIG_VERSION,
} from "../../../../src/databases/config/db-config";
import { DbConfigValidator } from "../../../../src/databases/config/db-config-validator";
import { DbConfigValidationErrorKind } from "../../../../src/databases/db-validation-errors";
import {
@@ -15,6 +18,7 @@ describe("db config validation", () => {
// We're intentionally bypassing the type check because we'd
// like to make sure validation errors are highlighted.
const dbConfig = {
version: DB_CONFIG_VERSION,
databases: {
variantAnalysis: {
repositoryLists: [

View File

@@ -413,6 +413,7 @@ describe("db manager", () => {
const dbConfigFileContents = await readDbConfigDirectly();
expect(dbConfigFileContents).toEqual({
version: dbConfig.version,
databases: {
variantAnalysis: {
repositoryLists: [],
@@ -434,6 +435,7 @@ describe("db manager", () => {
const dbConfigFileContents = await readDbConfigDirectly();
expect(dbConfigFileContents).toEqual({
version: dbConfig.version,
databases: {
variantAnalysis: {
repositoryLists: [remoteList],
@@ -459,6 +461,7 @@ describe("db manager", () => {
const dbConfigFileContents = await readDbConfigDirectly();
expect(dbConfigFileContents).toEqual({
version: dbConfig.version,
databases: {
variantAnalysis: {
repositoryLists: [remoteList],
@@ -484,6 +487,7 @@ describe("db manager", () => {
const dbConfigFileContents = await readDbConfigDirectly();
expect(dbConfigFileContents).toEqual({
version: dbConfig.version,
databases: {
variantAnalysis: {
repositoryLists: [remoteList],
@@ -513,6 +517,7 @@ describe("db manager", () => {
const dbConfigFileContents = await readDbConfigDirectly();
expect(dbConfigFileContents).toEqual({
version: dbConfig.version,
databases: {
variantAnalysis: {
repositoryLists: [remoteList],