0
0
Fork 0

Add bookmarks (#7107)

* Add backend support for bookmarks

Bookmarks behave like favourites, except they aren't shared with other
users and do not have an associated counter.

* Add spec for bookmark endpoints

* Add front-end support for bookmarks

* Introduce OAuth scopes for bookmarks

* Add bookmarks to archive takeout

* Fix migration

* Coding style fixes

* Fix rebase issue

* Update bookmarked_statuses to latest UI changes

* Update bookmark actions to properly reflect status changes in state

* Add bookmarks item to single-column layout

* Make active bookmarks red
This commit is contained in:
ThibG 2019-11-13 23:02:10 +01:00 committed by Eugen Rochko
parent afb398b583
commit dfea7368c9
33 changed files with 712 additions and 1 deletions

View file

@ -0,0 +1,17 @@
class CreateBookmarks < ActiveRecord::Migration[5.1]
def change
create_table :bookmarks do |t|
t.references :account, null: false
t.references :status, null: false
t.timestamps
end
safety_assured do
add_foreign_key :bookmarks, :accounts, column: :account_id, on_delete: :cascade
add_foreign_key :bookmarks, :statuses, column: :status_id, on_delete: :cascade
end
add_index :bookmarks, [:account_id, :status_id], unique: true
end
end

View file

@ -217,6 +217,16 @@ ActiveRecord::Schema.define(version: 2019_10_31_163205) do
t.index ["target_account_id"], name: "index_blocks_on_target_account_id"
end
create_table "bookmarks", force: :cascade do |t|
t.bigint "account_id", null: false
t.bigint "status_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["account_id", "status_id"], name: "index_bookmarks_on_account_id_and_status_id", unique: true
t.index ["account_id"], name: "index_bookmarks_on_account_id"
t.index ["status_id"], name: "index_bookmarks_on_status_id"
end
create_table "conversation_mutes", force: :cascade do |t|
t.bigint "conversation_id", null: false
t.bigint "account_id", null: false
@ -834,6 +844,8 @@ ActiveRecord::Schema.define(version: 2019_10_31_163205) do
add_foreign_key "backups", "users", on_delete: :nullify
add_foreign_key "blocks", "accounts", column: "target_account_id", name: "fk_9571bfabc1", on_delete: :cascade
add_foreign_key "blocks", "accounts", name: "fk_4269e03e65", on_delete: :cascade
add_foreign_key "bookmarks", "accounts", on_delete: :cascade
add_foreign_key "bookmarks", "statuses", on_delete: :cascade
add_foreign_key "conversation_mutes", "accounts", name: "fk_225b4212bb", on_delete: :cascade
add_foreign_key "conversation_mutes", "conversations", on_delete: :cascade
add_foreign_key "custom_filters", "accounts", on_delete: :cascade