1. 17 May, 2019 1 commit
    • Stan Hu's avatar
      Fix incorrect prefix used in new uploads for personal snippets · a1f44c1b
      Stan Hu authored
      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
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/61671
      a1f44c1b
  2. 16 May, 2019 39 commits