[reset] cleanup

This commit is contained in:
Fosco Marotto 2021-01-24 13:50:51 -05:00
parent 553ca5afa2
commit 1c647b0b06
7 changed files with 45 additions and 26 deletions

View File

@ -34,6 +34,14 @@ class Api::V1::Statuses::FavouritesController < Api::BaseController
end
def requested_status
Status.find(params[:status_id])
rs = nil
begin
rs = Status.find(params[:status_id])
rescue ActiveRecord::RecordNotFound
Status.connection.stick_to_master!
rs = Status.find(params[:status_id])
end
return rs unless rs.nil?
raise ActiveRecord::RecordNotFound
end
end

View File

@ -31,7 +31,15 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
private
def status_for_reblog
Status.find params[:status_id]
rs = nil
begin
rs = Status.find(params[:status_id])
rescue ActiveRecord::RecordNotFound
Status.connection.stick_to_master!
rs = Status.find(params[:status_id])
end
return rs unless rs.nil?
raise ActiveRecord::RecordNotFound
end
def status_for_destroy

View File

@ -80,10 +80,6 @@ class SortingQueryBuilder < BaseService
query += "
) q
left join custom_filters cf
on cf.account_id = #{account_id}
and q.text like '%' || cf.phrase || '%'
where cf.id is null
"
return Status.find_by_sql query
end

View File

@ -8,11 +8,7 @@ class HomeFeed < Feed
end
def get(limit = 20, max_id = nil, since_id = nil, min_id = nil)
# if redis.exists?("account:#{@account.id}:regeneration")
from_database(limit, max_id, since_id, min_id)
# else
# super
# end
end
private
@ -33,7 +29,12 @@ class HomeFeed < Feed
and s.reply is false
and (
s.account_id = #{@id}
or s.account_id in (select target_account_id from follows where account_id = #{@id})
or s.account_id in (
select ff.target_account_id
from follows ff
join accounts af
on ff.target_account_id = af.id
where ff.account_id = #{@id})
)
and s.account_id not in (select target_account_id from mutes where account_id = #{@id})
and (reblog.id is null or reblog.account_id not in (select target_account_id from mutes where account_id = #{@id}))
@ -43,16 +44,6 @@ class HomeFeed < Feed
order by s.created_at desc
limit #{limit}
) st
left join statuses rb
on st.reblog_of_id = rb.id
left join custom_filters cf
on cf.account_id = #{@id} and (
st.text like '%' || cf.phrase || '%'
or rb.text like '%' || cf.phrase || '%')
where cf.id is null or st.account_id = #{@id}
"
# .reject { |status| FeedManager.instance.filter?(:home, status, @account.id) }
# Status.as_home_timeline(@account)
# .paginate_by_id(limit, max_id: max_id, since_id: since_id, min_id: min_id)
end
end

View File

@ -10,7 +10,13 @@ class FavouriteService < BaseService
def call(account, status)
authorize_with account, status, :favourite?
favourite = Favourite.find_by(account: account, status: status)
favourite = nil
begin
favourite = Favourite.find_by(account: account, status: status)
rescue ActiveRecord::RecordNotFound
Favourite.connection.stick_to_master!
favourite = Favourite.find_by(account: account, status: status)
end
return favourite unless favourite.nil?

View File

@ -13,7 +13,13 @@ class ReblogService < BaseService
authorize_with account, reblogged_status, :reblog?
reblog = account.statuses.find_by(reblog: reblogged_status)
reblog = nil
begin
reblog = account.statuses.find_by(reblog: reblogged_status)
rescue ActiveRecord::RecordNotFound
account.statuses.connection.stick_to_master!
reblog = account.statuses.find_by(reblog: reblogged_status)
end
return reblog unless reblog.nil?

View File

@ -16,6 +16,10 @@ Rails.application.routes.draw do
mount PgHero::Engine, at: 'pghero', as: :pghero
end
Doorkeeper::AccessToken.connection.stick_to_master!
Doorkeeper::AccessGrant.connection.stick_to_master!
SessionActivation.connection.stick_to_master!
use_doorkeeper do
controllers authorizations: 'oauth/authorizations',
authorized_applications: 'oauth/authorized_applications',