diff options
Diffstat (limited to 'internal/api/model')
-rw-r--r-- | internal/api/model/account.go | 24 | ||||
-rw-r--r-- | internal/api/model/attachment.go | 4 | ||||
-rw-r--r-- | internal/api/model/instancev1.go | 6 | ||||
-rw-r--r-- | internal/api/model/instancev2.go | 7 | ||||
-rw-r--r-- | internal/api/model/status.go | 3 |
5 files changed, 37 insertions, 7 deletions
diff --git a/internal/api/model/account.go b/internal/api/model/account.go index cf39dd08e..c5b629db0 100644 --- a/internal/api/model/account.go +++ b/internal/api/model/account.go @@ -110,17 +110,27 @@ type Account struct { // If set, indicates that this account is currently inactive, and has migrated to the given account. // Key/value omitted for accounts that haven't moved, and for suspended accounts. Moved *Account `json:"moved,omitempty"` +} - // Additional fields not exposed via JSON - // (used only internally for templating etc). +// WebAccount is like Account, but with +// additional fields not exposed via JSON; +// used only internally for templating etc. +// +// swagger:ignore +type WebAccount struct { + *Account // Proper attachment model for the avatar. // - // Only set if this model was converted via - // AccountToWebAccount, AND this account had - // an avatar set (and not just the default - // "blank" avatar image.) - AvatarAttachment *Attachment `json:"-"` + // Only set if this account had an avatar set + // (and not just the default "blank" image.) + AvatarAttachment *WebAttachment `json:"-"` + + // Proper attachment model for the header. + // + // Only set if this account had a header set + // (and not just the default "blank" image.) + HeaderAttachment *WebAttachment `json:"-"` } // MutedAccount extends Account with a field used only by the muted user list. diff --git a/internal/api/model/attachment.go b/internal/api/model/attachment.go index d0b0c81e5..21523a58e 100644 --- a/internal/api/model/attachment.go +++ b/internal/api/model/attachment.go @@ -107,6 +107,10 @@ type WebAttachment struct { // MIME type of // the attachment. MIMEType string + + // MIME type of + // the thumbnail. + PreviewMIMEType string } // MediaMeta models media metadata. diff --git a/internal/api/model/instancev1.go b/internal/api/model/instancev1.go index beb4f430d..efa6d6faa 100644 --- a/internal/api/model/instancev1.go +++ b/internal/api/model/instancev1.go @@ -85,6 +85,12 @@ type InstanceV1 struct { // MIME type of the instance thumbnail. // example: image/png ThumbnailType string `json:"thumbnail_type,omitempty"` + // URL of the static instance avatar/banner image. + // example: https://example.org/files/instance/static/thumbnail.webp + ThumbnailStatic string `json:"thumbnail_static,omitempty"` + // MIME type of the static instance thumbnail. + // example: image/webp + ThumbnailStaticType string `json:"thumbnail_static_type,omitempty"` // Description of the instance thumbnail. // example: picture of a cute lil' friendly sloth ThumbnailDescription string `json:"thumbnail_description,omitempty"` diff --git a/internal/api/model/instancev2.go b/internal/api/model/instancev2.go index fce801117..8d6873497 100644 --- a/internal/api/model/instancev2.go +++ b/internal/api/model/instancev2.go @@ -102,6 +102,13 @@ type InstanceV2Thumbnail struct { // Key/value not set if thumbnail image type unknown. // example: image/png Type string `json:"thumbnail_type,omitempty"` + // StaticURL version of the thumbnail image. + // example: https://example.org/fileserver/01BPSX2MKCRVMD4YN4D71G9CP5/attachment/static/01H88X0KQ2DFYYDSWYP93VDJZA.webp + StaticURL string `json:"static_url,omitempty"` + // MIME type of the instance thumbnail. + // Key/value not set if thumbnail image type unknown. + // example: image/png + StaticType string `json:"thumbnail_static_type,omitempty"` // Description of the instance thumbnail. // Key/value not set if no description available. // example: picture of a cute lil' friendly sloth diff --git a/internal/api/model/status.go b/internal/api/model/status.go index 7358916ab..b3ac746d7 100644 --- a/internal/api/model/status.go +++ b/internal/api/model/status.go @@ -113,6 +113,9 @@ type Status struct { type WebStatus struct { *Status + // Override API account with web account. + Account *WebAccount `json:"account"` + // Web version of media // attached to this status. MediaAttachments []*WebAttachment `json:"media_attachments"` |