feat: Create migration from old config to new (#424)

* fix: adapt old settings loader to the new schema (filter schema_version)

feat: migrate commissions globals

feat: migrate locales

refactor: generalize the old fields search

chore: created functions signatures for all config migrations

feat: created wallet migration

feat: migrate operator info

feat: migrate coin atm radar

feat: migrate terms and conditions

feat: migrate commissions overrides

fix: removed the wallet_COIN_active field (don't exist anymore)

chore: moved the config-migration lib to the lib folder

feat: migrate cashout configurations

feat: migrate notifications globals

feat: export migration function

feat: migrate most of notifications scoped configs

fix: added the missing text property to the terms and conditions
migration

feat: migrate compliance triggers

feat: migrate receipt printing

feat: migrate accounts

chore: remove test code form module

refactor: change some functions naming

fix: set default trigger type to 'volume'

feat: added threshold days (default 1) to triggers

fix: removed strike from the accounts importing

refactor: cleaner code on fixed properties

feat: avoid repeated crypto/machine pairs on the commissions overrides
migrations

refactor: make renameAccountFields function internal to the account
migration function

fix: migrate all crypto scoped commission overrides

* fix: return plain objects from functions to make the jsons more readable

fix: fix bitgo fields casing

fix: improve commissions migration function readability

refactor: standard styling

* feat: add fallback values to the migration

* feat: created db migration for the new config

* feat: create migration to move machine names from file to db

fix: updates machine names before the config migration

fix: load machineLoader

fix: create a param to ignore the schema version when loading the latest
config using the old loader

* refactor: remove unnecessary arguments on createTrigger function

fix: check if there's an smsVerificationThreshold configured prior to
migrating triggers

* fix: migrate triggers with the correct thresholds and verify if they're
valid
This commit is contained in:
Liordino Neto 2020-09-25 07:07:47 -03:00 committed by GitHub
parent 3c6f547349
commit ccf7eacfad
8 changed files with 546 additions and 42 deletions

View file

@ -1,13 +1,14 @@
const _ = require('lodash/fp')
const db = require('../db')
const configValidate = require('../config-validate')
const config = require('./config')
const ph = require('../plugin-helper')
const schemas = ph.loadSchemas()
function fetchAccounts () {
return db.oneOrNone('select data from user_config where type=$1', ['accounts'])
return db.oneOrNone('select data from user_config where type=$1 and schema_version=$2', ['accounts', configValidate.SETTINGS_LOADER_SCHEMA_VERSION])
.then(row => {
// Hard code this for now
const accounts = [{
@ -91,7 +92,7 @@ function getAccount (accountCode) {
}
function save (accounts) {
return db.none('update user_config set data=$1 where type=$2', [{accounts: accounts}, 'accounts'])
return db.none('update user_config set data=$1 where type=$2 and schema_version=$3', [{accounts: accounts}, 'accounts', configValidate.SETTINGS_LOADER_SCHEMA_VERSION])
}
function updateAccounts (newAccount, accounts) {