Fix already-known remote private toots not being searchable by URL (#12336)
* Fix already-known remote private toots not being searchable by URL Whenever an URL search fails, and an account is provided, try getting a private status matching that URL from database. * Fix searching by `id` field instead of `uri`
This commit is contained in:
parent
823dcc4dc6
commit
0d5f3ae331
|
@ -24,6 +24,12 @@ class ResolveURLService < BaseService
|
|||
status = FetchRemoteStatusService.new.call(resource_url, body, protocol)
|
||||
authorize_with @on_behalf_of, status, :show? unless status.nil?
|
||||
status
|
||||
elsif fetched_resource.nil? && @on_behalf_of.present?
|
||||
# It may happen that the resource is a private toot, and thus not fetchable,
|
||||
# but we can return the toot if we already know about it.
|
||||
status = Status.find_by(uri: @url) || Status.find_by(url: @url)
|
||||
authorize_with @on_behalf_of, status, :show? unless status.nil?
|
||||
status
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Reference in New Issue