AllPositionResource.php 2.72 KB
<?php
/**
 * Created by PhpStorm.
 * User: Alex Savenko
 * Date: 22.02.2017
 * Time: 20:29
 */

namespace App\Resources;


use App\Constants\AclRoles;
use App\Controllers\AllPositionController;
use Phalcon\Acl;
use PhalconApi\Constants\HttpMethods;
use PhalconRest\Api\ApiEndpoint;
use PhalconRest\Api\ApiResource;

class AllPositionResource extends ApiResource
{

    public function initialize() {

        $this
            ->name('All Position')
            ->expectsJsonData()
            //->transformer(ModelTransformer::class)
            ->itemKey('ap')
            ->collectionKey('ap')
            ->deny(AclRoles::UNAUTHORIZED)
            ->handler(AllPositionController::class)

            ->endpoint(
                ApiEndpoint::factory('/project', HttpMethods::GET, 'projectAction')
                ->name('project')
                ->description('Данные о проекте')
                ->allow(AclRoles::USER)
            )

            ->endpoint(
                ApiEndpoint::factory('/projects', HttpMethods::GET, 'projectsAction')
                ->name('projects')
                ->description('Список проектов пользователя')
                ->allow(AclRoles::UNAUTHORIZED)
            )

            ->endpoint(
                ApiEndpoint::factory('/projects_group', HttpMethods::GET, 'projectsGroupAction')
                ->name('projects group')
                ->description('Список групп проектов')
                ->allow(AclRoles::USER)
            )

            ->endpoint(
                ApiEndpoint::factory('/queries', HttpMethods::GET, 'queriesAction')
                ->name('queries')
                ->description('Список запросов, по которым определяется позиция сайта')
                ->allow(AclRoles::USER)
            )

            ->endpoint(
                ApiEndpoint::factory('/queries_group', HttpMethods::GET, 'queriesGroupAction')
                    ->name('queries group')
                    ->description('Список групп запросов')
                    ->allow(AclRoles::USER)
            )

            ->endpoint(
                ApiEndpoint::factory('/report', HttpMethods::GET, 'reportAction')
                ->name('report')
                ->description('Отчет по позициям сайта')
                ->allow(AclRoles::USER)
            )

            ->endpoint(
                ApiEndpoint::factory('/visibility', HttpMethods::GET, 'visibilityAction')
                ->name('visibility')
                ->description('Данные о видимости сайта за указанный период')
                ->allow(AclRoles::USER)
            )
        ;

    }

}