DEV: Make site setting type uploaded_image_list use upload IDs (#10401)

It used to be a list of concatenated upload URLs which was prone to
break.
This commit is contained in:
Bianca Nenciu
2020-10-13 16:17:06 +03:00
committed by GitHub
parent a73fd4227f
commit 25b8ed740b
23 changed files with 213 additions and 124 deletions

View File

@@ -44,5 +44,29 @@ module HasUrl
result || self.find_by("url LIKE ?", "%#{data[1]}")
end
def get_from_urls(upload_urls)
urls = []
sha1s = []
upload_urls.each do |url|
next if url.blank?
uri = begin
URI(UrlHelper.unencode(url))
rescue URI::Error
end
next if uri&.path.blank?
urls << uri.path
if data = extract_url(uri.path).presence
urls << data[1]
sha1s << data[2] if self.name == "Upload"
end
end
self.where(url: urls).or(self.where(sha1: sha1s))
end
end
end