diff options
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 88646c311..1e5fb024f 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -77,7 +77,7 @@ func (c *converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmode Language: a.Language, StatusContentType: statusContentType, Note: a.NoteRaw, - Fields: apiAccount.Fields, + Fields: c.fieldsToAPIFields(a.FieldsRaw), FollowRequestsCount: frc, } @@ -131,7 +131,6 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A aviURLStatic string headerURL string headerURLStatic string - fields = make([]apimodel.Field, len(a.Fields)) ) if a.AvatarMediaAttachment != nil { @@ -144,19 +143,8 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A headerURLStatic = a.HeaderMediaAttachment.Thumbnail.URL } - // GTS model fields -> frontend. - for i, field := range a.Fields { - mField := apimodel.Field{ - Name: field.Name, - Value: field.Value, - } - - if !field.VerifiedAt.IsZero() { - mField.VerifiedAt = util.FormatISO8601(field.VerifiedAt) - } - - fields[i] = mField - } + // convert account gts model fields to front api model fields + fields := c.fieldsToAPIFields(a.Fields) // GTS model emojis -> frontend. apiEmojis, err := c.convertEmojisToAPIEmojis(ctx, a.Emojis, a.EmojiIDs) @@ -239,6 +227,25 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A return accountFrontend, nil } +func (c *converter) fieldsToAPIFields(f []*gtsmodel.Field) []apimodel.Field { + fields := make([]apimodel.Field, len(f)) + + for i, field := range f { + mField := apimodel.Field{ + Name: field.Name, + Value: field.Value, + } + + if !field.VerifiedAt.IsZero() { + mField.VerifiedAt = func() *string { s := util.FormatISO8601(field.VerifiedAt); return &s }() + } + + fields[i] = mField + } + + return fields +} + func (c *converter) AccountToAPIAccountBlocked(ctx context.Context, a *gtsmodel.Account) (*apimodel.Account, error) { var ( acct string |