feat: add search functionality to customer page

This commit is contained in:
Sérgio Salgado 2021-05-31 15:58:24 +01:00 committed by Josh Harvey
parent b99f98982b
commit 2b93f016ac
7 changed files with 151 additions and 24 deletions

View file

@ -450,7 +450,7 @@ function batch () {
*
* @returns {array} Array of customers with it's transactions aggregations
*/
function getCustomersList () {
function getCustomersList (phone = null, name = null, address = null, id = null) {
const sql = `select id, authorized_override, days_suspended, is_suspended, front_camera_path, front_camera_override,
phone, sms_override, id_card_data, id_card_data_override, id_card_data_expiration,
id_card_photo_path, id_card_photo_override, us_ssn, us_ssn_override, sanctions, sanctions_at,
@ -474,8 +474,12 @@ function getCustomersList () {
from cash_out_txs where confirmed_at is not null) t on c.id = t.customer_id
where c.id != $1
) as cl where rn = 1
and ($3 is null or phone = $3)
and ($4 is null or concat(id_card_data::json->>'firstName', ' ', id_card_data::json->>'lastName') = $4)
and ($5 is null or id_card_data::json->>'address' = $5)
and ($6 is null or id_card_data::json->>'documentNumber' = $6)
limit $2`
return db.any(sql, [ anonymous.uuid, NUM_RESULTS ])
return db.any(sql, [ anonymous.uuid, NUM_RESULTS, phone, name, address, id ])
.then(customers => Promise.all(_.map(customer => {
return populateOverrideUsernames(customer)
.then(camelize)