Merge remote-tracking branch 'parent/main' into upstream-20240531

This commit is contained in:
KMY 2024-05-31 08:27:09 +09:00
commit 13ad383039
101 changed files with 1486 additions and 1232 deletions

View file

@ -25,42 +25,11 @@ module Account::FinderConcern
end
def find_remote(username, domain)
AccountFinder.new(username, domain).account
end
end
class AccountFinder
attr_reader :username, :domain
def initialize(username, domain)
@username = username
@domain = domain
end
def account
scoped_accounts.order(id: :asc).take
end
private
def scoped_accounts
Account.unscoped.tap do |scope|
scope.merge! with_usernames
scope.merge! matching_username
scope.merge! matching_domain
end
end
def with_usernames
Account.where.not(Account.arel_table[:username].lower.eq '')
end
def matching_username
Account.where(Account.arel_table[:username].lower.eq username.to_s.downcase)
end
def matching_domain
Account.where(Account.arel_table[:domain].lower.eq(domain.nil? ? nil : domain.to_s.downcase))
Account
.with_username(username)
.with_domain(domain)
.order(id: :asc)
.take
end
end
end

View file

@ -23,7 +23,7 @@ module Attachmentable
included do
def self.has_attached_file(name, options = {}) # rubocop:disable Naming/PredicateName
super(name, options)
super
send(:"before_#{name}_validate", prepend: true) do
attachment = send(name)

View file

@ -22,7 +22,7 @@ module User::LdapAuthenticable
safe_username = safe_username.gsub(keys, replacement)
end
resource = joins(:account).merge(Account.where(Account.arel_table[:username].lower.eq safe_username.downcase)).take
resource = joins(:account).merge(Account.with_username(safe_username)).take
if resource.blank?
resource = new(