Post follow and updates notifications V1 (#111)

* It is now possible to follow a post in order to receive updates about it
* Notifications are now sent when updates are published
* Post status changes are now tracked
* Update sidebar now shows the post status history
* Mark a comment as a post update using the comment form
* ... more ...
This commit is contained in:
Riccardo Graziosi
2022-05-28 11:03:36 +02:00
committed by GitHub
parent ce7be1b30c
commit dad382d2b1
59 changed files with 1080 additions and 71 deletions

View File

@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2021_01_26_215831) do
ActiveRecord::Schema.define(version: 2022_05_21_161950) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -37,6 +37,16 @@ ActiveRecord::Schema.define(version: 2021_01_26_215831) do
t.index ["user_id"], name: "index_comments_on_user_id"
end
create_table "follows", force: :cascade do |t|
t.bigint "user_id", null: false
t.bigint "post_id", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["post_id"], name: "index_follows_on_post_id"
t.index ["user_id", "post_id"], name: "index_follows_on_user_id_and_post_id", unique: true
t.index ["user_id"], name: "index_follows_on_user_id"
end
create_table "likes", force: :cascade do |t|
t.bigint "user_id", null: false
t.bigint "post_id", null: false
@@ -47,6 +57,17 @@ ActiveRecord::Schema.define(version: 2021_01_26_215831) do
t.index ["user_id"], name: "index_likes_on_user_id"
end
create_table "post_status_changes", force: :cascade do |t|
t.bigint "user_id", null: false
t.bigint "post_id", null: false
t.bigint "post_status_id"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["post_id"], name: "index_post_status_changes_on_post_id"
t.index ["post_status_id"], name: "index_post_status_changes_on_post_status_id"
t.index ["user_id"], name: "index_post_status_changes_on_user_id"
end
create_table "post_statuses", force: :cascade do |t|
t.string "name", null: false
t.string "color", null: false
@@ -93,8 +114,13 @@ ActiveRecord::Schema.define(version: 2021_01_26_215831) do
add_foreign_key "comments", "comments", column: "parent_id"
add_foreign_key "comments", "posts"
add_foreign_key "comments", "users"
add_foreign_key "follows", "posts"
add_foreign_key "follows", "users"
add_foreign_key "likes", "posts"
add_foreign_key "likes", "users"
add_foreign_key "post_status_changes", "post_statuses"
add_foreign_key "post_status_changes", "posts"
add_foreign_key "post_status_changes", "users"
add_foreign_key "posts", "boards"
add_foreign_key "posts", "post_statuses"
add_foreign_key "posts", "users"