diff options
author | Vincent Ambo <mail@tazj.in> | 2021-04-05T14·55+0200 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-04-05T15·01+0200 |
commit | 8142149e28991b15affc5e4576a033e0ada9778b (patch) | |
tree | 44387ac5cae9c3a39e1810909ef2ee92e0278709 /web/converse/migrations/2018-05-25-161939_add_closed_to_index | |
parent | 386afdc794eefd5bcbc47a3fd7b898a07f69f978 (diff) | |
parent | 09168021e7405f6b83798d0b43aa6e69e744ae87 (diff) |
feat(web/converse): Import repository r/2440
Imports the converse forum software I wrote a few years ago. I want to clean this up a bit and try using Hotwire with it. Note: The original repository was AGPL-3.0 licensed. I'm the copyright holder and have relicensed it to GPL-3.0 in the commit that is being merged. Imported from: https://github.com/tazjin/converse git-subtree-dir: web/converse git-subtree-mainline: 386afdc794eefd5bcbc47a3fd7b898a07f69f978 git-subtree-split: 09168021e7405f6b83798d0b43aa6e69e744ae87 Change-Id: Ia8b587db5174ef5b3c52910d3d027199150c58e0
Diffstat (limited to 'web/converse/migrations/2018-05-25-161939_add_closed_to_index')
-rw-r--r-- | web/converse/migrations/2018-05-25-161939_add_closed_to_index/down.sql | 30 | ||||
-rw-r--r-- | web/converse/migrations/2018-05-25-161939_add_closed_to_index/up.sql | 35 |
2 files changed, 65 insertions, 0 deletions
diff --git a/web/converse/migrations/2018-05-25-161939_add_closed_to_index/down.sql b/web/converse/migrations/2018-05-25-161939_add_closed_to_index/down.sql new file mode 100644 index 000000000000..1063fdc88224 --- /dev/null +++ b/web/converse/migrations/2018-05-25-161939_add_closed_to_index/down.sql @@ -0,0 +1,30 @@ +-- Update the index view: +DROP VIEW thread_index; +CREATE VIEW thread_index AS + SELECT t.id AS thread_id, + t.title AS title, + ta.name AS thread_author, + t.posted AS created, + t.sticky AS sticky, + p.id AS post_id, + pa.name AS post_author, + p.posted AS posted + FROM threads t + JOIN (SELECT DISTINCT ON (thread_id) + id, thread_id, user_id, posted + FROM posts + ORDER BY thread_id, id DESC) AS p + ON t.id = p.thread_id + JOIN users ta ON ta.id = t.user_id + JOIN users pa ON pa.id = p.user_id + ORDER BY t.sticky DESC, p.id DESC; + +-- Update the post view: +DROP VIEW simple_posts; +CREATE VIEW simple_posts AS + SELECT p.id AS id, + thread_id, body, posted, user_id, + users.name AS author_name, + users.email AS author_email + FROM posts p + JOIN users ON users.id = p.user_id; diff --git a/web/converse/migrations/2018-05-25-161939_add_closed_to_index/up.sql b/web/converse/migrations/2018-05-25-161939_add_closed_to_index/up.sql new file mode 100644 index 000000000000..87580a2f3f9e --- /dev/null +++ b/web/converse/migrations/2018-05-25-161939_add_closed_to_index/up.sql @@ -0,0 +1,35 @@ +-- Update the index view: +DROP VIEW thread_index; +CREATE VIEW thread_index AS + SELECT t.id AS thread_id, + t.title AS title, + ta.name AS thread_author, + t.posted AS created, + t.sticky AS sticky, + t.closed AS closed, + p.id AS post_id, + pa.name AS post_author, + p.posted AS posted + FROM threads t + JOIN (SELECT DISTINCT ON (thread_id) + id, thread_id, user_id, posted + FROM posts + ORDER BY thread_id, id DESC) AS p + ON t.id = p.thread_id + JOIN users ta ON ta.id = t.user_id + JOIN users pa ON pa.id = p.user_id + ORDER BY t.sticky DESC, p.id DESC; + +-- Update post view: +DROP VIEW simple_posts; +CREATE VIEW simple_posts AS + SELECT p.id AS id, + thread_id, body, + p.posted AS posted, + p.user_id AS user_id, + threads.closed AS closed, + users.name AS author_name, + users.email AS author_email + FROM posts p + JOIN users ON users.id = p.user_id + JOIN threads ON threads.id = p.thread_id; |