summaryrefslogtreecommitdiff
path: root/internal/api/model
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/model')
-rw-r--r--internal/api/model/account.go24
-rw-r--r--internal/api/model/attachment.go4
-rw-r--r--internal/api/model/instancev1.go6
-rw-r--r--internal/api/model/instancev2.go7
-rw-r--r--internal/api/model/status.go3
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"`