GaResource.php 1.36 KB
<?php
/**
 * Created by PhpStorm.
 * User: Alex Savenko
 * Date: 09.02.2017
 * Time: 18:02
 */

namespace App\Resources;


use App\Constants\AclRoles;
use App\Controllers\GaController;
use PhalconRest\Api\ApiEndpoint;
use PhalconRest\Api\ApiResource;

class GaResource extends ApiResource {

    public function initialize() {

        $this
            ->name('Google Analytics')
            ->expectsJsonData()
            //->transformer(ModelTransformer::class)
            ->itemKey('ga')
            ->collectionKey('ga')
            ->deny(AclRoles::UNAUTHORIZED)
            ->handler(GaController::class)

            ->endpoint(ApiEndpoint::get('', 'getAction')
                ->allow(AclRoles::USER)
                ->description('Returns data from Google Analytics Api')
                ->exampleResponse([
                    'example' => [
                        'lifehack'  => 'for example request data',
                        'view_id'     => 'GA VIEW_ID',
                        'start'     => '30daysAgo / 2015-03-01',
                        'end'       => 'today',
                        'metric'    => 'user,sessions',
                        'dimension' => 'source,browser'
                    ],
                    'full_docs' => 'https://developers.google.com/analytics/devguides/reporting/core/dimsmets',
                ])
            )
        ;

    }

}