From b4f7316a4cdf5ee2b43118aa6133a84a7ae4a5df Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 8 Nov 2022 18:11:06 +0100 Subject: [feature] Make instance thumbnail configurable via admin panel (#973) * [feature] Make instance thumbnail configurable via admin panel * log db errors in InstanceToAPIInstance * only update instance in db if necessary * start adding tests * finish test --- internal/typeutils/internaltofrontend.go | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'internal/typeutils/internaltofrontend.go') diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 7b4c3e8cc..e22813549 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -20,6 +20,7 @@ package typeutils import ( "context" + "errors" "fmt" "strings" @@ -665,12 +666,25 @@ func (c *converter) InstanceToAPIInstance(ctx context.Context, i *gtsmodel.Insta mi.AccountDomain = config.GetAccountDomain() if ia, err := c.db.GetInstanceAccount(ctx, ""); err == nil { - if ia.HeaderMediaAttachment != nil { - // take instance account header as instance thumbnail - mi.Thumbnail = ia.HeaderMediaAttachment.URL - } else { - // or just use a default - mi.Thumbnail = config.GetProtocol() + "://" + host + "/assets/logo.png" + // assume default logo + mi.Thumbnail = config.GetProtocol() + "://" + host + "/assets/logo.png" + + // take instance account avatar as instance thumbnail if we can + if ia.AvatarMediaAttachmentID != "" { + if ia.AvatarMediaAttachment == nil { + avi, err := c.db.GetAttachmentByID(ctx, ia.AvatarMediaAttachmentID) + if err == nil { + ia.AvatarMediaAttachment = avi + } else if !errors.Is(err, db.ErrNoEntries) { + log.Errorf("InstanceToAPIInstance: error getting instance avatar attachment with id %s: %s", ia.AvatarMediaAttachmentID, err) + } + } + + if ia.AvatarMediaAttachment != nil { + mi.Thumbnail = ia.AvatarMediaAttachment.URL + mi.ThumbnailType = ia.AvatarMediaAttachment.File.ContentType + mi.ThumbnailDescription = ia.AvatarMediaAttachment.Description + } } } -- cgit v1.2.3