- Updated the migration script for LNBits configuration to use an array for SQL statements, improving readability and maintainability. - Consolidated the insertion and deletion operations for user configuration related to LNBits and Lightning Network wallet options.
34 lines
No EOL
1.2 KiB
JavaScript
34 lines
No EOL
1.2 KiB
JavaScript
const db = require('./db')
|
|
|
|
exports.up = function (next) {
|
|
const sql = [
|
|
`INSERT INTO user_config (name, display_name, type, data_type, config_type, enabled, secret, options)
|
|
VALUES
|
|
('lnbitsEndpoint', 'LNBits Server URL', 'text', 'string', 'wallets', false, false, null),
|
|
('lnbitsAdminKey', 'LNBits Admin Key', 'text', 'string', 'wallets', false, true, null)
|
|
ON CONFLICT (name) DO NOTHING`,
|
|
|
|
`INSERT INTO user_config (name, display_name, type, data_type, config_type, enabled, secret, options)
|
|
VALUES
|
|
('LN_wallet', 'Lightning Network Wallet', 'text', 'string', 'wallets', true, false,
|
|
'[{"code": "lnbits", "display": "LNBits"}, {"code": "galoy", "display": "Galoy (Blink)"}, {"code": "bitcoind", "display": "Bitcoin Core"}]')
|
|
ON CONFLICT (name)
|
|
DO UPDATE SET options = EXCLUDED.options
|
|
WHERE user_config.options NOT LIKE '%lnbits%'`
|
|
]
|
|
|
|
db.multi(sql, next)
|
|
}
|
|
|
|
exports.down = function (next) {
|
|
const sql = [
|
|
`DELETE FROM user_config
|
|
WHERE name IN ('lnbitsEndpoint', 'lnbitsAdminKey')`,
|
|
|
|
`UPDATE user_config
|
|
SET options = REPLACE(options, ', {"code": "lnbits", "display": "LNBits"}', '')
|
|
WHERE name = 'LN_wallet'`
|
|
]
|
|
|
|
db.multi(sql, next)
|
|
} |