diff options
Diffstat (limited to 'internal/gtsmodel')
-rw-r--r-- | internal/gtsmodel/emoji.go | 15 | ||||
-rw-r--r-- | internal/gtsmodel/mediaattachment.go | 32 |
2 files changed, 27 insertions, 20 deletions
diff --git a/internal/gtsmodel/emoji.go b/internal/gtsmodel/emoji.go index b377b1440..c80e98ecb 100644 --- a/internal/gtsmodel/emoji.go +++ b/internal/gtsmodel/emoji.go @@ -30,19 +30,18 @@ type Emoji struct { ImageStaticRemoteURL string `bun:",nullzero"` // Where can a static / non-animated version of this emoji be retrieved remotely? Null for local emojis. ImageURL string `bun:",nullzero"` // Where can this emoji be retrieved from the local server? Null for remote emojis. ImageStaticURL string `bun:",nullzero"` // Where can a static version of this emoji be retrieved from the local server? Null for remote emojis. - ImagePath string `bun:",nullzero,notnull"` // Path of the emoji image in the server storage system. - ImageStaticPath string `bun:",nullzero,notnull"` // Path of a static version of the emoji image in the server storage system - ImageContentType string `bun:",nullzero,notnull"` // MIME content type of the emoji image - ImageStaticContentType string `bun:",nullzero,notnull"` // MIME content type of the static version of the emoji image. - ImageFileSize int `bun:",nullzero,notnull"` // Size of the emoji image file in bytes, for serving purposes. - ImageStaticFileSize int `bun:",nullzero,notnull"` // Size of the static version of the emoji image file in bytes, for serving purposes. - ImageUpdatedAt time.Time `bun:"type:timestamptz,nullzero,notnull,default:current_timestamp"` // When was the emoji image last updated? + ImagePath string `bun:",notnull"` // Path of the emoji image in the server storage system. + ImageStaticPath string `bun:",notnull"` // Path of a static version of the emoji image in the server storage system + ImageContentType string `bun:",notnull"` // MIME content type of the emoji image + ImageStaticContentType string `bun:",notnull"` // MIME content type of the static version of the emoji image. + ImageFileSize int `bun:",notnull"` // Size of the emoji image file in bytes, for serving purposes. + ImageStaticFileSize int `bun:",notnull"` // Size of the static version of the emoji image file in bytes, for serving purposes. Disabled *bool `bun:",nullzero,notnull,default:false"` // Has a moderation action disabled this emoji from being shown? URI string `bun:",nullzero,notnull,unique"` // ActivityPub uri of this emoji. Something like 'https://example.org/emojis/1234' VisibleInPicker *bool `bun:",nullzero,notnull,default:true"` // Is this emoji visible in the admin emoji picker? Category *EmojiCategory `bun:"rel:belongs-to"` // In which emoji category is this emoji visible? CategoryID string `bun:"type:CHAR(26),nullzero"` // ID of the category this emoji belongs to. - Cached *bool `bun:",nullzero,notnull,default:false"` + Cached *bool `bun:",nullzero,notnull,default:false"` // whether emoji is cached in locally in gotosocial storage. } // IsLocal returns true if the emoji is diff --git a/internal/gtsmodel/mediaattachment.go b/internal/gtsmodel/mediaattachment.go index f18589f85..471a5abd1 100644 --- a/internal/gtsmodel/mediaattachment.go +++ b/internal/gtsmodel/mediaattachment.go @@ -30,8 +30,8 @@ type MediaAttachment struct { StatusID string `bun:"type:CHAR(26),nullzero"` // ID of the status to which this is attached URL string `bun:",nullzero"` // Where can the attachment be retrieved on *this* server RemoteURL string `bun:",nullzero"` // Where can the attachment be retrieved on a remote server (empty for local media) - Type FileType `bun:",nullzero,notnull"` // Type of file (image/gifv/audio/video/unknown) - FileMeta FileMeta `bun:",embed:,nullzero,notnull"` // Metadata about the file + Type FileType `bun:",notnull"` // Type of file (image/gifv/audio/video/unknown) + FileMeta FileMeta `bun:",embed:,notnull"` // Metadata about the file AccountID string `bun:"type:CHAR(26),nullzero,notnull"` // To which account does this attachment belong Description string `bun:""` // Description of the attachment (for screenreaders) ScheduledStatusID string `bun:"type:CHAR(26),nullzero"` // To which scheduled status does this attachment belong @@ -44,22 +44,30 @@ type MediaAttachment struct { Cached *bool `bun:",nullzero,notnull,default:false"` // Is this attachment currently cached by our instance? } +// IsLocal returns whether media attachment is local. +func (m *MediaAttachment) IsLocal() bool { + return m.RemoteURL == "" +} + +// IsRemote returns whether media attachment is remote. +func (m *MediaAttachment) IsRemote() bool { + return m.RemoteURL != "" +} + // File refers to the metadata for the whole file type File struct { - Path string `bun:",nullzero,notnull"` // Path of the file in storage. - ContentType string `bun:",nullzero,notnull"` // MIME content type of the file. - FileSize int `bun:",notnull"` // File size in bytes - UpdatedAt time.Time `bun:"type:timestamptz,nullzero,notnull,default:current_timestamp"` // When was the file last updated. + Path string `bun:",notnull"` // Path of the file in storage. + ContentType string `bun:",notnull"` // MIME content type of the file. + FileSize int `bun:",notnull"` // File size in bytes } // Thumbnail refers to a small image thumbnail derived from a larger image, video, or audio file. type Thumbnail struct { - Path string `bun:",nullzero,notnull"` // Path of the file in storage. - ContentType string `bun:",nullzero,notnull"` // MIME content type of the file. - FileSize int `bun:",notnull"` // File size in bytes - UpdatedAt time.Time `bun:"type:timestamptz,nullzero,notnull,default:current_timestamp"` // When was the file last updated. - URL string `bun:",nullzero"` // What is the URL of the thumbnail on the local server - RemoteURL string `bun:",nullzero"` // What is the remote URL of the thumbnail (empty for local media) + Path string `bun:",notnull"` // Path of the file in storage. + ContentType string `bun:",notnull"` // MIME content type of the file. + FileSize int `bun:",notnull"` // File size in bytes + URL string `bun:",nullzero"` // What is the URL of the thumbnail on the local server + RemoteURL string `bun:",nullzero"` // What is the remote URL of the thumbnail (empty for local media) } // ProcessingStatus refers to how far along in the processing stage the attachment is. |