summaryrefslogtreecommitdiff
path: root/internal/processing
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-02-04 15:53:11 +0100
committerLibravatar GitHub <noreply@github.com>2023-02-04 15:53:11 +0100
commit80c26d61f75ca739e6071cc25b594033face3aa1 (patch)
treef272060d7bb0aea61a284b8d22e8dea3c84d05ca /internal/processing
parent[bugfix] Fix password change keys (#1416) (diff)
downloadgotosocial-80c26d61f75ca739e6071cc25b594033face3aa1.tar.xz
[bugfix] Allow instance thumbnail description to be set separately from image (#1417)
Diffstat (limited to 'internal/processing')
-rw-r--r--internal/processing/instance.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/internal/processing/instance.go b/internal/processing/instance.go
index f05d83052..8cc7eaa64 100644
--- a/internal/processing/instance.go
+++ b/internal/processing/instance.go
@@ -221,8 +221,8 @@ func (p *processor) InstancePatch(ctx context.Context, form *apimodel.InstanceSe
var updateInstanceAccount bool
- // process instance avatar if provided
if form.Avatar != nil && form.Avatar.Size != 0 {
+ // process instance avatar image + description
avatarInfo, err := p.accountProcessor.UpdateAvatar(ctx, form.Avatar, form.AvatarDescription, ia.ID)
if err != nil {
return nil, gtserror.NewErrorBadRequest(err, "error processing avatar")
@@ -230,10 +230,16 @@ func (p *processor) InstancePatch(ctx context.Context, form *apimodel.InstanceSe
ia.AvatarMediaAttachmentID = avatarInfo.ID
ia.AvatarMediaAttachment = avatarInfo
updateInstanceAccount = true
+ } else if form.AvatarDescription != nil && ia.AvatarMediaAttachment != nil {
+ // process just the description for the existing avatar
+ ia.AvatarMediaAttachment.Description = *form.AvatarDescription
+ if err := p.db.UpdateByID(ctx, ia.AvatarMediaAttachment, ia.AvatarMediaAttachmentID, "description"); err != nil {
+ return nil, gtserror.NewErrorInternalError(fmt.Errorf("db error updating instance avatar description: %s", err))
+ }
}
- // process instance header if provided
if form.Header != nil && form.Header.Size != 0 {
+ // process instance header image
headerInfo, err := p.accountProcessor.UpdateHeader(ctx, form.Header, nil, ia.ID)
if err != nil {
return nil, gtserror.NewErrorBadRequest(err, "error processing header")