From 6f26b32ec3ed57ed3b04cba357abb9ee5060f229 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Thu, 6 Jun 2024 12:22:16 +0200 Subject: [PATCH] [bugfix] Don't nil emojis + fields on blocked accounts (#2968) * [bugfix] Don't nil emojis + fields on blocked accounts * comment * swagger --- docs/api/swagger.yaml | 8 ++++++-- internal/api/model/account.go | 2 ++ internal/typeutils/internaltofrontend.go | 4 ++++ internal/typeutils/internaltofrontend_test.go | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml index 050cf4c9b..5d93b33b1 100644 --- a/docs/api/swagger.yaml +++ b/docs/api/swagger.yaml @@ -223,7 +223,9 @@ definitions: type: string x-go-name: DisplayName emojis: - description: Array of custom emojis used in this account's note or display name. + description: |- + Array of custom emojis used in this account's note or display name. + Empty for blocked accounts. items: $ref: '#/definitions/emoji' type: array @@ -235,7 +237,9 @@ definitions: type: boolean x-go-name: EnableRSS fields: - description: Additional metadata attached to this account's profile. + description: |- + Additional metadata attached to this account's profile. + Empty for blocked accounts. items: $ref: '#/definitions/field' type: array diff --git a/internal/api/model/account.go b/internal/api/model/account.go index de850637e..a2f7b46b6 100644 --- a/internal/api/model/account.go +++ b/internal/api/model/account.go @@ -79,8 +79,10 @@ type Account struct { // example: 2021-07-30T09:20:25+00:00 LastStatusAt *string `json:"last_status_at"` // Array of custom emojis used in this account's note or display name. + // Empty for blocked accounts. Emojis []Emoji `json:"emojis"` // Additional metadata attached to this account's profile. + // Empty for blocked accounts. Fields []Field `json:"fields"` // Account has been suspended by our instance. Suspended bool `json:"suspended,omitempty"` diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index abe2cfaee..68db61128 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -368,6 +368,10 @@ func (c *Converter) AccountToAPIAccountBlocked(ctx context.Context, a *gtsmodel. Bot: *a.Bot, CreatedAt: util.FormatISO8601(a.CreatedAt), URL: a.URL, + // Empty array (not nillable). + Emojis: make([]apimodel.Emoji, 0), + // Empty array (not nillable). + Fields: make([]apimodel.Field, 0), Suspended: !a.SuspendedAt.IsZero(), Role: role, } diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go index 676870c7b..946e38b30 100644 --- a/internal/typeutils/internaltofrontend_test.go +++ b/internal/typeutils/internaltofrontend_test.go @@ -420,8 +420,8 @@ func (suite *InternalToFrontendTestSuite) TestLocalInstanceAccountToFrontendBloc "following_count": 0, "statuses_count": 0, "last_status_at": null, - "emojis": null, - "fields": null + "emojis": [], + "fields": [] }`, string(b)) }