summaryrefslogtreecommitdiff
path: root/internal/typeutils/internaltofrontend.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r--internal/typeutils/internaltofrontend.go37
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