mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-24 03:03:33 -06:00
[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>
This commit is contained in:
parent
b6143c9ab8
commit
e8a04b7ce1
10 changed files with 160 additions and 73 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue