diff options
| author | 2025-10-13 19:15:24 +0200 | |
|---|---|---|
| committer | 2025-10-17 15:33:15 +0200 | |
| commit | c99b89f780f9d561ac0fbc2acf61291006396071 (patch) | |
| tree | 646b04daea29d2b0ffa33bbc2181ebba0ceffb29 /web/source/settings/lib | |
| parent | [docs] Document setting `OTEL_EXPORTER_PROMETHEUS_HOST` for Docker (#4498) (diff) | |
| download | gotosocial-c99b89f780f9d561ac0fbc2acf61291006396071.tar.xz | |
[feature] granular admin scopes for custom emojis (#4489)
This PR adds admin equivalents of the `read:custom_emojis` OAuth scope: `admin:read:custom_emojis` and `admin:write:custom_emojis`.
This is so tools which only touch emojis can run without other admin permissions. (`slurp emojis import` is one such tool.)
I've also sorted the admin section of the scopes lists alphabetically like the non-admin section, and updated the Swagger test script to print the same command path that it actually runs.
## API compatibility
Neither [Mastodon](https://docs.joinmastodon.org/api/oauth-scopes/) nor Akkoma nor Iceshrimp.NET has an equivalent scope, so there are no alternate scope names to worry about.
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4489
Co-authored-by: Vyr Cossont <vyr@noreply.codeberg.org>
Co-committed-by: Vyr Cossont <vyr@noreply.codeberg.org>
Diffstat (limited to 'web/source/settings/lib')
| -rw-r--r-- | web/source/settings/lib/types/scopes.ts | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/web/source/settings/lib/types/scopes.ts b/web/source/settings/lib/types/scopes.ts index 2bf5c21b4..c307bff21 100644 --- a/web/source/settings/lib/types/scopes.ts +++ b/web/source/settings/lib/types/scopes.ts @@ -24,6 +24,7 @@ const scopeApplications = "applications"; const scopeBlocks = "blocks"; const scopeBookmarks = "bookmarks"; const scopeConversations = "conversations"; +const scopeCustomEmojis = "custom_emojis"; const scopeDomainAllows = "domain_allows"; const scopeDomainBlocks = "domain_blocks"; const scopeFavourites = "favourites"; @@ -58,6 +59,7 @@ export const ScopeWriteBlocks = ScopeWrite + ":" + scopeBlocks; export const ScopeReadBookmarks = ScopeRead + ":" + scopeBookmarks; export const ScopeWriteBookmarks = ScopeWrite + ":" + scopeBookmarks; export const ScopeWriteConversations = ScopeWrite + ":" + scopeConversations; +export const ScopeReadCustomEmojis = ScopeRead + ":" + scopeCustomEmojis; export const ScopeReadFavourites = ScopeRead + ":" + scopeFavourites; export const ScopeWriteFavourites = ScopeWrite + ":" + scopeFavourites; export const ScopeReadFilters = ScopeRead + ":" + scopeFilters; @@ -77,12 +79,14 @@ export const ScopeReadStatuses = ScopeRead + ":" + scopeStatuses; export const ScopeWriteStatuses = ScopeWrite + ":" + scopeStatuses; export const ScopeAdminReadAccounts = ScopeAdminRead + ":" + scopeAccounts; export const ScopeAdminWriteAccounts = ScopeAdminWrite + ":" + scopeAccounts; -export const ScopeAdminReadReports = ScopeAdminRead + ":" + scopeReports; -export const ScopeAdminWriteReports = ScopeAdminWrite + ":" + scopeReports; +export const ScopeAdminReadCustomEmojis = ScopeAdminRead + ":" + scopeCustomEmojis; +export const ScopeAdminWriteCustomEmojis = ScopeAdminWrite + ":" + scopeCustomEmojis; export const ScopeAdminReadDomainAllows = ScopeAdminRead + ":" + scopeDomainAllows; export const ScopeAdminWriteDomainAllows = ScopeAdminWrite + ":" + scopeDomainAllows; export const ScopeAdminReadDomainBlocks = ScopeAdminRead + ":" + scopeDomainBlocks; export const ScopeAdminWriteDomainBlocks = ScopeAdminWrite + ":" + scopeDomainBlocks; +export const ScopeAdminReadReports = ScopeAdminRead + ":" + scopeReports; +export const ScopeAdminWriteReports = ScopeAdminWrite + ":" + scopeReports; export const ValidScopes = [ ScopeProfile, @@ -101,6 +105,7 @@ export const ValidScopes = [ ScopeReadBookmarks, ScopeWriteBookmarks, ScopeWriteConversations, + ScopeReadCustomEmojis, ScopeReadFavourites, ScopeWriteFavourites, ScopeReadFilters, @@ -120,12 +125,14 @@ export const ValidScopes = [ ScopeWriteStatuses, ScopeAdminReadAccounts, ScopeAdminWriteAccounts, - ScopeAdminReadReports, - ScopeAdminWriteReports, + ScopeAdminReadCustomEmojis, + ScopeAdminWriteCustomEmojis, ScopeAdminReadDomainAllows, ScopeAdminWriteDomainAllows, ScopeAdminReadDomainBlocks, ScopeAdminWriteDomainBlocks, + ScopeAdminReadReports, + ScopeAdminWriteReports, ]; export const ValidTopLevelScopes = [ |
