diff options
author | 2022-01-25 12:03:25 +0100 | |
---|---|---|
committer | 2022-01-25 12:03:25 +0100 | |
commit | 5d9e9e0e7f7e026677e843a5897283faecfb2874 (patch) | |
tree | f6809b9abfa4cbc52c197fcaa8caa44455594e7d /internal/typeutils/internaltoas.go | |
parent | only update account in db if changed (diff) | |
download | gotosocial-5d9e9e0e7f7e026677e843a5897283faecfb2874.tar.xz |
fix up some account conversion logic
Diffstat (limited to 'internal/typeutils/internaltoas.go')
-rw-r--r-- | internal/typeutils/internaltoas.go | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/internal/typeutils/internaltoas.go b/internal/typeutils/internaltoas.go index b3aaafff0..8e28bf0f0 100644 --- a/internal/typeutils/internaltoas.go +++ b/internal/typeutils/internaltoas.go @@ -215,62 +215,64 @@ func (c *converter) AccountToAS(ctx context.Context, a *gtsmodel.Account) (vocab // Used as profile avatar. if a.AvatarMediaAttachmentID != "" { if a.AvatarMediaAttachment == nil { - avatar := >smodel.MediaAttachment{} - if err := c.db.GetByID(ctx, a.AvatarMediaAttachmentID, avatar); err != nil { - return nil, err + avatar, err := c.db.GetAttachmentByID(ctx, a.AvatarMediaAttachmentID) + if err == nil { + a.AvatarMediaAttachment = avatar } - a.AvatarMediaAttachment = avatar } - iconProperty := streams.NewActivityStreamsIconProperty() + if a.AvatarMediaAttachment != nil { + iconProperty := streams.NewActivityStreamsIconProperty() - iconImage := streams.NewActivityStreamsImage() + iconImage := streams.NewActivityStreamsImage() - mediaType := streams.NewActivityStreamsMediaTypeProperty() - mediaType.Set(a.AvatarMediaAttachment.File.ContentType) - iconImage.SetActivityStreamsMediaType(mediaType) + mediaType := streams.NewActivityStreamsMediaTypeProperty() + mediaType.Set(a.AvatarMediaAttachment.File.ContentType) + iconImage.SetActivityStreamsMediaType(mediaType) - avatarURLProperty := streams.NewActivityStreamsUrlProperty() - avatarURL, err := url.Parse(a.AvatarMediaAttachment.URL) - if err != nil { - return nil, err - } - avatarURLProperty.AppendIRI(avatarURL) - iconImage.SetActivityStreamsUrl(avatarURLProperty) + avatarURLProperty := streams.NewActivityStreamsUrlProperty() + avatarURL, err := url.Parse(a.AvatarMediaAttachment.URL) + if err != nil { + return nil, err + } + avatarURLProperty.AppendIRI(avatarURL) + iconImage.SetActivityStreamsUrl(avatarURLProperty) - iconProperty.AppendActivityStreamsImage(iconImage) - person.SetActivityStreamsIcon(iconProperty) + iconProperty.AppendActivityStreamsImage(iconImage) + person.SetActivityStreamsIcon(iconProperty) + } } // image // Used as profile header. if a.HeaderMediaAttachmentID != "" { if a.HeaderMediaAttachment == nil { - header := >smodel.MediaAttachment{} - if err := c.db.GetByID(ctx, a.HeaderMediaAttachmentID, header); err != nil { - return nil, err + header, err := c.db.GetAttachmentByID(ctx, a.HeaderMediaAttachmentID) + if err == nil { + a.HeaderMediaAttachment = header } - a.HeaderMediaAttachment = header } - headerProperty := streams.NewActivityStreamsImageProperty() + if a.HeaderMediaAttachment != nil { + headerProperty := streams.NewActivityStreamsImageProperty() - headerImage := streams.NewActivityStreamsImage() + headerImage := streams.NewActivityStreamsImage() - mediaType := streams.NewActivityStreamsMediaTypeProperty() - mediaType.Set(a.HeaderMediaAttachment.File.ContentType) - headerImage.SetActivityStreamsMediaType(mediaType) + mediaType := streams.NewActivityStreamsMediaTypeProperty() + mediaType.Set(a.HeaderMediaAttachment.File.ContentType) + headerImage.SetActivityStreamsMediaType(mediaType) - headerURLProperty := streams.NewActivityStreamsUrlProperty() - headerURL, err := url.Parse(a.HeaderMediaAttachment.URL) - if err != nil { - return nil, err - } - headerURLProperty.AppendIRI(headerURL) - headerImage.SetActivityStreamsUrl(headerURLProperty) + headerURLProperty := streams.NewActivityStreamsUrlProperty() + headerURL, err := url.Parse(a.HeaderMediaAttachment.URL) + if err != nil { + return nil, err + } + headerURLProperty.AppendIRI(headerURL) + headerImage.SetActivityStreamsUrl(headerURLProperty) - headerProperty.AppendActivityStreamsImage(headerImage) - person.SetActivityStreamsImage(headerProperty) + headerProperty.AppendActivityStreamsImage(headerImage) + person.SetActivityStreamsImage(headerProperty) + } } return person, nil |