summaryrefslogtreecommitdiff
path: root/internal/typeutils/internaltoas.go
diff options
context:
space:
mode:
authorLibravatar tsmethurst <tobi.smethurst@protonmail.com>2022-01-25 12:03:25 +0100
committerLibravatar tsmethurst <tobi.smethurst@protonmail.com>2022-01-25 12:03:25 +0100
commit5d9e9e0e7f7e026677e843a5897283faecfb2874 (patch)
treef6809b9abfa4cbc52c197fcaa8caa44455594e7d /internal/typeutils/internaltoas.go
parentonly update account in db if changed (diff)
downloadgotosocial-5d9e9e0e7f7e026677e843a5897283faecfb2874.tar.xz
fix up some account conversion logic
Diffstat (limited to 'internal/typeutils/internaltoas.go')
-rw-r--r--internal/typeutils/internaltoas.go74
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 := &gtsmodel.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 := &gtsmodel.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