summaryrefslogtreecommitdiff
path: root/internal/api/client/instance
diff options
context:
space:
mode:
authorLibravatar Vyr Cossont <VyrCossont@users.noreply.github.com>2024-07-31 09:26:09 -0700
committerLibravatar GitHub <noreply@github.com>2024-07-31 09:26:09 -0700
commitfd837776e2aaf30f4ea973d65c9dfe0979988371 (patch)
treec2853d4bab55e1eccd91cbf48df4dd6279bc72d7 /internal/api/client/instance
parent[docs] Update system requirements, move things around a bit (#3157) (diff)
downloadgotosocial-fd837776e2aaf30f4ea973d65c9dfe0979988371.tar.xz
[feature] Implement Mastodon-compatible roles (#3136)
* Implement Mastodon-compatible roles - `Account.role` should only be available through verify_credentials for checking current user's permissions - `Account.role` now carries a Mastodon-compatible permissions bitmap and a marker for whether it should be shown to the public - `Account.roles` added for *public* display roles (undocumented but stable since Mastodon 4.1) - Web template now uses only public display roles (no user-visible change here, we already special-cased the `user` role) * Handle verify_credentials case for default role * Update JSON exact-match tests * Address review comments * Add blocks bit to admin permissions bitmap
Diffstat (limited to 'internal/api/client/instance')
-rw-r--r--internal/api/client/instance/instancepatch_test.go60
1 files changed, 42 insertions, 18 deletions
diff --git a/internal/api/client/instance/instancepatch_test.go b/internal/api/client/instance/instancepatch_test.go
index 095e2e543..f12638f82 100644
--- a/internal/api/client/instance/instancepatch_test.go
+++ b/internal/api/client/instance/instancepatch_test.go
@@ -176,9 +176,13 @@ func (suite *InstancePatchTestSuite) TestInstancePatch1() {
"emojis": [],
"fields": [],
"enable_rss": true,
- "role": {
- "name": "admin"
- }
+ "roles": [
+ {
+ "id": "admin",
+ "name": "admin",
+ "color": ""
+ }
+ ]
},
"max_toot_chars": 5000,
"rules": [
@@ -312,9 +316,13 @@ func (suite *InstancePatchTestSuite) TestInstancePatch2() {
"emojis": [],
"fields": [],
"enable_rss": true,
- "role": {
- "name": "admin"
- }
+ "roles": [
+ {
+ "id": "admin",
+ "name": "admin",
+ "color": ""
+ }
+ ]
},
"max_toot_chars": 5000,
"rules": [
@@ -448,9 +456,13 @@ func (suite *InstancePatchTestSuite) TestInstancePatch3() {
"emojis": [],
"fields": [],
"enable_rss": true,
- "role": {
- "name": "admin"
- }
+ "roles": [
+ {
+ "id": "admin",
+ "name": "admin",
+ "color": ""
+ }
+ ]
},
"max_toot_chars": 5000,
"rules": [
@@ -635,9 +647,13 @@ func (suite *InstancePatchTestSuite) TestInstancePatch6() {
"emojis": [],
"fields": [],
"enable_rss": true,
- "role": {
- "name": "admin"
- }
+ "roles": [
+ {
+ "id": "admin",
+ "name": "admin",
+ "color": ""
+ }
+ ]
},
"max_toot_chars": 5000,
"rules": [
@@ -797,9 +813,13 @@ func (suite *InstancePatchTestSuite) TestInstancePatch8() {
"emojis": [],
"fields": [],
"enable_rss": true,
- "role": {
- "name": "admin"
- }
+ "roles": [
+ {
+ "id": "admin",
+ "name": "admin",
+ "color": ""
+ }
+ ]
},
"max_toot_chars": 5000,
"rules": [
@@ -970,9 +990,13 @@ func (suite *InstancePatchTestSuite) TestInstancePatch9() {
"emojis": [],
"fields": [],
"enable_rss": true,
- "role": {
- "name": "admin"
- }
+ "roles": [
+ {
+ "id": "admin",
+ "name": "admin",
+ "color": ""
+ }
+ ]
},
"max_toot_chars": 5000,
"rules": [