1
0
Fork 0
mirror of synced 2024-07-04 14:10:33 +12:00

Merge pull request #792 from appwrite/feat-updated-docs-api-key-scopes

Feat updated docs api key scopes
This commit is contained in:
Eldad A. Fux 2021-01-01 17:02:13 +02:00 committed by GitHub
commit 29cfc4dde8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 29 deletions

View file

@ -1,30 +1,55 @@
<?php <?php
return [ // List of publicly visible scopes return [ // List of publicly visible scopes
'users.read', 'users.read' => [
'users.write', 'description' => 'Access to read your project\'s users',
'teams.read', ],
'teams.write', 'users.write' => [
'collections.read', 'description' => 'Access to create, update, and delete your project\'s users',
'collections.write', ],
'documents.read', 'teams.read' => [
'documents.write', 'description' => 'Access to read your project\'s teams',
'files.read', ],
'files.write', 'teams.write' => [
'functions.read', 'description' => 'Access to create, update, and delete your project\'s teams',
'functions.write', ],
'execution.read', 'collections.read' => [
'execution.write', 'description' => 'Access to read your project\'s database collections',
'health.read', ],
// 'platforms.read', 'collections.write' => [
// 'platforms.write', 'description' => 'Access to create, update, and delete your project\'s database collections',
// 'keys.read', ],
// 'keys.write', 'documents.read' => [
// 'tasks.read', 'description' => 'Access to read your project\'s database documents',
// 'tasks.write', ],
// 'webhooks.read', 'documents.write' => [
// 'webhooks.write', 'description' => 'Access to create, update, and delete your project\'s database documents',
'locale.read', ],
'avatars.read', 'files.read' => [
'health.read', 'description' => 'Access to read your project\'s storage files and preview images',
],
'files.write' => [
'description' => 'Access to create, update, and delete your project\'s storage files',
],
'functions.read' => [
'description' => 'Access to read your project\'s functions and code tags',
],
'functions.write' => [
'description' => 'Access to create, update, and delete your project\'s functions and code tags',
],
'execution.read' => [
'description' => 'Access to read your project\'s execution logs',
],
'execution.write' => [
'description' => 'Access to execute your project\'s functions',
],
'locale.read' => [
'description' => 'Access to access your project\'s Locale service',
],
'avatars.read' => [
'description' => 'Access to access your project\'s Avatars service',
],
'health.read' => [
'description' => 'Access to read your project\'s health status',
],
];; ];;

View file

@ -718,7 +718,7 @@ App::post('/v1/projects/:projectId/keys')
->label('sdk.response.model', Response::MODEL_KEY) ->label('sdk.response.model', Response::MODEL_KEY)
->param('projectId', null, new UID(), 'Project unique ID.') ->param('projectId', null, new UID(), 'Project unique ID.')
->param('name', null, new Text(128), 'Key name. Max length: 128 chars.') ->param('name', null, new Text(128), 'Key name. Max length: 128 chars.')
->param('scopes', null, new ArrayList(new WhiteList(Config::getParam('scopes'), true)), 'Key scopes list.') ->param('scopes', null, new ArrayList(new WhiteList(array_keys(Config::getParam('scopes')), true)), 'Key scopes list.')
->inject('response') ->inject('response')
->inject('consoleDB') ->inject('consoleDB')
->action(function ($projectId, $name, $scopes, $response, $consoleDB) { ->action(function ($projectId, $name, $scopes, $response, $consoleDB) {
@ -831,7 +831,7 @@ App::put('/v1/projects/:projectId/keys/:keyId')
->param('projectId', null, new UID(), 'Project unique ID.') ->param('projectId', null, new UID(), 'Project unique ID.')
->param('keyId', null, new UID(), 'Key unique ID.') ->param('keyId', null, new UID(), 'Key unique ID.')
->param('name', null, new Text(128), 'Key name. Max length: 128 chars.') ->param('name', null, new Text(128), 'Key name. Max length: 128 chars.')
->param('scopes', null, new ArrayList(new WhiteList(Config::getParam('scopes'), true)), 'Key scopes list') ->param('scopes', null, new ArrayList(new WhiteList(array_keys(Config::getParam('scopes')), true)), 'Key scopes list')
->inject('response') ->inject('response')
->inject('consoleDB') ->inject('consoleDB')
->action(function ($projectId, $keyId, $name, $scopes, $response, $consoleDB) { ->action(function ($projectId, $keyId, $name, $scopes, $response, $consoleDB) {

View file

@ -177,7 +177,7 @@ App::get('/console/keys')
->action(function ($layout) { ->action(function ($layout) {
/** @var Utopia\View $layout */ /** @var Utopia\View $layout */
$scopes = Config::getParam('scopes'); $scopes = array_keys(Config::getParam('scopes'));
$page = new View(__DIR__.'/../../views/console/keys/index.phtml'); $page = new View(__DIR__.'/../../views/console/keys/index.phtml');
$page->setParam('scopes', $scopes); $page->setParam('scopes', $scopes);