1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service;
19
20use Google\Client;
21
22/**
23 * Service definition for MyBusinessBusinessInformation (v1).
24 *
25 * <p>
26 * The My Business Business Information API provides an interface for managing
27 * business information on Google.</p>
28 *
29 * <p>
30 * For more information about this service, see the API
31 * <a href="https://developers.google.com/my-business/" target="_blank">Documentation</a>
32 * </p>
33 *
34 * @author Google, Inc.
35 */
36class MyBusinessBusinessInformation extends \Google\Service
37{
38
39
40  public $accounts_locations;
41  public $attributes;
42  public $categories;
43  public $chains;
44  public $googleLocations;
45  public $locations;
46  public $locations_attributes;
47
48  /**
49   * Constructs the internal representation of the MyBusinessBusinessInformation
50   * service.
51   *
52   * @param Client|array $clientOrConfig The client used to deliver requests, or a
53   *                                     config array to pass to a new Client instance.
54   * @param string $rootUrl The root URL used for requests to the service.
55   */
56  public function __construct($clientOrConfig = [], $rootUrl = null)
57  {
58    parent::__construct($clientOrConfig);
59    $this->rootUrl = $rootUrl ?: 'https://mybusinessbusinessinformation.googleapis.com/';
60    $this->servicePath = '';
61    $this->batchPath = 'batch';
62    $this->version = 'v1';
63    $this->serviceName = 'mybusinessbusinessinformation';
64
65    $this->accounts_locations = new MyBusinessBusinessInformation\Resource\AccountsLocations(
66        $this,
67        $this->serviceName,
68        'locations',
69        [
70          'methods' => [
71            'create' => [
72              'path' => 'v1/{+parent}/locations',
73              'httpMethod' => 'POST',
74              'parameters' => [
75                'parent' => [
76                  'location' => 'path',
77                  'type' => 'string',
78                  'required' => true,
79                ],
80                'requestId' => [
81                  'location' => 'query',
82                  'type' => 'string',
83                ],
84                'validateOnly' => [
85                  'location' => 'query',
86                  'type' => 'boolean',
87                ],
88              ],
89            ],'list' => [
90              'path' => 'v1/{+parent}/locations',
91              'httpMethod' => 'GET',
92              'parameters' => [
93                'parent' => [
94                  'location' => 'path',
95                  'type' => 'string',
96                  'required' => true,
97                ],
98                'filter' => [
99                  'location' => 'query',
100                  'type' => 'string',
101                ],
102                'orderBy' => [
103                  'location' => 'query',
104                  'type' => 'string',
105                ],
106                'pageSize' => [
107                  'location' => 'query',
108                  'type' => 'integer',
109                ],
110                'pageToken' => [
111                  'location' => 'query',
112                  'type' => 'string',
113                ],
114                'readMask' => [
115                  'location' => 'query',
116                  'type' => 'string',
117                ],
118              ],
119            ],
120          ]
121        ]
122    );
123    $this->attributes = new MyBusinessBusinessInformation\Resource\Attributes(
124        $this,
125        $this->serviceName,
126        'attributes',
127        [
128          'methods' => [
129            'list' => [
130              'path' => 'v1/attributes',
131              'httpMethod' => 'GET',
132              'parameters' => [
133                'categoryName' => [
134                  'location' => 'query',
135                  'type' => 'string',
136                ],
137                'languageCode' => [
138                  'location' => 'query',
139                  'type' => 'string',
140                ],
141                'pageSize' => [
142                  'location' => 'query',
143                  'type' => 'integer',
144                ],
145                'pageToken' => [
146                  'location' => 'query',
147                  'type' => 'string',
148                ],
149                'parent' => [
150                  'location' => 'query',
151                  'type' => 'string',
152                ],
153                'regionCode' => [
154                  'location' => 'query',
155                  'type' => 'string',
156                ],
157                'showAll' => [
158                  'location' => 'query',
159                  'type' => 'boolean',
160                ],
161              ],
162            ],
163          ]
164        ]
165    );
166    $this->categories = new MyBusinessBusinessInformation\Resource\Categories(
167        $this,
168        $this->serviceName,
169        'categories',
170        [
171          'methods' => [
172            'batchGet' => [
173              'path' => 'v1/categories:batchGet',
174              'httpMethod' => 'GET',
175              'parameters' => [
176                'languageCode' => [
177                  'location' => 'query',
178                  'type' => 'string',
179                ],
180                'names' => [
181                  'location' => 'query',
182                  'type' => 'string',
183                  'repeated' => true,
184                ],
185                'regionCode' => [
186                  'location' => 'query',
187                  'type' => 'string',
188                ],
189                'view' => [
190                  'location' => 'query',
191                  'type' => 'string',
192                ],
193              ],
194            ],'list' => [
195              'path' => 'v1/categories',
196              'httpMethod' => 'GET',
197              'parameters' => [
198                'filter' => [
199                  'location' => 'query',
200                  'type' => 'string',
201                ],
202                'languageCode' => [
203                  'location' => 'query',
204                  'type' => 'string',
205                ],
206                'pageSize' => [
207                  'location' => 'query',
208                  'type' => 'integer',
209                ],
210                'pageToken' => [
211                  'location' => 'query',
212                  'type' => 'string',
213                ],
214                'regionCode' => [
215                  'location' => 'query',
216                  'type' => 'string',
217                ],
218                'view' => [
219                  'location' => 'query',
220                  'type' => 'string',
221                ],
222              ],
223            ],
224          ]
225        ]
226    );
227    $this->chains = new MyBusinessBusinessInformation\Resource\Chains(
228        $this,
229        $this->serviceName,
230        'chains',
231        [
232          'methods' => [
233            'get' => [
234              'path' => 'v1/{+name}',
235              'httpMethod' => 'GET',
236              'parameters' => [
237                'name' => [
238                  'location' => 'path',
239                  'type' => 'string',
240                  'required' => true,
241                ],
242              ],
243            ],'search' => [
244              'path' => 'v1/chains:search',
245              'httpMethod' => 'GET',
246              'parameters' => [
247                'chainName' => [
248                  'location' => 'query',
249                  'type' => 'string',
250                ],
251                'pageSize' => [
252                  'location' => 'query',
253                  'type' => 'integer',
254                ],
255              ],
256            ],
257          ]
258        ]
259    );
260    $this->googleLocations = new MyBusinessBusinessInformation\Resource\GoogleLocations(
261        $this,
262        $this->serviceName,
263        'googleLocations',
264        [
265          'methods' => [
266            'search' => [
267              'path' => 'v1/googleLocations:search',
268              'httpMethod' => 'POST',
269              'parameters' => [],
270            ],
271          ]
272        ]
273    );
274    $this->locations = new MyBusinessBusinessInformation\Resource\Locations(
275        $this,
276        $this->serviceName,
277        'locations',
278        [
279          'methods' => [
280            'associate' => [
281              'path' => 'v1/{+name}:associate',
282              'httpMethod' => 'POST',
283              'parameters' => [
284                'name' => [
285                  'location' => 'path',
286                  'type' => 'string',
287                  'required' => true,
288                ],
289              ],
290            ],'clearLocationAssociation' => [
291              'path' => 'v1/{+name}:clearLocationAssociation',
292              'httpMethod' => 'POST',
293              'parameters' => [
294                'name' => [
295                  'location' => 'path',
296                  'type' => 'string',
297                  'required' => true,
298                ],
299              ],
300            ],'delete' => [
301              'path' => 'v1/{+name}',
302              'httpMethod' => 'DELETE',
303              'parameters' => [
304                'name' => [
305                  'location' => 'path',
306                  'type' => 'string',
307                  'required' => true,
308                ],
309              ],
310            ],'get' => [
311              'path' => 'v1/{+name}',
312              'httpMethod' => 'GET',
313              'parameters' => [
314                'name' => [
315                  'location' => 'path',
316                  'type' => 'string',
317                  'required' => true,
318                ],
319                'readMask' => [
320                  'location' => 'query',
321                  'type' => 'string',
322                ],
323              ],
324            ],'getAttributes' => [
325              'path' => 'v1/{+name}',
326              'httpMethod' => 'GET',
327              'parameters' => [
328                'name' => [
329                  'location' => 'path',
330                  'type' => 'string',
331                  'required' => true,
332                ],
333              ],
334            ],'getGoogleUpdated' => [
335              'path' => 'v1/{+name}:getGoogleUpdated',
336              'httpMethod' => 'GET',
337              'parameters' => [
338                'name' => [
339                  'location' => 'path',
340                  'type' => 'string',
341                  'required' => true,
342                ],
343                'readMask' => [
344                  'location' => 'query',
345                  'type' => 'string',
346                ],
347              ],
348            ],'patch' => [
349              'path' => 'v1/{+name}',
350              'httpMethod' => 'PATCH',
351              'parameters' => [
352                'name' => [
353                  'location' => 'path',
354                  'type' => 'string',
355                  'required' => true,
356                ],
357                'updateMask' => [
358                  'location' => 'query',
359                  'type' => 'string',
360                ],
361                'validateOnly' => [
362                  'location' => 'query',
363                  'type' => 'boolean',
364                ],
365              ],
366            ],'updateAttributes' => [
367              'path' => 'v1/{+name}',
368              'httpMethod' => 'PATCH',
369              'parameters' => [
370                'name' => [
371                  'location' => 'path',
372                  'type' => 'string',
373                  'required' => true,
374                ],
375                'attributeMask' => [
376                  'location' => 'query',
377                  'type' => 'string',
378                ],
379              ],
380            ],
381          ]
382        ]
383    );
384    $this->locations_attributes = new MyBusinessBusinessInformation\Resource\LocationsAttributes(
385        $this,
386        $this->serviceName,
387        'attributes',
388        [
389          'methods' => [
390            'getGoogleUpdated' => [
391              'path' => 'v1/{+name}:getGoogleUpdated',
392              'httpMethod' => 'GET',
393              'parameters' => [
394                'name' => [
395                  'location' => 'path',
396                  'type' => 'string',
397                  'required' => true,
398                ],
399              ],
400            ],
401          ]
402        ]
403    );
404  }
405}
406
407// Adding a class alias for backwards compatibility with the previous class name.
408class_alias(MyBusinessBusinessInformation::class, 'Google_Service_MyBusinessBusinessInformation');
409