Completed
Push — master ( c2e1e4...22c8ee )
by
unknown
04:32
created

AdRule::getReferencedEnums()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
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\AdRuleFields;
32
use FacebookAds\Object\Values\AdRuleHistoryActionValues;
33
use FacebookAds\Object\Values\AdRuleStatusValues;
34
35
/**
36
 * This class is auto-generated.
37
 *
38
 * For any issues or feature requests related to this class, please let us know
39
 * on github and we'll fix in our codegen framework. We'll not be able to accept
40
 * pull request for this class.
41
 *
42
 */
43
44
class AdRule extends AbstractCrudObject {
45
46
  /**
47
   * @deprecated getEndpoint function is deprecated
48
   */
49
  protected function getEndpoint() {
50
    return 'adrules_library';
51
  }
52
53
  /**
54
   * @return AdRuleFields
55
   */
56
  public static function getFieldsEnum() {
57
    return AdRuleFields::getInstance();
58
  }
59
60
  protected static function getReferencedEnums() {
61
    $ref_enums = array();
62
    $ref_enums['Status'] = AdRuleStatusValues::getInstance()->getValues();
63
    return $ref_enums;
64
  }
65
66
67
  public function getHistory(array $fields = array(), array $params = array(), $pending = false) {
68
    $this->assureId();
69
70
    $param_types = array(
71
      'action' => 'action_enum',
72
      'hide_no_changes' => 'bool',
73
      'object_id' => 'string',
74
    );
75
    $enums = array(
76
      'action_enum' => AdRuleHistoryActionValues::getInstance()->getValues(),
77
    );
78
79
    $request = new ApiRequest(
80
      $this->api,
81
      $this->data['id'],
82
      RequestInterface::METHOD_GET,
83
      '/history',
84
      new AdRuleHistory(),
85
      'EDGE',
86
      AdRuleHistory::getFieldsEnum()->getValues(),
87
      new TypeChecker($param_types, $enums)
88
    );
89
    $request->addParams($params);
90
    $request->addFields($fields);
91
    return $pending ? $request : $request->execute();
92
  }
93
94
  public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
95
    $this->assureId();
96
97
    $param_types = array(
98
    );
99
    $enums = array(
100
    );
101
102
    $request = new ApiRequest(
103
      $this->api,
104
      $this->data['id'],
105
      RequestInterface::METHOD_DELETE,
106
      '/',
107
      new AbstractCrudObject(),
108
      'NODE',
109
      array(),
110
      new TypeChecker($param_types, $enums)
111
    );
112
    $request->addParams($params);
113
    $request->addFields($fields);
114
    return $pending ? $request : $request->execute();
115
  }
116
117
  public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
118
    $this->assureId();
119
120
    $param_types = array(
121
    );
122
    $enums = array(
123
    );
124
125
    $request = new ApiRequest(
126
      $this->api,
127
      $this->data['id'],
128
      RequestInterface::METHOD_GET,
129
      '/',
130
      new AdRule(),
131
      'NODE',
132
      AdRule::getFieldsEnum()->getValues(),
133
      new TypeChecker($param_types, $enums)
134
    );
135
    $request->addParams($params);
136
    $request->addFields($fields);
137
    return $pending ? $request : $request->execute();
138
  }
139
140
  public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
141
    $this->assureId();
142
143
    $param_types = array(
144
      'evaluation_spec' => 'Object',
145
      'execution_spec' => 'Object',
146
      'name' => 'string',
147
      'reset_period' => 'int',
148
      'schedule_spec' => 'Object',
149
      'status' => 'status_enum',
150
    );
151
    $enums = array(
152
      'status_enum' => AdRuleStatusValues::getInstance()->getValues(),
153
    );
154
155
    $request = new ApiRequest(
156
      $this->api,
157
      $this->data['id'],
158
      RequestInterface::METHOD_POST,
159
      '/',
160
      new AdRule(),
161
      'NODE',
162
      AdRule::getFieldsEnum()->getValues(),
163
      new TypeChecker($param_types, $enums)
164
    );
165
    $request->addParams($params);
166
    $request->addFields($fields);
167
    return $pending ? $request : $request->execute();
168
  }
169
170
}
171