Failed Conditions
Push — master ( 81ead6...837ea5 )
by
unknown
13:08
created

AdReportRun::isComplete()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
eloc 2
nc 1
nop 0
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
use FacebookAds\Object\Values\AdsInsightsSummaryValues;
33
34
/**
35
 * This class is auto-genereated.
36
 *
37
 * For any issues or feature requests related to this class, please let us know
38
 * on github and we'll fix in our codegen framework. We'll not be able to accept
39
 * pull request for this class.
40
 *
41
 */
42
43
class AdReportRun extends AbstractCrudObject {
44
45
  protected function getEndpoint() {
46
    return 'insights';
47
  }
48
49
  /**
50
   * @return AdReportRunFields
51
   */
52
  public static function getFieldsEnum() {
53
    return AdReportRunFields::getInstance();
54
  }
55
56
  protected static function getReferencedEnums() {
57
    $ref_enums = array();
58
    return $ref_enums;
59
  }
60
61
62
  public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
63
    $this->assureId();
64
65
    $param_types = array(
66
      'default_summary' => 'bool',
67
      'fields' => 'list<fields_enum>',
68
      'filtering' => 'list<Object>',
69
      'sort' => 'list<string>',
70
      'summary' => 'list<summary_enum>',
71
    );
72
    $enums = array(
73
      'summary_enum' => AdsInsightsSummaryValues::getInstance()->getValues(),
74
    );
75
76
    $request = new ApiRequest(
77
      $this->api,
78
      $this->data['id'],
79
      RequestInterface::METHOD_GET,
80
      '/insights',
81
      new AdsInsights(),
82
      'EDGE',
83
      AdsInsights::getFieldsEnum()->getValues(),
84
      new TypeChecker($param_types, $enums)
85
    );
86
    $request->addParams($params);
87
    $request->addFields($fields);
88
    return $pending ? $request : $request->execute();
89
  }
90
91
  public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
92
    $this->assureId();
93
94
    $param_types = array(
95
    );
96
    $enums = array(
97
    );
98
99
    $request = new ApiRequest(
100
      $this->api,
101
      $this->data['id'],
102
      RequestInterface::METHOD_GET,
103
      '/',
104
      new AdReportRun(),
105
      'NODE',
106
      AdReportRun::getFieldsEnum()->getValues(),
107
      new TypeChecker($param_types, $enums)
108
    );
109
    $request->addParams($params);
110
    $request->addFields($fields);
111
    return $pending ? $request : $request->execute();
112
  }
113
114
  public function setDataTrigger(array $data) {
115
    if (array_key_exists('report_run_id', $data)) {
116
      $this->data['id'] = $data['report_run_id'];
117
    }
118
  }
119
120
  public function isComplete() {
121
    return $this->{AdReportRunFields::ASYNC_PERCENT_COMPLETION} === 100;
122
  }
123
124
  /**
125
   * @deprecated use getResult instead
126
   */
127
  public function getResult(array $fields = array(), array $params = array(), $pending = false) {
128
    return $this->getInsights($fields, $params, $pending);
129
  }
130
}
131