Completed
Push — master ( 53bee2...ad5da8 )
by
unknown
04:44
created

AdReportRun   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

Changes 0
Metric Value
wmc 11
lcom 1
cbo 6
dl 0
loc 82
rs 10
c 0
b 0
f 0

8 Methods

Rating   Name   Duplication   Size   Complexity  
A getEndpoint() 0 3 1
A getFieldsEnum() 0 3 1
A getReferencedEnums() 0 4 1
A getInsights() 0 22 2
A getSelf() 0 22 2
A setDataTrigger() 0 5 2
A isComplete() 0 3 1
A getResult() 0 3 1
1
<?php
2
/**
3
 * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
 *
5
 * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
 * use, copy, modify, and distribute this software in source code or binary
7
 * form for use in connection with the web services and APIs provided by
8
 * Facebook.
9
 *
10
 * As with any software that integrates with the Facebook platform, your use
11
 * of this software is subject to the Facebook Developer Principles and
12
 * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
 * shall be included in all copies or substantial portions of the software.
14
 *
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
 * DEALINGS IN THE SOFTWARE.
22
 *
23
 */
24
25
namespace FacebookAds\Object;
26
27
use FacebookAds\ApiRequest;
28
use FacebookAds\Cursor;
29
use FacebookAds\Http\RequestInterface;
30
use FacebookAds\TypeChecker;
31
use FacebookAds\Object\Fields\AdReportRunFields;
32
33
/**
34
 * This class is auto-genereated.
35
 *
36
 * For any issues or feature requests related to this class, please let us know
37
 * on github and we'll fix in our codegen framework. We'll not be able to accept
38
 * pull request for this class.
39
 *
40
 */
41
42
class AdReportRun extends AbstractCrudObject {
43
44
  protected function getEndpoint() {
45
    return 'insights';
46
  }
47
48
  /**
49
   * @return AdReportRunFields
50
   */
51
  public static function getFieldsEnum() {
52
    return AdReportRunFields::getInstance();
53
  }
54
55
  protected static function getReferencedEnums() {
56
    $ref_enums = array();
57
    return $ref_enums;
58
  }
59
60
61
  public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
62
    $this->assureId();
63
64
    $param_types = array(
65
    );
66
    $enums = array(
67
    );
68
69
    $request = new ApiRequest(
70
      $this->api,
71
      $this->data['id'],
72
      RequestInterface::METHOD_GET,
73
      '/insights',
74
      new AdsInsights(),
75
      'EDGE',
76
      AdsInsights::getFieldsEnum()->getValues(),
77
      new TypeChecker($param_types, $enums)
78
    );
79
    $request->addParams($params);
80
    $request->addFields($fields);
81
    return $pending ? $request : $request->execute();
82
  }
83
84
  public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
85
    $this->assureId();
86
87
    $param_types = array(
88
    );
89
    $enums = array(
90
    );
91
92
    $request = new ApiRequest(
93
      $this->api,
94
      $this->data['id'],
95
      RequestInterface::METHOD_GET,
96
      '/',
97
      new AdReportRun(),
98
      'NODE',
99
      AdReportRun::getFieldsEnum()->getValues(),
100
      new TypeChecker($param_types, $enums)
101
    );
102
    $request->addParams($params);
103
    $request->addFields($fields);
104
    return $pending ? $request : $request->execute();
105
  }
106
107
  public function setDataTrigger(array $data) {
108
    if (array_key_exists('report_run_id', $data)) {
109
      $this->data['id'] = $data['report_run_id'];
110
    }
111
  }
112
113
  public function isComplete() {
114
    return $this->{AdReportRunFields::ASYNC_PERCENT_COMPLETION} === 100;
115
  }
116
117
  /**
118
   * @deprecated use getResult instead
119
   */
120
  public function getResult(array $fields = array(), array $params = array(), $pending = false) {
121
    return $this->getInsights($fields, $params, $pending);
122
  }
123
}
124