From 1b992d8201b89cb9317ffb80d8e4497275290225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 11 Dec 2019 10:25:16 -0500 Subject: [PATCH] fix: #8058, fix incorrect digest setting display in ACP --- src/user/digest.js | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/user/digest.js b/src/user/digest.js index 6ada20c9c1..b0051a9977 100644 --- a/src/user/digest.js +++ b/src/user/digest.js @@ -48,28 +48,24 @@ Digest.getUsersInterval = async (uids) => { single = true; } - let settings = await Promise.all([ + const settings = await Promise.all([ db.isSortedSetMembers('digest:day:uids', uids), db.isSortedSetMembers('digest:week:uids', uids), db.isSortedSetMembers('digest:month:uids', uids), ]); - settings = settings.reduce((memo, cur, idx) => { - switch (idx) { - case 0: - memo = cur.map(bool => (bool === true ? 'day' : bool)); - break; - case 1: - memo = cur.map(bool => (bool === true ? 'week' : bool)); - break; - case 2: - memo = cur.map(bool => (bool === true ? 'month' : bool)); - break; - } - return memo; + const interval = uids.map((uid, index) => { + if (settings[0][index]) { + return 'day'; + } else if (settings[1][index]) { + return 'week'; + } else if (settings[2][index]) { + return 'month'; + } + return false; }); - return single ? settings[0] : settings; + return single ? interval[0] : interval; }; Digest.getSubscribers = async function (interval) {