diff options
Diffstat (limited to 'internal/typeutils')
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 20 | ||||
-rw-r--r-- | internal/typeutils/internaltofrontend_test.go | 76 |
2 files changed, 66 insertions, 30 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 6e6bc381e..40837ad6b 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -167,10 +167,8 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A log.Errorf(ctx, "error converting account emojis: %v", err) } - var ( - acct string - role = apimodel.AccountRoleUnknown - ) + var acct string + var role *apimodel.AccountRole if a.Domain != "" { // this is a remote user @@ -185,11 +183,11 @@ func (c *converter) AccountToAPIAccountPublic(ctx context.Context, a *gtsmodel.A switch { case *user.Admin: - role = apimodel.AccountRoleAdmin + role = &apimodel.AccountRole{Name: apimodel.AccountRoleAdmin} case *user.Moderator: - role = apimodel.AccountRoleModerator + role = &apimodel.AccountRole{Name: apimodel.AccountRoleModerator} default: - role = apimodel.AccountRoleUser + role = &apimodel.AccountRole{Name: apimodel.AccountRoleUser} } } @@ -270,7 +268,7 @@ func (c *converter) AccountToAdminAPIAccount(ctx context.Context, a *gtsmodel.Ac disabled bool silenced bool suspended bool - role apimodel.AccountRole = apimodel.AccountRoleUser // assume user by default + role = apimodel.AccountRole{Name: apimodel.AccountRoleUser} // assume user by default createdByApplicationID string ) @@ -296,9 +294,9 @@ func (c *converter) AccountToAdminAPIAccount(ctx context.Context, a *gtsmodel.Ac locale = user.Locale inviteRequest = &user.Account.Reason if *user.Admin { - role = apimodel.AccountRoleAdmin + role.Name = apimodel.AccountRoleAdmin } else if *user.Moderator { - role = apimodel.AccountRoleModerator + role.Name = apimodel.AccountRoleModerator } confirmed = !user.ConfirmedAt.IsZero() approved = *user.Approved @@ -323,7 +321,7 @@ func (c *converter) AccountToAdminAPIAccount(ctx context.Context, a *gtsmodel.Ac IPs: []interface{}{}, // not implemented, Locale: locale, InviteRequest: inviteRequest, - Role: string(role), + Role: role, Confirmed: confirmed, Approved: approved, Disabled: disabled, diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go index 5599e4e88..f82fd8cb5 100644 --- a/internal/typeutils/internaltofrontend_test.go +++ b/internal/typeutils/internaltofrontend_test.go @@ -63,7 +63,9 @@ func (suite *InternalToFrontendTestSuite) TestAccountToFrontend() { "emojis": [], "fields": [], "enable_rss": true, - "role": "user" + "role": { + "name": "user" + } }`, string(b)) } @@ -109,7 +111,9 @@ func (suite *InternalToFrontendTestSuite) TestAccountToFrontendWithEmojiStruct() ], "fields": [], "enable_rss": true, - "role": "user" + "role": { + "name": "user" + } }`, string(b)) } @@ -155,7 +159,9 @@ func (suite *InternalToFrontendTestSuite) TestAccountToFrontendWithEmojiIDs() { ], "fields": [], "enable_rss": true, - "role": "user" + "role": { + "name": "user" + } }`, string(b)) } @@ -198,7 +204,9 @@ func (suite *InternalToFrontendTestSuite) TestAccountToFrontendSensitive() { "follow_requests_count": 0 }, "enable_rss": true, - "role": "user" + "role": { + "name": "user" + } }`, string(b)) } @@ -258,7 +266,9 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontend() { "emojis": [], "fields": [], "enable_rss": true, - "role": "admin" + "role": { + "name": "admin" + } }, "media_attachments": [ { @@ -371,7 +381,9 @@ func (suite *InternalToFrontendTestSuite) TestStatusToFrontendUnknownLanguage() "emojis": [], "fields": [], "enable_rss": true, - "role": "admin" + "role": { + "name": "admin" + } }, "media_attachments": [ { @@ -553,7 +565,9 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV1ToFrontend() { "emojis": [], "fields": [], "enable_rss": true, - "role": "admin" + "role": { + "name": "admin" + } }, "max_toot_chars": 5000 }`, string(b)) @@ -660,7 +674,9 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() { "emojis": [], "fields": [], "enable_rss": true, - "role": "admin" + "role": { + "name": "admin" + } } }, "rules": [] @@ -811,7 +827,9 @@ func (suite *InternalToFrontendTestSuite) TestReportToFrontend2() { "last_status_at": "2021-10-20T10:40:37.000Z", "emojis": [], "fields": [], - "role": "user" + "role": { + "name": "user" + } } }`, string(b)) } @@ -843,7 +861,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "ips": [], "locale": "", "invite_request": null, - "role": "user", + "role": { + "name": "user" + }, "confirmed": false, "approved": false, "disabled": false, @@ -882,7 +902,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "ips": [], "locale": "en", "invite_request": "", - "role": "user", + "role": { + "name": "user" + }, "confirmed": true, "approved": true, "disabled": false, @@ -909,7 +931,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "last_status_at": "2021-10-20T10:40:37.000Z", "emojis": [], "fields": [], - "role": "user" + "role": { + "name": "user" + } }, "created_by_application_id": "01F8MGY43H3N2C8EWPR2FPYEXG" }, @@ -923,7 +947,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "ips": [], "locale": "en", "invite_request": "", - "role": "admin", + "role": { + "name": "admin" + }, "confirmed": true, "approved": true, "disabled": false, @@ -951,7 +977,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "emojis": [], "fields": [], "enable_rss": true, - "role": "admin" + "role": { + "name": "admin" + } }, "created_by_application_id": "01F8MGXQRHYF5QPMTMXP78QC2F" }, @@ -965,7 +993,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "ips": [], "locale": "en", "invite_request": "", - "role": "admin", + "role": { + "name": "admin" + }, "confirmed": true, "approved": true, "disabled": false, @@ -993,7 +1023,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend1() { "emojis": [], "fields": [], "enable_rss": true, - "role": "admin" + "role": { + "name": "admin" + } }, "created_by_application_id": "01F8MGXQRHYF5QPMTMXP78QC2F" }, @@ -1030,7 +1062,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() { "ips": [], "locale": "en", "invite_request": "", - "role": "user", + "role": { + "name": "user" + }, "confirmed": true, "approved": true, "disabled": false, @@ -1057,7 +1091,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() { "last_status_at": "2021-10-20T10:40:37.000Z", "emojis": [], "fields": [], - "role": "user" + "role": { + "name": "user" + } }, "created_by_application_id": "01F8MGY43H3N2C8EWPR2FPYEXG" }, @@ -1071,7 +1107,9 @@ func (suite *InternalToFrontendTestSuite) TestAdminReportToFrontend2() { "ips": [], "locale": "", "invite_request": null, - "role": "user", + "role": { + "name": "user" + }, "confirmed": false, "approved": false, "disabled": false, |