37 lines
530 B
SQL
37 lines
530 B
SQL
CREATE VIEW api.post AS
|
|
SELECT
|
|
p.id,
|
|
p.user_id,
|
|
p.content,
|
|
p.created,
|
|
p.modified,
|
|
COALESCE(c.cc, 0)
|
|
AS comment_count
|
|
FROM
|
|
admin.post p
|
|
LEFT JOIN (
|
|
SELECT
|
|
COUNT(c.id) as cc,
|
|
c.post_id
|
|
FROM
|
|
admin.comment c
|
|
GROUP BY
|
|
c.post_id
|
|
) c
|
|
ON
|
|
p.id = c.post_id
|
|
LEFT JOIN
|
|
admin.user u
|
|
ON
|
|
u.id = p.user_id
|
|
WHERE
|
|
p.deleted <> TRUE
|
|
AND
|
|
u.deleted <> TRUE
|
|
ORDER BY
|
|
p.id DESC;
|
|
|
|
GRANT SELECT ON TABLE api.post
|
|
TO rest_anon, rest_user;
|
|
GRANT SELECT ON TABLE admin.post
|
|
TO rest_anon, rest_user;
|