From e8a04b7ce1fdb31febca7894229247207369bc85 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 20 Feb 2023 17:00:44 +0100 Subject: [bugfix] Fix account roles (#1542) * Change account role from string to object * Update tests * small fixes + swagger docs --------- Co-authored-by: zowhoey <11893985+zowhoey@users.noreply.github.com> --- internal/typeutils/internaltofrontend.go | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'internal/typeutils/internaltofrontend.go') 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, -- cgit v1.2.3