Completed
Push — master ( 212bcc...86d4f9 )
by
unknown
15:01
created

AdAccountGroup::updateUsers()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 11
rs 9.4285
cc 2
eloc 7
nc 2
nop 2
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\AdAccountGroupFields;
32
use FacebookAds\Api;
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 AdAccountGroup extends AbstractCrudObject {
44
45
  public function __construct($id = null, $parent_id = 'me', Api $api = null) {
46
    parent::__construct($id, $parent_id, $api);
47
  }
48
49
  protected function getEndpoint() {
50
    return 'adaccountgroups';
51
  }
52
53
  /**
54
   * @return AdAccountGroupFields
55
   */
56
  public static function getFieldsEnum() {
57
    return AdAccountGroupFields::getInstance();
58
  }
59
60
  protected static function getReferencedEnums() {
61
    $ref_enums = array();
62
    return $ref_enums;
63
  }
64
65
66
  public function deleteAdAccounts(array $fields = array(), array $params = array(), $pending = false) {
67
    $this->assureId();
68
69
    $param_types = array(
70
      'account_id' => 'string',
71
    );
72
    $enums = array(
73
    );
74
75
    $request = new ApiRequest(
76
      $this->api,
77
      $this->data['id'],
78
      RequestInterface::METHOD_DELETE,
79
      '/adaccounts',
80
      new AbstractCrudObject(),
81
      'EDGE',
82
      array(),
83
      new TypeChecker($param_types, $enums)
84
    );
85
    $request->addParams($params);
86
    $request->addFields($fields);
87
    return $pending ? $request : $request->execute();
88
  }
89
90
  public function getAdAccounts(array $fields = array(), array $params = array(), $pending = false) {
91
    $this->assureId();
92
93
    $param_types = array(
94
    );
95
    $enums = array(
96
    );
97
98
    $request = new ApiRequest(
99
      $this->api,
100
      $this->data['id'],
101
      RequestInterface::METHOD_GET,
102
      '/adaccounts',
103
      new AbstractCrudObject(),
104
      'EDGE',
105
      array(),
106
      new TypeChecker($param_types, $enums)
107
    );
108
    $request->addParams($params);
109
    $request->addFields($fields);
110
    return $pending ? $request : $request->execute();
111
  }
112
113
  public function createAdAccount(array $fields = array(), array $params = array(), $pending = false) {
114
    $this->assureId();
115
116
    $param_types = array(
117
      'account_ids' => 'list<string>',
118
      'redownload' => 'bool',
119
    );
120
    $enums = array(
121
    );
122
123
    $request = new ApiRequest(
124
      $this->api,
125
      $this->data['id'],
126
      RequestInterface::METHOD_POST,
127
      '/adaccounts',
128
      new AbstractCrudObject(),
129
      'EDGE',
130
      array(),
131
      new TypeChecker($param_types, $enums)
132
    );
133
    $request->addParams($params);
134
    $request->addFields($fields);
135
    return $pending ? $request : $request->execute();
136
  }
137
138
  public function deleteUsers(array $fields = array(), array $params = array(), $pending = false) {
139
    $this->assureId();
140
141
    $param_types = array(
142
      'redownload' => 'bool',
143
      'uid' => 'int',
144
    );
145
    $enums = array(
146
    );
147
148
    $request = new ApiRequest(
149
      $this->api,
150
      $this->data['id'],
151
      RequestInterface::METHOD_DELETE,
152
      '/users',
153
      new AbstractCrudObject(),
154
      'EDGE',
155
      array(),
156
      new TypeChecker($param_types, $enums)
157
    );
158
    $request->addParams($params);
159
    $request->addFields($fields);
160
    return $pending ? $request : $request->execute();
161
  }
162
163
  public function createUser(array $fields = array(), array $params = array(), $pending = false) {
164
    $this->assureId();
165
166
    $param_types = array(
167
      'account_group_roles' => 'list<map>',
168
      'redownload' => 'bool',
169
    );
170
    $enums = array(
171
    );
172
173
    $request = new ApiRequest(
174
      $this->api,
175
      $this->data['id'],
176
      RequestInterface::METHOD_POST,
177
      '/users',
178
      new AbstractCrudObject(),
179
      'EDGE',
180
      array(),
181
      new TypeChecker($param_types, $enums)
182
    );
183
    $request->addParams($params);
184
    $request->addFields($fields);
185
    return $pending ? $request : $request->execute();
186
  }
187
188
  public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
189
    $this->assureId();
190
191
    $param_types = array(
192
    );
193
    $enums = array(
194
    );
195
196
    $request = new ApiRequest(
197
      $this->api,
198
      $this->data['id'],
199
      RequestInterface::METHOD_DELETE,
200
      '/',
201
      new AbstractCrudObject(),
202
      'NODE',
203
      array(),
204
      new TypeChecker($param_types, $enums)
205
    );
206
    $request->addParams($params);
207
    $request->addFields($fields);
208
    return $pending ? $request : $request->execute();
209
  }
