add user data to comments query when logged out
This commit is contained in:
parent
67b815d9d6
commit
5bd66349c0
|
@ -30,4 +30,4 @@ $$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
-- we can drop these triggers because item_acts denormalize into item and hit the item trigger
|
-- we can drop these triggers because item_acts denormalize into item and hit the item trigger
|
||||||
DROP TRIGGER IF EXISTS index_item_after_act ON "ItemAct";
|
DROP TRIGGER IF EXISTS index_item_after_act ON "ItemAct";
|
||||||
DROP FUNCTION index_item_after_act;
|
DROP FUNCTION IF EXISTS index_item_after_act;
|
|
@ -0,0 +1,27 @@
|
||||||
|
CREATE OR REPLACE FUNCTION item_comments(_item_id int, _level int, _where text, _order_by text)
|
||||||
|
RETURNS jsonb
|
||||||
|
LANGUAGE plpgsql STABLE PARALLEL SAFE AS
|
||||||
|
$$
|
||||||
|
DECLARE
|
||||||
|
result jsonb;
|
||||||
|
BEGIN
|
||||||
|
IF _level < 1 THEN
|
||||||
|
RETURN '[]'::jsonb;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
EXECUTE ''
|
||||||
|
|| 'SELECT COALESCE(jsonb_agg(sub), ''[]''::jsonb) AS comments '
|
||||||
|
|| 'FROM ( '
|
||||||
|
|| ' SELECT "Item".*, "Item".created_at at time zone ''UTC'' AS "createdAt", "Item".updated_at at time zone ''UTC'' AS "updatedAt", '
|
||||||
|
|| ' item_comments("Item".id, $2 - 1, $3, $4) AS comments, to_jsonb(users.*) as user '
|
||||||
|
|| ' FROM "Item" p '
|
||||||
|
|| ' JOIN "Item" ON "Item"."parentId" = p.id '
|
||||||
|
|| ' JOIN users ON users.id = "Item"."userId" '
|
||||||
|
|| ' WHERE p.id = $1 '
|
||||||
|
|| _where || ' '
|
||||||
|
|| _order_by
|
||||||
|
|| ' ) sub'
|
||||||
|
INTO result USING _item_id, _level, _where, _order_by;
|
||||||
|
RETURN result;
|
||||||
|
END
|
||||||
|
$$;
|
Loading…
Reference in New Issue