Add the preference scopes

This commit is contained in:
envoyr committed 2026-11-06 19:26:15 +00:00
1 parent d76095cc94
commit 11ff83e40d
2 files changed
+13

No files matched your search

+6
View File
@@ -33,6 +33,12 @@ class Scope
const TRANSACTIONS_READ = 'transactions:read'; const TRANSACTIONS_READ = 'transactions:read';
const TRANSACTIONS_CLIENT = 'transactions:client'; const TRANSACTIONS_CLIENT = 'transactions:client';
// The user's own shared preferences (`global`). PREFERENCES_CLIENT labels an app token for
// the preferences of any user; access to a namespace is granted by Anikeen, not by the scope.
const PREFERENCES = 'preferences';
const PREFERENCES_READ = 'preferences:read';
const PREFERENCES_CLIENT = 'preferences:client';
const SSH_KEYS = 'ssh-keys'; const SSH_KEYS = 'ssh-keys';
const SSH_KEYS_READ = 'ssh-keys:read'; const SSH_KEYS_READ = 'ssh-keys:read';
+7
View File
@@ -25,6 +25,13 @@ class ScopeTest extends TestCase
$this->assertSame($expected, $constant); $this->assertSame($expected, $constant);
} }
public function test_the_preference_scopes_match_anikeen_id(): void
{
$this->assertSame('preferences', Scope::PREFERENCES);
$this->assertSame('preferences:read', Scope::PREFERENCES_READ);
$this->assertSame('preferences:client', Scope::PREFERENCES_CLIENT);
}
public function test_there_is_no_full_products_scope_the_console_would_not_accept(): void public function test_there_is_no_full_products_scope_the_console_would_not_accept(): void
{ {
// the Console's product APIs accept `user`, `user:read` and `products:read` only // the Console's product APIs accept `user`, `user:read` and `products:read` only