Support creating Document attachments

In particular, this will support audio attachments.

Ref T872
This commit is contained in:
Matt Baer
2021-09-13 15:32:10 -04:00
parent fd1559928a
commit 8b45bd4fcc
2 changed files with 43 additions and 5 deletions
+19 -5
View File
@@ -14,20 +14,34 @@ type Attachment struct {
type AttachmentType string
const AttachImage AttachmentType = "Image"
const (
AttachImage AttachmentType = "Image"
AttachDocument AttachmentType = "Document"
)
// NewImageAttachment creates a new Attachment from the given URL, setting the
// correct type and automatically detecting the MediaType based on the file
// extension.
func NewImageAttachment(url string) Attachment {
var imgType string
return newAttachment(url, AttachImage)
}
// NewDocumentAttachment creates a new Attachment from the given URL, setting the
// correct type and automatically detecting the MediaType based on the file
// extension.
func NewDocumentAttachment(url string) Attachment {
return newAttachment(url, AttachDocument)
}
func newAttachment(url string, attachType AttachmentType) Attachment {
var fileType string
extIdx := strings.LastIndexByte(url, '.')
if extIdx > -1 {
imgType = mime.TypeByExtension(url[extIdx:])
fileType = mime.TypeByExtension(url[extIdx:])
}
return Attachment{
Type: AttachImage,
Type: attachType,
URL: url,
MediaType: imgType,
MediaType: fileType,
}
}