210
211
  public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
212
    $this->assureId();
213
214
    $param_types = array(
215
    );
216
    $enums = array(
217
    );
218
219
    $request = new ApiRequest(
220
      $this->api,
221
      $this->data['id'],
222
      RequestInterface::METHOD_GET,
223
      '/',
224
      new AdAccountGroup(),
225
      'NODE',
226
      AdAccountGroup::getFieldsEnum()->getValues(),
227
      new TypeChecker($param_types, $enums)
228
    );
229
    $request->addParams($params);
230
    $request->addFields($fields);
231
    return $pending ? $request : $request->execute();
232
  }
233
234
  public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
235
    $this->assureId();
236
237
    $param_types = array(
238
      'accounts' => 'map',
239
      'name' => 'string',
240
      'redownload' => 'bool',
241
      'status' => 'unsigned int',
242
      'users' => 'map',
243
    );
244
    $enums = array(
245
    );
246
247
    $request = new ApiRequest(
248
      $this->api,
249
      $this->data['id'],
250
      RequestInterface::METHOD_POST,
251
      '/',
252
      new AbstractCrudObject(),
253
      'NODE',
254
      array(),
255
      new TypeChecker($param_types, $enums)
256
    );
257
    $request->addParams($params);
258
    $request->addFields($fields);
259
    return $pending ? $request : $request->execute();
260
  }
261
262
  public function getUsers(array $fields = array(), array $params = array(), $pending = false) {
263
    $this->assureId();
264
265
    $param_types = array(
266
    );
267
    $enums = array(
268
    );
269
270
    $request = new ApiRequest(
271
      $this->api,
272
      $this->data['id'],
273
      RequestInterface::METHOD_GET,
274
      '/users',
275
      new AbstractCrudObject(),
276
      'EDGE',
277
      array(),
278
      new TypeChecker($param_types, $enums)
279
    );
280
    $request->addParams($params);
281
    $request->addFields($fields);
282
    return $pending ? $request : $request->execute();
283
  }
284
285
  /**
286
   * @deprecated use createUser instead
287
   */
288
  public function addUsers(array $roles, $pending = false) {
289
    $params = array();
290
    foreach ($roles as $uid => $role) {
291
      $params[] = array(
292
        'uid' => $uid,
293
        'role' => $role
294
      );
295
    }
296
297
    return $this->createUser(array(), array('account_group_roles' => $params), $pending);
298
  }
299
300
  /**
301
   * @deprecated use createUser instead
302
   */
303
  public function updateUsers(array $roles, $pending = false) {
304
    $params = array();
305
    foreach ($roles as $uid => $role) {
306
      $params[] = array(
307
        'uid' => $uid,
308
        'role' => $role
309
      );
310
    }
311
312
    return $this->createUser(array(), array('account_group_roles' => $params), $pending);
313
  }
314
315
  /**
316
   * @deprecated use deleteUsers instead
317
   */
318
  public function removeUser($user_id, $pending = false) {
319
    return $this->deleteUsers(array(), array('uid' => $user_id), $pending);
320
  }
321
322
  /**
323
   * @deprecated use createAdAccount instead
324
   */
325
  public function addAdAccounts(array $account_ids, $pending = false) {
326
    return $this->createAdAccount(array(), array('account_ids' => $account_ids), $pending);
327
  }
328
329
  /**
330
   * @deprecated use deleteAdAccounts instead
331
   */
332
  public function removeAdAccount($account_id, $pending = false) {
333
    return $this->deleteAdAccounts(array(), array('account_id' => $account_id), $pending);
334
  }
335
}
336