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/src/schema.rs | |
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/src/schema.rs')
-rw-r--r-- | web/converse/src/schema.rs | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/web/converse/src/schema.rs b/web/converse/src/schema.rs new file mode 100644 index 000000000000..7de6d13668c2 --- /dev/null +++ b/web/converse/src/schema.rs @@ -0,0 +1,88 @@ +// Copyright (C) 2018-2021 Vincent Ambo <tazjin@tvl.su> +// +// This file is part of Converse. +// +// This program is free software: you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +// <https://www.gnu.org/licenses/>. + +table! { + posts (id) { + id -> Int4, + thread_id -> Int4, + body -> Text, + posted -> Timestamptz, + user_id -> Int4, + } +} + +table! { + threads (id) { + id -> Int4, + title -> Varchar, + posted -> Timestamptz, + sticky -> Bool, + user_id -> Int4, + closed -> Bool, + } +} + +table! { + users (id) { + id -> Int4, + email -> Varchar, + name -> Varchar, + admin -> Bool, + } +} + +// Note: Manually inserted as print-schema does not add views. +table! { + simple_posts (id) { + id -> Int4, + thread_id -> Int4, + body -> Text, + posted -> Timestamptz, + user_id -> Int4, + closed -> Bool, + author_name -> Text, + author_email -> Text, + } +} + +// Note: Manually inserted as print-schema does not add views. +table! { + thread_index (thread_id) { + thread_id -> Int4, + title -> Text, + thread_author -> Text, + created -> Timestamptz, + sticky -> Bool, + closed -> Bool, + post_id -> Int4, + post_author -> Text, + posted -> Timestamptz, + } +} + +joinable!(posts -> threads (thread_id)); +joinable!(posts -> users (user_id)); +joinable!(threads -> users (user_id)); +joinable!(simple_posts -> threads (thread_id)); + +allow_tables_to_appear_in_same_query!( + posts, + threads, + users, + simple_posts, +); |