From 374a4272a5050865d0cfa043a7b168f5bae2806e Mon Sep 17 00:00:00 2001 From: siiky Date: Wed, 14 Feb 2024 14:39:07 +0000 Subject: [PATCH] refactor: extract the `WITHIN_PAST_WEEK` condition --- lib/notifier/queries.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/notifier/queries.js b/lib/notifier/queries.js index 42337877..b1e92ab0 100644 --- a/lib/notifier/queries.js +++ b/lib/notifier/queries.js @@ -53,10 +53,12 @@ const getValidNotifications = (type, detail) => { return db.any(sql, [type, detail]).catch(logger.error) } +const WITHIN_PAST_WEEK = `created > (CURRENT_TIMESTAMP - INTERVAL '7' DAY)` + const getNotifications = () => { const sql = ` SELECT * FROM notifications - WHERE valid AND created > (CURRENT_TIMESTAMP - INTERVAL '7' DAY) + WHERE valid AND ${WITHIN_PAST_WEEK} ORDER BY created DESC ` return db.any(sql).catch(logger.error) @@ -75,14 +77,18 @@ const hasUnreadNotifications = () => { const sql = ` SELECT EXISTS (SELECT * FROM notifications - WHERE valid AND NOT read AND created > (CURRENT_TIMESTAMP - INTERVAL '7' DAY)) + WHERE valid AND NOT read AND ${WITHIN_PAST_WEEK}) ` return db.oneOrNone(sql).then(res => res.exists).catch(logger.error) } const getAlerts = () => { const types = ['fiatBalance', 'cryptoBalance', 'error'] - const sql = `SELECT * FROM notifications WHERE valid = 't' AND created > (CURRENT_TIMESTAMP - INTERVAL '7' DAY) AND type IN ($1:list) ORDER BY created DESC` + const sql = ` + SELECT * FROM notifications + WHERE valid AND ${WITHIN_PAST_WEEK} AND type IN ($1:list) + ORDER BY created DESC + ` return db.any(sql, [types]).catch(logger.error) }