Added version to db config (#2029)
This commit is contained in:
@@ -4,6 +4,9 @@
|
|||||||
"$schema": {
|
"$schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"version": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
"databases": {
|
"databases": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@@ -119,6 +122,6 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": ["databases"],
|
"required": ["databases", "version"],
|
||||||
"additionalProperties": false
|
"additionalProperties": false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import {
|
|||||||
renameLocalList,
|
renameLocalList,
|
||||||
renameRemoteList,
|
renameRemoteList,
|
||||||
SelectedDbItem,
|
SelectedDbItem,
|
||||||
|
DB_CONFIG_VERSION,
|
||||||
} from "./db-config";
|
} from "./db-config";
|
||||||
import * as chokidar from "chokidar";
|
import * as chokidar from "chokidar";
|
||||||
import { DisposableObject, DisposeHandler } from "../../pure/disposable-object";
|
import { DisposableObject, DisposeHandler } from "../../pure/disposable-object";
|
||||||
@@ -459,6 +460,7 @@ export class DbConfigStore extends DisposableObject {
|
|||||||
|
|
||||||
private createEmptyConfig(): DbConfig {
|
private createEmptyConfig(): DbConfig {
|
||||||
return {
|
return {
|
||||||
|
version: DB_CONFIG_VERSION,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [],
|
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 {
|
export interface DbConfig {
|
||||||
|
version: number;
|
||||||
databases: DbConfigDatabases;
|
databases: DbConfigDatabases;
|
||||||
selected?: SelectedDbItem;
|
selected?: SelectedDbItem;
|
||||||
}
|
}
|
||||||
@@ -89,6 +93,7 @@ export interface LocalDatabase {
|
|||||||
|
|
||||||
export function cloneDbConfig(config: DbConfig): DbConfig {
|
export function cloneDbConfig(config: DbConfig): DbConfig {
|
||||||
return {
|
return {
|
||||||
|
version: config.version,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: config.databases.variantAnalysis.repositoryLists.map(
|
repositoryLists: config.databases.variantAnalysis.repositoryLists.map(
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import {
|
|||||||
LocalList,
|
LocalList,
|
||||||
RemoteRepositoryList,
|
RemoteRepositoryList,
|
||||||
SelectedDbItem,
|
SelectedDbItem,
|
||||||
|
DB_CONFIG_VERSION,
|
||||||
} from "../../src/databases/config/db-config";
|
} from "../../src/databases/config/db-config";
|
||||||
|
|
||||||
export function createDbConfig({
|
export function createDbConfig({
|
||||||
@@ -23,6 +24,7 @@ export function createDbConfig({
|
|||||||
selected?: SelectedDbItem;
|
selected?: SelectedDbItem;
|
||||||
} = {}): DbConfig {
|
} = {}): DbConfig {
|
||||||
return {
|
return {
|
||||||
|
version: DB_CONFIG_VERSION,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: remoteLists,
|
repositoryLists: remoteLists,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"version": 1,
|
||||||
"databases": {
|
"databases": {
|
||||||
"variantAnalysis": {
|
"variantAnalysis": {
|
||||||
"repositoryLists": [
|
"repositoryLists": [
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"version": 1,
|
||||||
"databases": {
|
"databases": {
|
||||||
"variantAnalysis": {
|
"variantAnalysis": {
|
||||||
"repositoryLists": [],
|
"repositoryLists": [],
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
import { join } from "path";
|
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 { DbConfigValidator } from "../../../../src/databases/config/db-config-validator";
|
||||||
import { DbConfigValidationErrorKind } from "../../../../src/databases/db-validation-errors";
|
import { DbConfigValidationErrorKind } from "../../../../src/databases/db-validation-errors";
|
||||||
import {
|
import {
|
||||||
@@ -15,6 +18,7 @@ describe("db config validation", () => {
|
|||||||
// We're intentionally bypassing the type check because we'd
|
// We're intentionally bypassing the type check because we'd
|
||||||
// like to make sure validation errors are highlighted.
|
// like to make sure validation errors are highlighted.
|
||||||
const dbConfig = {
|
const dbConfig = {
|
||||||
|
version: DB_CONFIG_VERSION,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [
|
repositoryLists: [
|
||||||
|
|||||||
@@ -413,6 +413,7 @@ describe("db manager", () => {
|
|||||||
const dbConfigFileContents = await readDbConfigDirectly();
|
const dbConfigFileContents = await readDbConfigDirectly();
|
||||||
|
|
||||||
expect(dbConfigFileContents).toEqual({
|
expect(dbConfigFileContents).toEqual({
|
||||||
|
version: dbConfig.version,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [],
|
repositoryLists: [],
|
||||||
@@ -434,6 +435,7 @@ describe("db manager", () => {
|
|||||||
const dbConfigFileContents = await readDbConfigDirectly();
|
const dbConfigFileContents = await readDbConfigDirectly();
|
||||||
|
|
||||||
expect(dbConfigFileContents).toEqual({
|
expect(dbConfigFileContents).toEqual({
|
||||||
|
version: dbConfig.version,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [remoteList],
|
repositoryLists: [remoteList],
|
||||||
@@ -459,6 +461,7 @@ describe("db manager", () => {
|
|||||||
const dbConfigFileContents = await readDbConfigDirectly();
|
const dbConfigFileContents = await readDbConfigDirectly();
|
||||||
|
|
||||||
expect(dbConfigFileContents).toEqual({
|
expect(dbConfigFileContents).toEqual({
|
||||||
|
version: dbConfig.version,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [remoteList],
|
repositoryLists: [remoteList],
|
||||||
@@ -484,6 +487,7 @@ describe("db manager", () => {
|
|||||||
const dbConfigFileContents = await readDbConfigDirectly();
|
const dbConfigFileContents = await readDbConfigDirectly();
|
||||||
|
|
||||||
expect(dbConfigFileContents).toEqual({
|
expect(dbConfigFileContents).toEqual({
|
||||||
|
version: dbConfig.version,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [remoteList],
|
repositoryLists: [remoteList],
|
||||||
@@ -513,6 +517,7 @@ describe("db manager", () => {
|
|||||||
const dbConfigFileContents = await readDbConfigDirectly();
|
const dbConfigFileContents = await readDbConfigDirectly();
|
||||||
|
|
||||||
expect(dbConfigFileContents).toEqual({
|
expect(dbConfigFileContents).toEqual({
|
||||||
|
version: dbConfig.version,
|
||||||
databases: {
|
databases: {
|
||||||
variantAnalysis: {
|
variantAnalysis: {
|
||||||
repositoryLists: [remoteList],
|
repositoryLists: [remoteList],
|
||||||
|
|||||||
Reference in New Issue
Block a user