Replace Makara with an initial Rails 6 role based splitting method.
This commit is contained in:
committed by
admin
parent
31922ea58b
commit
473c48b2aa
@@ -65,7 +65,11 @@ class Api::BaseController < ApplicationController
|
||||
def current_resource_owner
|
||||
if doorkeeper_token
|
||||
@current_user ||= Rails.cache.fetch("dk:user:#{doorkeeper_token.resource_owner_id}", expires_in: 25.hours) do
|
||||
User.find(doorkeeper_token.resource_owner_id)
|
||||
u = nil
|
||||
ActiveRecord::Base.connected_to(role: :writing) do
|
||||
u = User.find(doorkeeper_token.resource_owner_id)
|
||||
end
|
||||
u
|
||||
end
|
||||
end
|
||||
return @current_user
|
||||
|
||||
@@ -22,11 +22,17 @@ class Api::V1::Accounts::StatusesController < Api::BaseController
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find(params[:account_id])
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
@account = Account.find(params[:account_id])
|
||||
end
|
||||
end
|
||||
|
||||
def load_statuses
|
||||
cached_account_statuses
|
||||
cas = nil
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
cas = cached_account_statuses
|
||||
end
|
||||
cas
|
||||
end
|
||||
|
||||
def cached_account_statuses
|
||||
|
||||
@@ -17,7 +17,11 @@ class Api::V1::BookmarkCollections::BookmarksController < Api::BaseController
|
||||
private
|
||||
|
||||
def load_statuses
|
||||
cached_bookmarks
|
||||
cb = nil
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
cb = cached_bookmarks
|
||||
end
|
||||
cb
|
||||
end
|
||||
|
||||
def cached_bookmarks
|
||||
@@ -25,7 +29,7 @@ class Api::V1::BookmarkCollections::BookmarksController < Api::BaseController
|
||||
Status.reorder(nil).joins(:status_bookmarks).merge(results),
|
||||
Status
|
||||
)
|
||||
end
|
||||
`` end
|
||||
|
||||
def results
|
||||
@_results ||= account_bookmarks.paginate_by_id(
|
||||
@@ -65,4 +69,4 @@ class Api::V1::BookmarkCollections::BookmarksController < Api::BaseController
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -27,7 +27,6 @@ class Api::V1::NotificationsController < Api::BaseController
|
||||
def mark_read
|
||||
if !params[:id].nil? and !current_account.user.nil?
|
||||
conn = ActiveRecord::Base.connection
|
||||
conn.stick_to_master!
|
||||
conn.exec_query "update users set last_read_notification = #{params[:id].to_i} where id = #{current_account.user.id}"
|
||||
end
|
||||
# current_account.notifications.find(params[:id]).mark_read!
|
||||
|
||||
@@ -34,14 +34,6 @@ class Api::V1::Statuses::FavouritesController < Api::BaseController
|
||||
end
|
||||
|
||||
def requested_status
|
||||
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
|
||||
Status.find(params[:status_id])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -31,15 +31,7 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
|
||||
private
|
||||
|
||||
def status_for_reblog
|
||||
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
|
||||
Status.find(params[:status_id])
|
||||
end
|
||||
|
||||
def status_for_destroy
|
||||
|
||||
@@ -39,7 +39,11 @@ class Api::V1::Timelines::ExploreController < Api::BaseController
|
||||
end
|
||||
|
||||
def cached_explore_statuses
|
||||
cache_collection explore_statuses, Status
|
||||
es = nil
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
es = cache_collection explore_statuses, Status
|
||||
end
|
||||
es
|
||||
end
|
||||
|
||||
def explore_statuses
|
||||
|
||||
@@ -56,7 +56,11 @@ class Api::V1::Timelines::GroupCollectionController < Api::BaseController
|
||||
end
|
||||
|
||||
def cached_group_collection_statuses
|
||||
cache_collection group_collection_statuses, Status
|
||||
gcs = nil
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
gcs = cache_collection group_collection_statuses, Status
|
||||
end
|
||||
gcs
|
||||
end
|
||||
|
||||
def group_collection_statuses
|
||||
|
||||
@@ -46,7 +46,11 @@ class Api::V1::Timelines::GroupController < Api::BaseController
|
||||
end
|
||||
|
||||
def cached_group_statuses
|
||||
cache_collection group_statuses, Status
|
||||
gs = nil
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
gs = cache_collection group_statuses, Status
|
||||
end
|
||||
gs
|
||||
end
|
||||
|
||||
def group_statuses
|
||||
|
||||
@@ -16,7 +16,11 @@ class Api::V1::Timelines::ProController < Api::BaseController
|
||||
end
|
||||
|
||||
def cached_pro_statuses
|
||||
cache_collection pro_statuses, Status
|
||||
ps = nil
|
||||
ActiveRecord::Base.connected_to(role: :reading) do
|
||||
ps = cache_collection pro_statuses, Status
|
||||
end
|
||||
ps
|
||||
end
|
||||
|
||||
def pro_statuses
|
||||
|
||||
@@ -89,8 +89,12 @@ class ApplicationController < ActionController::Base
|
||||
|
||||
def current_session
|
||||
return nil if cookies.signed['_session_id'].nil?
|
||||
@current_session ||= Rails.cache.fetch("dk:sess:#{cookies.signed['_session_id']}", expires_in: 25.hours) do
|
||||
SessionActivation.find_by(session_id: cookies.signed['_session_id'])
|
||||
@current_session ||= Rails.cache.fetch("dk:sess:#{cookies.signed['_session_id']}", expires_in: 25.hours) do
|
||||
sa = nil
|
||||
ActiveRecord::Base.connected_to(role: :writing) do
|
||||
sa = SessionActivation.find_by(session_id: cookies.signed['_session_id'])
|
||||
end
|
||||
sa
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
prepend_before_action :authenticate_with_two_factor, if: :two_factor_enabled?, only: [:create]
|
||||
before_action :set_instance_presenter, only: [:new]
|
||||
before_action :set_body_classes
|
||||
before_action :use_master
|
||||
|
||||
def new
|
||||
Devise.omniauth_configs.each do |provider, config|
|
||||
@@ -36,10 +35,6 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
|
||||
protected
|
||||
|
||||
def use_master
|
||||
User.connection.stick_to_master!
|
||||
end
|
||||
|
||||
def find_user
|
||||
if session[:otp_user_id]
|
||||
User.find(session[:otp_user_id])
|
||||
|
||||
@@ -13,9 +13,10 @@ module SessionTrackingConcern
|
||||
|
||||
def set_session_activity
|
||||
return unless session_needs_update?
|
||||
conn = ActiveRecord::Base.connection
|
||||
conn.stick_to_master!
|
||||
conn.exec_query "update session_activations set updated_at = NOW() where id = #{current_session.id}"
|
||||
ActiveRecord::Base.connected_to(role: :writing) do
|
||||
conn = ActiveRecord::Base.connection
|
||||
conn.exec_query "update session_activations set updated_at = NOW() where id = #{current_session.id}"
|
||||
end
|
||||
end
|
||||
|
||||
def session_needs_update?
|
||||
|
||||
@@ -12,7 +12,9 @@ module UserTrackingConcern
|
||||
private
|
||||
|
||||
def set_user_activity
|
||||
current_user.update_sign_in!(request) if user_needs_sign_in_update?
|
||||
ActiveRecord::Base.connected_to(role: :writing) do
|
||||
current_user.update_sign_in!(request) if user_needs_sign_in_update?
|
||||
end
|
||||
end
|
||||
|
||||
def user_needs_sign_in_update?
|
||||
|
||||
@@ -9,6 +9,9 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
|
||||
|
||||
include Localized
|
||||
|
||||
include ForceDbWriterRole
|
||||
around_action :force_writer_db_role, only: [:store_current_location, :render_success]
|
||||
|
||||
private
|
||||
|
||||
def store_current_location
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Oauth::TokensController < Doorkeeper::TokensController
|
||||
include ForceDbWriterRole
|
||||
around_action :force_writer_db_role, only: :revoke
|
||||
|
||||
def revoke
|
||||
unsubscribe_for_token if authorized? && token.accessible?
|
||||
super
|
||||
|
||||
@@ -17,16 +17,16 @@ class ReactController < ApplicationController
|
||||
before_action :set_instance_presenter
|
||||
|
||||
def react
|
||||
#
|
||||
#
|
||||
end
|
||||
|
||||
|
||||
def groupBySlug
|
||||
@group = Group.where(slug: params[:groupSlug], is_archived: false).first
|
||||
unless @group.nil?
|
||||
return redirect_to "/groups/#{@group.id}"
|
||||
end
|
||||
|
||||
return not_found
|
||||
return not_found
|
||||
end
|
||||
|
||||
def status_show
|
||||
@@ -62,7 +62,7 @@ class ReactController < ApplicationController
|
||||
|
||||
def redirect_to_original
|
||||
if @status.reblog?
|
||||
redirect_to ::TagManager.instance.url_for(@status.reblog)
|
||||
redirect_to ::TagManager.instance.url_for(@status.reblog)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -75,7 +75,7 @@ class ReactController < ApplicationController
|
||||
elsif find_public_route_matches
|
||||
return
|
||||
elsif request.path.count("/") == 1 && request.path.length === 1
|
||||
#
|
||||
#
|
||||
elsif request.path.count("/") == 1 && !request.path.include?("@")
|
||||
acctFromPath = request.path.sub("/", "")
|
||||
@account = Account.find_local!(acctFromPath)
|
||||
@@ -108,14 +108,14 @@ class ReactController < ApplicationController
|
||||
end
|
||||
|
||||
def initial_state_params
|
||||
if !current_user.nil?
|
||||
if !current_user.nil? && !current_session.nil?
|
||||
{
|
||||
settings: Web::Setting.find_by(user: current_user)&.data || {},
|
||||
push_subscription: current_account.user.web_push_subscription(current_session),
|
||||
current_account: current_account,
|
||||
token: current_session.token,
|
||||
}
|
||||
else
|
||||
else
|
||||
return {}
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user