Added version to db config (#2029)
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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: [],
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"version": 1,
|
||||
"databases": {
|
||||
"variantAnalysis": {
|
||||
"repositoryLists": [
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"version": 1,
|
||||
"databases": {
|
||||
"variantAnalysis": {
|
||||
"repositoryLists": [],
|
||||
|
||||
@@ -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: [
|
||||
|
||||
@@ -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],
|
||||
|
||||
Reference in New Issue
Block a user