0
0
Fork 0

Add /api/v1/accounts/familiar_followers to REST API (#17700)

* Add `/api/v1/accounts/familiar_followers` to REST API

* Change hide network preference to be stored consistently for local and remote accounts

* Add dummy classes to migration

* Apply suggestions from code review

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Eugen Rochko 2022-03-07 09:36:47 +01:00 committed by GitHub
parent c439e13e12
commit edf09ec747
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 169 additions and 32 deletions

View file

@ -0,0 +1,37 @@
class MigrateHideNetworkPreference < ActiveRecord::Migration[6.1]
disable_ddl_transaction!
# Dummy classes, to make migration possible across version changes
class Account < ApplicationRecord
has_one :user, inverse_of: :account
scope :local, -> { where(domain: nil) }
end
class User < ApplicationRecord
belongs_to :account
end
def up
Account.reset_column_information
Setting.unscoped.where(thing_type: 'User', var: 'hide_network').find_each do |setting|
account = User.find(setting.thing_id).account
ApplicationRecord.transaction do
account.update(hide_collections: setting.value)
setting.delete
end
rescue ActiveRecord::RecordNotFound
next
end
end
def down
Account.local.where(hide_collections: true).includes(:user).find_each do |account|
ApplicationRecord.transaction do
Setting.create(thing_type: 'User', thing_id: account.user.id, var: 'hide_network', value: account.hide_collections?)
account.update(hide_collections: nil)
end
end
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2022_02_27_041951) do
ActiveRecord::Schema.define(version: 2022_03_04_195405) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"