From 37b6b8fd48a3be4f4b65a687b35ce366ff41ad5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 26 Jun 2020 18:08:34 -0400 Subject: [PATCH] fix: upgrade script to unescape navigation titles --- .../1.14.0/unescape_navigation_titles.js | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/upgrades/1.14.0/unescape_navigation_titles.js diff --git a/src/upgrades/1.14.0/unescape_navigation_titles.js b/src/upgrades/1.14.0/unescape_navigation_titles.js new file mode 100644 index 0000000000..38873c177c --- /dev/null +++ b/src/upgrades/1.14.0/unescape_navigation_titles.js @@ -0,0 +1,29 @@ +'use strict'; + +var async = require('async'); +var db = require('../../database'); + +module.exports = { + name: 'Unescape navigation titles', + timestamp: Date.UTC(2020, 5, 26), + method: async function () { + const data = await db.getSortedSetRangeWithScores('navigation:enabled', 0, -1); + const translator = require('../../translator'); + var order = []; + var items = []; + data.forEach(function (item) { + var navItem = JSON.parse(item.value); + var keys = Object.keys(navItem); + if (navItem.hasOwnProperty('title')) { + navItem.title = translator.unescape(navItem.title); + } + if (navItem.hasOwnProperty('text')) { + navItem.text = translator.unescape(navItem.text); + } + order.push(item.score); + items.push(JSON.stringify(navItem)); + }); + await db.delete('navigation:enabled'); + await db.sortedSetAdd('navigation:enabled', order, items); + }, +};