DEV: Expand UploadMarkdown generation capabilities (#15930)

The chat quoting mechanism will need to be able to generate
markdown for all kinds of uploads. The UploadMarkdown class
was missing generation for video and audio uploads. This
commit adds that in, and also expands the server-side regex
recognition of FileHelper types to match those in uploads.js,
and adds a spec for UploadMarkdown
This commit is contained in:
Martin Brennan
2022-02-14 15:48:27 +10:00
committed by GitHub
parent fbf0345512
commit 4b4f2330da
4 changed files with 75 additions and 3 deletions

View File

@@ -8,6 +8,8 @@ class UploadMarkdown
def to_markdown(display_name: nil)
if FileHelper.is_supported_image?(@upload.original_filename)
image_markdown
elsif FileHelper.is_supported_playable_media?(@upload.original_filename)
playable_media_markdown
else
attachment_markdown(display_name: display_name)
end
@@ -23,4 +25,15 @@ class UploadMarkdown
"[#{display_name}|attachment](#{@upload.short_url})#{human_filesize}"
end
def playable_media_markdown
type = \
if FileHelper.is_supported_audio?(@upload.original_filename)
"audio"
elsif FileHelper.is_supported_video?(@upload.original_filename)
"video"
end
return attachment_markdown if !type
"![#{@upload.original_filename}|#{type}](#{@upload.short_url})"
end
end