Blame view

app/library/App/Resources/GaResource.php 1.4 KB
b38ef228   Alex Savenko   generate GaResource
1
2
3
4
5
6
7
8
9
10
11
12
13
  <?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;
8104a88d   Alex Savenko   extended classes
14
15
  use PhalconRest\Api\ApiEndpoint;
  use PhalconRest\Api\ApiResource;
b38ef228   Alex Savenko   generate GaResource
16
  
8104a88d   Alex Savenko   extended classes
17
  class GaResource extends ApiResource   {
b38ef228   Alex Savenko   generate GaResource
18
19
20
21
22
  
      public function initialize() {
  
          $this
              ->name('Google Analytics')
b38ef228   Alex Savenko   generate GaResource
23
24
25
26
27
28
29
              ->expectsJsonData()
              //->transformer(ModelTransformer::class)
              ->itemKey('ga')
              ->collectionKey('ga')
              ->deny(AclRoles::UNAUTHORIZED)
              ->handler(GaController::class)
  
8104a88d   Alex Savenko   extended classes
30
              ->endpoint(ApiEndpoint::get('', 'getAction')
b38ef228   Alex Savenko   generate GaResource
31
32
                  ->allow(AclRoles::USER)
                  ->description('Returns data from Google Analytics Api')
e367fb50   Alex Savenko   dynamic dateRange
33
                  ->exampleResponse([
e495b985   Alex Savenko   docs
34
35
                      'example' => [
                          'lifehack'  => 'for example request data',
fa236f5d   Alex Savenko   doc
36
                          'view_id'     => 'GA VIEW_ID',
e495b985   Alex Savenko   docs
37
38
39
                          'start'     => '30daysAgo / 2015-03-01',
                          'end'       => 'today',
                          'metric'    => 'user,sessions',
8a4792e4   Alex Savenko   doc
40
                          'dimension' => 'source,browser'
e495b985   Alex Savenko   docs
41
42
                      ],
                      'full_docs' => 'https://developers.google.com/analytics/devguides/reporting/core/dimsmets',
e367fb50   Alex Savenko   dynamic dateRange
43
                  ])
b19ed102   Alex Savenko   extended classes
44
                  ->exampleRequest("123")
b38ef228   Alex Savenko   generate GaResource
45
46
47
48
49
50
              )
          ;
  
      }
  
  }