Merge branch 'master' into glitch-soc/merge-upstream
This commit is contained in:
21
app/services/hashtag_query_service.rb
Normal file
21
app/services/hashtag_query_service.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class HashtagQueryService < BaseService
|
||||
def call(tag, params, account = nil, local = false)
|
||||
any = tags_for(params[:any])
|
||||
all = tags_for(params[:all])
|
||||
none = tags_for(params[:none])
|
||||
|
||||
@query = Status.as_tag_timeline(tag, account, local)
|
||||
.tagged_with_all(all)
|
||||
.tagged_with_none(none)
|
||||
@query = @query.distinct.or(self.class.new.call(any, params.except(:any), account, local).distinct) if any
|
||||
@query
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def tags_for(tags)
|
||||
Tag.where(name: tags.map(&:downcase)) if tags.presence
|
||||
end
|
||||
end
|
||||
@@ -20,7 +20,7 @@ class ResolveURLService < BaseService
|
||||
def process_url
|
||||
if equals_or_includes_any?(type, %w(Application Group Organization Person Service))
|
||||
FetchRemoteAccountService.new.call(atom_url, body, protocol)
|
||||
elsif equals_or_includes_any?(type, %w(Note Article Image Video))
|
||||
elsif equals_or_includes_any?(type, %w(Note Article Image Video Page))
|
||||
FetchRemoteStatusService.new.call(atom_url, body, protocol)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user