[5.x] Private asset container url method should return null #10769
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was always the intention, but it didn't.
Doing
$asset->url()
on a private asset would already returnnull
, it's just calling on the container itself that had the issue.This was discovered by doing
Asset::findByUrl($url)
and having a private S3 container.cms/src/Assets/AssetRepository.php
Lines 75 to 83 in a9f4e41
It would loop through all containers, get their urls, and figure out a matching container. When you had a private s3 container, getting its URL here would throw an exception. Now since it returns null the exception is avoided. The private container is skipped in findByUrl as expected, since they don't have URLs.