Add featured hashtags to profiles (#9755)
* Add hashtag filter to profiles GET /@:username/tagged/:hashtag GET /api/v1/accounts/:id/statuses?tagged=:hashtag * Display featured hashtags on public profile * Use separate model for featured tags * Update featured hashtag counters on-write * Limit featured tags to 10
This commit is contained in:
parent
d14c276e58
commit
364f2ff9aa
24 changed files with 238 additions and 8 deletions
|
@ -7,6 +7,7 @@ class CreateAccountModerationNotes < ActiveRecord::Migration[5.1]
|
|||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_foreign_key :account_moderation_notes, :accounts, column: :target_account_id
|
||||
end
|
||||
end
|
||||
|
|
12
db/migrate/20190203180359_create_featured_tags.rb
Normal file
12
db/migrate/20190203180359_create_featured_tags.rb
Normal file
|
@ -0,0 +1,12 @@
|
|||
class CreateFeaturedTags < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
create_table :featured_tags do |t|
|
||||
t.references :account, foreign_key: { on_delete: :cascade }
|
||||
t.references :tag, foreign_key: { on_delete: :cascade }
|
||||
t.bigint :statuses_count, default: 0, null: false
|
||||
t.datetime :last_status_at
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
15
db/schema.rb
15
db/schema.rb
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2019_02_01_012802) do
|
||||
ActiveRecord::Schema.define(version: 2019_02_03_180359) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -250,6 +250,17 @@ ActiveRecord::Schema.define(version: 2019_02_01_012802) do
|
|||
t.index ["status_id"], name: "index_favourites_on_status_id"
|
||||
end
|
||||
|
||||
create_table "featured_tags", force: :cascade do |t|
|
||||
t.bigint "account_id"
|
||||
t.bigint "tag_id"
|
||||
t.bigint "statuses_count", default: 0, null: false
|
||||
t.datetime "last_status_at"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["account_id"], name: "index_featured_tags_on_account_id"
|
||||
t.index ["tag_id"], name: "index_featured_tags_on_tag_id"
|
||||
end
|
||||
|
||||
create_table "follow_requests", force: :cascade do |t|
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
|
@ -708,6 +719,8 @@ ActiveRecord::Schema.define(version: 2019_02_01_012802) do
|
|||
add_foreign_key "custom_filters", "accounts", on_delete: :cascade
|
||||
add_foreign_key "favourites", "accounts", name: "fk_5eb6c2b873", on_delete: :cascade
|
||||
add_foreign_key "favourites", "statuses", name: "fk_b0e856845e", on_delete: :cascade
|
||||
add_foreign_key "featured_tags", "accounts", on_delete: :cascade
|
||||
add_foreign_key "featured_tags", "tags", on_delete: :cascade
|
||||
add_foreign_key "follow_requests", "accounts", column: "target_account_id", name: "fk_9291ec025d", on_delete: :cascade
|
||||
add_foreign_key "follow_requests", "accounts", name: "fk_76d644b0e7", on_delete: :cascade
|
||||
add_foreign_key "follows", "accounts", column: "target_account_id", name: "fk_745ca29eac", on_delete: :cascade
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue