UNPKG

ghost

Version:

The professional publishing platform

42 lines (34 loc) 1.27 kB
const logging = require('../../../../../shared/logging'); const {createIrreversibleMigration} = require('../../utils'); module.exports = createIrreversibleMigration(async (knex) => { logging.info('Updating unsplash setting value'); const unsplashSetting = await knex('settings') .select('value') .where({ key: 'unsplash' }) .first(); let isActive; if (unsplashSetting && (unsplashSetting.value === 'true' || unsplashSetting.value === 'false')) { logging.warn(`Skipping update of unsplash value. Current value is already boolean: ${unsplashSetting.value}`); return; } try { const value = JSON.parse(unsplashSetting.value); isActive = typeof value.isActive === 'boolean' ? value.isActive : true; } catch (err) { logging.warn(`Wasn't able to parse 'unsplash' setting: ${unsplashSetting.value}, falling back to: 'true'`); isActive = true; } logging.info(`Updating 'unsplash' setting to: ${isActive}`); await knex('settings') .update({ group: 'unsplash', type: 'boolean', flags: null, value: isActive.toString() }) .where({ key: 'unsplash' }); });