Commit e83a94b38a005a909037eeb6ba11fc233313aa7e
1 parent
3ff40ec8
docs + ap
Showing
3 changed files
with
59 additions
and
15 deletions
Show diff stats
app/library/App/Collections/ExportCollection.php
| @@ -10,16 +10,11 @@ class ExportCollection extends ApiCollection | @@ -10,16 +10,11 @@ class ExportCollection extends ApiCollection | ||
| 10 | { | 10 | { |
| 11 | protected function initialize() | 11 | protected function initialize() |
| 12 | { | 12 | { |
| 13 | -// $this | ||
| 14 | -// ->name('Export') | ||
| 15 | -// ->handler(ExportController::class) | ||
| 16 | -// | ||
| 17 | -// ->endpoint(ApiEndpoint::get('/documentation.json', 'documentation')) | ||
| 18 | -// ->endpoint(ApiEndpoint::get('/postman.json', 'postman')); | ||
| 19 | 13 | ||
| 20 | $this->name('Export'); | 14 | $this->name('Export'); |
| 21 | $this->handler(ExportController::class); | 15 | $this->handler(ExportController::class); |
| 22 | $this->endpoint(ApiEndpoint::get('/documentation.json', 'documentation')); | 16 | $this->endpoint(ApiEndpoint::get('/documentation.json', 'documentation')); |
| 23 | $this->endpoint(ApiEndpoint::get('/postman.json', 'postman')); | 17 | $this->endpoint(ApiEndpoint::get('/postman.json', 'postman')); |
| 18 | + | ||
| 24 | } | 19 | } |
| 25 | } | 20 | } |
app/library/App/Controllers/AllPositionController.php
| @@ -41,6 +41,16 @@ class AllPositionController extends CrudResourceController | @@ -41,6 +41,16 @@ class AllPositionController extends CrudResourceController | ||
| 41 | 41 | ||
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | + public function projectsGroupAction() { | ||
| 45 | + | ||
| 46 | + $APObj = new Client(self::API_KEY); | ||
| 47 | + | ||
| 48 | + $projects_group = $APObj->getProjectsGroup(); | ||
| 49 | + | ||
| 50 | + return $projects_group; | ||
| 51 | + | ||
| 52 | + } | ||
| 53 | + | ||
| 44 | public function queriesAction() { | 54 | public function queriesAction() { |
| 45 | 55 | ||
| 46 | /** user params **/ | 56 | /** user params **/ |
| @@ -54,6 +64,19 @@ class AllPositionController extends CrudResourceController | @@ -54,6 +64,19 @@ class AllPositionController extends CrudResourceController | ||
| 54 | 64 | ||
| 55 | } | 65 | } |
| 56 | 66 | ||
| 67 | + public function queriesGroupAction() { | ||
| 68 | + | ||
| 69 | + /** user params **/ | ||
| 70 | + $project = $this->request->get('project') ?? 418068; | ||
| 71 | + | ||
| 72 | + $APObj = new Client(self::API_KEY); | ||
| 73 | + | ||
| 74 | + $queries_group = $APObj->getQueriesGroup($project); | ||
| 75 | + | ||
| 76 | + return $queries_group; | ||
| 77 | + | ||
| 78 | + } | ||
| 79 | + | ||
| 57 | public function reportAction() { | 80 | public function reportAction() { |
| 58 | 81 | ||
| 59 | /** user params **/ | 82 | /** user params **/ |
app/library/App/Resources/AllPositionResource.php
| @@ -11,6 +11,8 @@ namespace App\Resources; | @@ -11,6 +11,8 @@ namespace App\Resources; | ||
| 11 | 11 | ||
| 12 | use App\Constants\AclRoles; | 12 | use App\Constants\AclRoles; |
| 13 | use App\Controllers\AllPositionController; | 13 | use App\Controllers\AllPositionController; |
| 14 | +use Phalcon\Acl; | ||
| 15 | +use PhalconApi\Constants\HttpMethods; | ||
| 14 | use PhalconRest\Api\ApiEndpoint; | 16 | use PhalconRest\Api\ApiEndpoint; |
| 15 | use PhalconRest\Api\ApiResource; | 17 | use PhalconRest\Api\ApiResource; |
| 16 | 18 | ||
| @@ -28,29 +30,53 @@ class AllPositionResource extends ApiResource | @@ -28,29 +30,53 @@ class AllPositionResource extends ApiResource | ||
| 28 | ->deny(AclRoles::UNAUTHORIZED) | 30 | ->deny(AclRoles::UNAUTHORIZED) |
| 29 | ->handler(AllPositionController::class) | 31 | ->handler(AllPositionController::class) |
| 30 | 32 | ||
| 31 | - ->endpoint(ApiEndpoint::get('/project', 'projectAction') | ||
| 32 | - ->allow(AclRoles::USER) | 33 | + ->endpoint( |
| 34 | + ApiEndpoint::factory('/project', HttpMethods::GET, 'projectAction') | ||
| 35 | + ->name('project') | ||
| 33 | ->description('Данные о проекте') | 36 | ->description('Данные о проекте') |
| 37 | + ->allow(AclRoles::USER) | ||
| 34 | ) | 38 | ) |
| 35 | 39 | ||
| 36 | - ->endpoint(ApiEndpoint::get('/projects', 'projectsAction') | ||
| 37 | - ->allow(AclRoles::USER) | 40 | + ->endpoint( |
| 41 | + ApiEndpoint::factory('/projects', HttpMethods::GET, 'projectsAction') | ||
| 42 | + ->name('projects') | ||
| 38 | ->description('Список проектов пользователя') | 43 | ->description('Список проектов пользователя') |
| 44 | + ->allow(AclRoles::UNAUTHORIZED) | ||
| 39 | ) | 45 | ) |
| 40 | 46 | ||
| 41 | - ->endpoint(ApiEndpoint::get('/queries', 'queriesAction') | 47 | + ->endpoint( |
| 48 | + ApiEndpoint::factory('/projects_group', HttpMethods::GET, 'projectsGroupAction') | ||
| 49 | + ->name('projects group') | ||
| 50 | + ->description('Список групп проектов') | ||
| 42 | ->allow(AclRoles::USER) | 51 | ->allow(AclRoles::USER) |
| 43 | - ->description('Список запросов, по которым определяется позиция сайта') | ||
| 44 | ) | 52 | ) |
| 45 | 53 | ||
| 46 | - ->endpoint(ApiEndpoint::get('/report', 'reportAction') | 54 | + ->endpoint( |
| 55 | + ApiEndpoint::factory('/queries', HttpMethods::GET, 'queriesAction') | ||
| 56 | + ->name('queries') | ||
| 57 | + ->description('Список запросов, по которым определяется позиция сайта') | ||
| 47 | ->allow(AclRoles::USER) | 58 | ->allow(AclRoles::USER) |
| 48 | - ->description('Отчет по позициям сайта') | ||
| 49 | ) | 59 | ) |
| 50 | 60 | ||
| 51 | - ->endpoint(ApiEndpoint::get('/visibility', 'visibilityAction') | 61 | + ->endpoint( |
| 62 | + ApiEndpoint::factory('/queries_group', HttpMethods::GET, 'queriesGroupAction') | ||
| 63 | + ->name('queries group') | ||
| 64 | + ->description('Список групп запросов') | ||
| 65 | + ->allow(AclRoles::USER) | ||
| 66 | + ) | ||
| 67 | + | ||
| 68 | + ->endpoint( | ||
| 69 | + ApiEndpoint::factory('/report', HttpMethods::GET, 'reportAction') | ||
| 70 | + ->name('report') | ||
| 71 | + ->description('Отчет по позициям сайта') | ||
| 52 | ->allow(AclRoles::USER) | 72 | ->allow(AclRoles::USER) |
| 73 | + ) | ||
| 74 | + | ||
| 75 | + ->endpoint( | ||
| 76 | + ApiEndpoint::factory('/visibility', HttpMethods::GET, 'visibilityAction') | ||
| 77 | + ->name('visibility') | ||
| 53 | ->description('Данные о видимости сайта за указанный период') | 78 | ->description('Данные о видимости сайта за указанный период') |
| 79 | + ->allow(AclRoles::USER) | ||
| 54 | ) | 80 | ) |
| 55 | ; | 81 | ; |
| 56 | 82 |