Fix incorrect prefix used in new uploads for personal snippets
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24550 fixed the
case where the wrong path on disk was being searched, but it
inadvertently ommitted the /uploads/-/system
prefix when rendering
the Markdown for personal snippet uploads when they were stored directly in object storage.
A personal snippet path is stored using FileUploader#upload_path
.
The format for the path:
- Local storage:
:random_hex/:filename
. - Object storage:
personal_snippet/:id/:random_hex/:filename
.
upload_paths
represent the possible paths for a given identifier,
which will vary depending on whether the file is stored in local or
object storage. upload_path
should match an element in upload_paths
.
base_dir
represents the path seen by the user in Markdown, and it
should always be prefixed with uploads/-/system
.
store_dirs
represent the paths that are actually used on disk. For
object storage, this should omit the prefix /uploads/-/system
.
For example, consider the requested path
/uploads/-/system/personal_snippet/172/ff4ad5c2/file.png
.
For local storage:
-
base_dir
:uploads/-/system/personal_snippet/172
-
upload_path
:ff4ad5c2/file.png
-
upload_paths
:["ff4ad5c2/file.png", "personal_snippet/172/ff4ad5c2/file.png"]
-
store_dirs
:{1=>"uploads/-/system/personal_snippet/172/ff4ad5c2", 2=>"personal_snippet/172/ff4ad5c2"}
For object storage:
-
upload_path
:personal_snippet/172/ff4ad5c2/file.png