SQL Вы указали:
SELECT * FROM customeractivity
WHERE docdate > CURRENT_DATE - INTERVAL '3 months'
AND customernbr = '713610'
ORDER BY docdate DESC;
Версия этого запроса Knex:
knex('customeractivity')
.where('docdate', '>', knex.raw(`CURRENT_DATE - '3 MONTH'::INTERVAL`))
.andWhere('customernbr', '713610');
Обратите внимание, что return await
является избыточным (и не будет выполнять что вы, вероятно, ожидаете). Все, что вам действительно нужно сделать, это вернуть цепочку Knex:
const getRecentTransaction = (customerId, db) =>
db('customeractivity')
.where('docdate', '>', knex.raw(`CURRENT_DATE - '3 MONTH'::INTERVAL`))
.andWhere('customernbr', customerId);
и ждать ее в коде вызова:
const result = await getRecentTransaction(5, db);