change backend to fix added_by data
This commit is contained in:
parent
2838cb5806
commit
8d5b2d3ea3
@ -10,18 +10,24 @@ exports.getUnboughtItems = async () => {
|
|||||||
gl.bought,
|
gl.bought,
|
||||||
ENCODE(gl.item_image, 'base64') as item_image,
|
ENCODE(gl.item_image, 'base64') as item_image,
|
||||||
gl.image_mime_type,
|
gl.image_mime_type,
|
||||||
ARRAY_AGG(DISTINCT COALESCE(gh_user.name, creator.name)) FILTER (WHERE COALESCE(gh_user.name, creator.name) IS NOT NULL) as added_by_users,
|
(
|
||||||
|
SELECT ARRAY_AGG(u.name ORDER BY gh.added_on DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT gh.added_by, gh.added_on,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY gh.list_item_id ORDER BY gh.added_on DESC) as rn
|
||||||
|
FROM grocery_history gh
|
||||||
|
WHERE gh.list_item_id = gl.id
|
||||||
|
) gh
|
||||||
|
JOIN users u ON gh.added_by = u.id
|
||||||
|
WHERE gh.rn <= gl.quantity
|
||||||
|
) as added_by_users,
|
||||||
gl.modified_on as last_added_on,
|
gl.modified_on as last_added_on,
|
||||||
ic.item_type,
|
ic.item_type,
|
||||||
ic.item_group,
|
ic.item_group,
|
||||||
ic.zone
|
ic.zone
|
||||||
FROM grocery_list gl
|
FROM grocery_list gl
|
||||||
LEFT JOIN users creator ON gl.added_by = creator.id
|
|
||||||
LEFT JOIN grocery_history gh ON gl.id = gh.list_item_id
|
|
||||||
LEFT JOIN users gh_user ON gh.added_by = gh_user.id
|
|
||||||
LEFT JOIN item_classification ic ON gl.id = ic.id
|
LEFT JOIN item_classification ic ON gl.id = ic.id
|
||||||
WHERE gl.bought = FALSE
|
WHERE gl.bought = FALSE
|
||||||
GROUP BY gl.id, gl.item_name, gl.quantity, gl.bought, gl.item_image, gl.image_mime_type, gl.modified_on, ic.item_type, ic.item_group, ic.zone
|
|
||||||
ORDER BY gl.id ASC`
|
ORDER BY gl.id ASC`
|
||||||
);
|
);
|
||||||
return result.rows;
|
return result.rows;
|
||||||
@ -119,15 +125,21 @@ exports.getRecentlyBoughtItems = async () => {
|
|||||||
gl.bought,
|
gl.bought,
|
||||||
ENCODE(gl.item_image, 'base64') as item_image,
|
ENCODE(gl.item_image, 'base64') as item_image,
|
||||||
gl.image_mime_type,
|
gl.image_mime_type,
|
||||||
ARRAY_AGG(DISTINCT COALESCE(gh_user.name, creator.name)) FILTER (WHERE COALESCE(gh_user.name, creator.name) IS NOT NULL) as added_by_users,
|
(
|
||||||
|
SELECT ARRAY_AGG(u.name ORDER BY gh.added_on DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT gh.added_by, gh.added_on,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY gh.list_item_id ORDER BY gh.added_on DESC) as rn
|
||||||
|
FROM grocery_history gh
|
||||||
|
WHERE gh.list_item_id = gl.id
|
||||||
|
) gh
|
||||||
|
JOIN users u ON gh.added_by = u.id
|
||||||
|
WHERE gh.rn <= gl.quantity
|
||||||
|
) as added_by_users,
|
||||||
gl.modified_on as last_added_on
|
gl.modified_on as last_added_on
|
||||||
FROM grocery_list gl
|
FROM grocery_list gl
|
||||||
LEFT JOIN users creator ON gl.added_by = creator.id
|
|
||||||
LEFT JOIN grocery_history gh ON gl.id = gh.list_item_id
|
|
||||||
LEFT JOIN users gh_user ON gh.added_by = gh_user.id
|
|
||||||
WHERE gl.bought = TRUE
|
WHERE gl.bought = TRUE
|
||||||
AND gl.modified_on >= NOW() - INTERVAL '24 hours'
|
AND gl.modified_on >= NOW() - INTERVAL '24 hours'
|
||||||
GROUP BY gl.id, gl.item_name, gl.quantity, gl.bought, gl.item_image, gl.image_mime_type, gl.modified_on
|
|
||||||
ORDER BY gl.modified_on DESC`
|
ORDER BY gl.modified_on DESC`
|
||||||
);
|
);
|
||||||
return result.rows;
|
return result.rows;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user