diff --git a/clients/play_grouping/.gitignore b/clients/play_grouping/.gitignore new file mode 100644 index 0000000000..6bf4496152 --- /dev/null +++ b/clients/play_grouping/.gitignore @@ -0,0 +1,37 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +# The directory Mix will write compiled artifacts to. +/_build + +# If you run "mix test --cover", coverage assets end up here. +/cover + +# The directory Mix downloads your dependencies sources to. +/deps + +# Where 3rd-party dependencies like ExDoc output generated docs. +/doc + +# Ignore .fetch files in case you like to edit your project deps locally. +/.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez diff --git a/clients/play_grouping/LICENSE b/clients/play_grouping/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/clients/play_grouping/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/play_grouping/README.md b/clients/play_grouping/README.md new file mode 100644 index 0000000000..3a742ef061 --- /dev/null +++ b/clients/play_grouping/README.md @@ -0,0 +1,23 @@ +# GoogleApi.PlayGrouping + +Google Play Grouping API client library. + +playgrouping.googleapis.com API. + +## Installation + +Install this package from [Hex](https://hex.pm) by adding +`google_api_play_grouping` to your list of dependencies in `mix.exs`: + +```elixir +def deps do + [{:google_api_play_grouping, "~> 0.2"}] +end +``` + +## For more information + +Product documentation is available at [https://cloud.google.com/playgrouping/](https://cloud.google.com/playgrouping/). + +Library reference documentation is published on Hexdocs at +[https://hexdocs.pm/google_api_play_grouping](https://hexdocs.pm/google_api_play_grouping). diff --git a/clients/play_grouping/config/config.exs b/clients/play_grouping/config/config.exs new file mode 100644 index 0000000000..07afe5f311 --- /dev/null +++ b/clients/play_grouping/config/config.exs @@ -0,0 +1,20 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +use Mix.Config + + diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/api/apps.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/api/apps.ex new file mode 100644 index 0000000000..c24313df1d --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/api/apps.ex @@ -0,0 +1,183 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Api.Apps do + @moduledoc """ + API calls for all endpoints tagged `Apps`. + """ + + alias GoogleApi.PlayGrouping.V1alpha1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Verify an API token by asserting the app and persona it belongs to. The verification is a protection against client-side attacks and will fail if the contents of the token don't match the provided values. A token must be verified before it can be used to manipulate user tags. + + ## Parameters + + * `connection` (*type:* `GoogleApi.PlayGrouping.V1alpha1.Connection.t`) - Connection to server + * `app_package` (*type:* `String.t`) - Required. App the token belongs to. Format: apps/{package_name} + * `token` (*type:* `String.t`) - Required. The token to be verified. Format: tokens/{token} + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse{}}` on success + * `{:error, info}` on failure + """ + @spec playgrouping_apps_tokens_verify( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def playgrouping_apps_tokens_verify( + connection, + app_package, + token, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1alpha1/{+appPackage}/{+token}:verify", %{ + "appPackage" => URI.encode(app_package, &URI.char_unreserved?/1), + "token" => URI.encode(token, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse{}] + ) + end + + @doc """ + Create or update tags for the user and app that are represented by the given token. + + ## Parameters + + * `connection` (*type:* `GoogleApi.PlayGrouping.V1alpha1.Connection.t`) - Connection to server + * `app_package` (*type:* `String.t`) - Required. App whose tags are being manipulated. Format: apps/{package_name} + * `token` (*type:* `String.t`) - Required. Token for which the tags are being inserted or updated. Format: tokens/{token} + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec playgrouping_apps_tokens_tags_create_or_update( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def playgrouping_apps_tokens_tags_create_or_update( + connection, + app_package, + token, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1alpha1/{+appPackage}/{+token}/tags:createOrUpdate", %{ + "appPackage" => URI.encode(app_package, &URI.char_unreserved?/1), + "token" => URI.encode(token, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse{}] + ) + end +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/connection.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/connection.ex new file mode 100644 index 0000000000..01f1652767 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/connection.ex @@ -0,0 +1,29 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Connection do + @moduledoc """ + Handle Tesla connections for GoogleApi.PlayGrouping.V1alpha1. + """ + + @type t :: Tesla.Env.client() + + use GoogleApi.Gax.Connection, + scopes: [], + otp_app: :google_api_play_grouping, + base_url: "https://playgrouping.googleapis.com/" +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/metadata.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/metadata.ex new file mode 100644 index 0000000000..709ff428d2 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/metadata.ex @@ -0,0 +1,26 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1 do + @moduledoc """ + API client metadata for GoogleApi.PlayGrouping.V1alpha1. + """ + + @discovery_revision "20240310" + + def discovery_revision(), do: @discovery_revision +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/create_or_update_tags_request.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/create_or_update_tags_request.ex new file mode 100644 index 0000000000..28ca149be8 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/create_or_update_tags_request.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsRequest do + @moduledoc """ + Request message for CreateOrUpdateTags. VerifyToken. + + ## Attributes + + * `tags` (*type:* `list(GoogleApi.PlayGrouping.V1alpha1.Model.Tag.t)`, *default:* `nil`) - Tags to be inserted or updated. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :tags => list(GoogleApi.PlayGrouping.V1alpha1.Model.Tag.t()) | nil + } + + field(:tags, as: GoogleApi.PlayGrouping.V1alpha1.Model.Tag, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsRequest do + def decode(value, options) do + GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/create_or_update_tags_response.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/create_or_update_tags_response.ex new file mode 100644 index 0000000000..d427a316a9 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/create_or_update_tags_response.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse do + @moduledoc """ + Response message for CreateOrUpdateTags. + + ## Attributes + + * `tags` (*type:* `list(GoogleApi.PlayGrouping.V1alpha1.Model.Tag.t)`, *default:* `nil`) - All requested tags are returned, including pre-existing ones. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :tags => list(GoogleApi.PlayGrouping.V1alpha1.Model.Tag.t()) | nil + } + + field(:tags, as: GoogleApi.PlayGrouping.V1alpha1.Model.Tag, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse do + def decode(value, options) do + GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.CreateOrUpdateTagsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/tag.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/tag.ex new file mode 100644 index 0000000000..9b077f0fd1 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/tag.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Model.Tag do + @moduledoc """ + A tag is associated with exactly one package name and user. + + ## Attributes + + * `booleanValue` (*type:* `boolean()`, *default:* `nil`) - A boolean value of the tag. + * `int64Value` (*type:* `String.t`, *default:* `nil`) - A signed 64-bit integer value of the tag. + * `key` (*type:* `String.t`, *default:* `nil`) - Required. Key for the tag. + * `stringValue` (*type:* `String.t`, *default:* `nil`) - A string value of the tag. + * `timeValue` (*type:* `DateTime.t`, *default:* `nil`) - A time value of the tag. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :booleanValue => boolean() | nil, + :int64Value => String.t() | nil, + :key => String.t() | nil, + :stringValue => String.t() | nil, + :timeValue => DateTime.t() | nil + } + + field(:booleanValue) + field(:int64Value) + field(:key) + field(:stringValue) + field(:timeValue, as: DateTime) +end + +defimpl Poison.Decoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.Tag do + def decode(value, options) do + GoogleApi.PlayGrouping.V1alpha1.Model.Tag.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.Tag do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/verify_token_request.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/verify_token_request.ex new file mode 100644 index 0000000000..ff74397eb6 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/verify_token_request.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenRequest do + @moduledoc """ + Request message for VerifyToken. + + ## Attributes + + * `persona` (*type:* `String.t`, *default:* `nil`) - Required. Persona represented by the token. Format: personas/{persona} + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :persona => String.t() | nil + } + + field(:persona) +end + +defimpl Poison.Decoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenRequest do + def decode(value, options) do + GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/verify_token_response.ex b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/verify_token_response.ex new file mode 100644 index 0000000000..534407dcc5 --- /dev/null +++ b/clients/play_grouping/lib/google_api/play_grouping/v1alpha1/model/verify_token_response.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse do + @moduledoc """ + Response message for VerifyToken. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse do + def decode(value, options) do + GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.PlayGrouping.V1alpha1.Model.VerifyTokenResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/play_grouping/mix.exs b/clients/play_grouping/mix.exs new file mode 100644 index 0000000000..fffbed1f5e --- /dev/null +++ b/clients/play_grouping/mix.exs @@ -0,0 +1,66 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.PlayGrouping.Mixfile do + use Mix.Project + + @version "0.2.0" + + def project() do + [ + app: :google_api_play_grouping, + version: @version, + elixir: "~> 1.6", + build_embedded: Mix.env == :prod, + start_permanent: Mix.env == :prod, + description: description(), + package: package(), + deps: deps(), + source_url: "https://github.com/googleapis/elixir-google-api/tree/master/clients/play_grouping" + ] + end + + def application() do + [extra_applications: [:logger]] + end + + defp deps() do + [ + {:google_gax, "~> 0.4"}, + + {:ex_doc, "~> 0.16", only: :dev} + ] + end + + defp description() do + """ + Google Play Grouping API client library. playgrouping.googleapis.com API. + """ + end + + defp package() do + [ + files: ["lib", "mix.exs", "README*", "LICENSE"], + maintainers: ["Jeff Ching", "Daniel Azuma"], + licenses: ["Apache 2.0"], + links: %{ + "GitHub" => "https://github.com/googleapis/elixir-google-api/tree/master/clients/play_grouping", + "Homepage" => "https://cloud.google.com/playgrouping/" + } + ] + end +end diff --git a/clients/play_grouping/test/test_helper.exs b/clients/play_grouping/test/test_helper.exs new file mode 100644 index 0000000000..8a5a6257b2 --- /dev/null +++ b/clients/play_grouping/test/test_helper.exs @@ -0,0 +1,35 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +ExUnit.start() + +defmodule GoogleApi.PlayGrouping.TestHelper do + + defmacro __using__(opts) do + quote do + use ExUnit.Case, unquote(opts) + import GoogleApi.PlayGrouping.TestHelper + end + end + + def for_scope(scopes) when is_list(scopes), do: for_scope(Enum.join(scopes, " ")) + def for_scope(scope) do + {:ok, token} = Goth.Token.for_scope(scope) + token.token + end + +end