# Copyright 2017 Google Inc. # # 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 class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Games.V1.Api.Rooms do @moduledoc """ API calls for all endpoints tagged `Rooms`. """ alias GoogleApi.Games.V1.Connection import GoogleApi.Games.V1.RequestBuilder @doc """ Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. - :body (RoomCreateRequest): ## Returns {:ok, %GoogleApi.Games.V1.Model.Room{}} on success {:error, info} on failure """ @spec games_rooms_create(Tesla.Env.client, keyword()) :: {:ok, GoogleApi.Games.V1.Model.Room.t} | {:error, Tesla.Env.t} def games_rooms_create(connection, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query, :"body" => :body } %{} |> method(:post) |> url("/rooms/create") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.Room{}) end @doc """ Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - room_id (String): The ID of the room. - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. ## Returns {:ok, %GoogleApi.Games.V1.Model.Room{}} on success {:error, info} on failure """ @spec games_rooms_decline(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Games.V1.Model.Room.t} | {:error, Tesla.Env.t} def games_rooms_decline(connection, room_id, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query } %{} |> method(:post) |> url("/rooms/{roomId}/decline", %{ "roomId" => URI.encode_www_form(room_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.Room{}) end @doc """ Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - room_id (String): The ID of the room. - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. ## Returns {:ok, %{}} on success {:error, info} on failure """ @spec games_rooms_dismiss(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def games_rooms_dismiss(connection, room_id, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query } %{} |> method(:post) |> url("/rooms/{roomId}/dismiss", %{ "roomId" => URI.encode_www_form(room_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(false) end @doc """ Get the data for a room. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - room_id (String): The ID of the room. - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. ## Returns {:ok, %GoogleApi.Games.V1.Model.Room{}} on success {:error, info} on failure """ @spec games_rooms_get(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Games.V1.Model.Room.t} | {:error, Tesla.Env.t} def games_rooms_get(connection, room_id, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query } %{} |> method(:get) |> url("/rooms/{roomId}", %{ "roomId" => URI.encode_www_form(room_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.Room{}) end @doc """ Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - room_id (String): The ID of the room. - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. - :body (RoomJoinRequest): ## Returns {:ok, %GoogleApi.Games.V1.Model.Room{}} on success {:error, info} on failure """ @spec games_rooms_join(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Games.V1.Model.Room.t} | {:error, Tesla.Env.t} def games_rooms_join(connection, room_id, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query, :"body" => :body } %{} |> method(:post) |> url("/rooms/{roomId}/join", %{ "roomId" => URI.encode_www_form(room_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.Room{}) end @doc """ Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - room_id (String): The ID of the room. - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. - :body (RoomLeaveRequest): ## Returns {:ok, %GoogleApi.Games.V1.Model.Room{}} on success {:error, info} on failure """ @spec games_rooms_leave(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Games.V1.Model.Room.t} | {:error, Tesla.Env.t} def games_rooms_leave(connection, room_id, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query, :"body" => :body } %{} |> method(:post) |> url("/rooms/{roomId}/leave", %{ "roomId" => URI.encode_www_form(room_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.Room{}) end @doc """ Returns invitations to join rooms. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. - :max_results (Integer): The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the specified maxResults. - :page_token (String): The token returned by the previous request. ## Returns {:ok, %GoogleApi.Games.V1.Model.RoomList{}} on success {:error, info} on failure """ @spec games_rooms_list(Tesla.Env.client, keyword()) :: {:ok, GoogleApi.Games.V1.Model.RoomList.t} | {:error, Tesla.Env.t} def games_rooms_list(connection, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query, :"maxResults" => :query, :"pageToken" => :query } %{} |> method(:get) |> url("/rooms") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.RoomList{}) end @doc """ Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported. ## Parameters - connection (GoogleApi.Games.V1.Connection): Connection to server - room_id (String): The ID of the room. - opts (KeywordList): [optional] Optional parameters - :alt (String): Data format for the response. - :fields (String): Selector specifying which fields to include in a partial response. - :key (String): 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 (String): OAuth 2.0 token for the current user. - :pretty_print (Boolean): Returns response with indentations and line breaks. - :quota_user (String): 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. Overrides userIp if both are provided. - :user_ip (String): IP address of the site where the request originates. Use this if you want to enforce per-user limits. - :consistency_token (String): The last-seen mutation timestamp. - :language (String): The preferred language to use for strings returned by this method. - :body (RoomP2PStatuses): ## Returns {:ok, %GoogleApi.Games.V1.Model.RoomStatus{}} on success {:error, info} on failure """ @spec games_rooms_report_status(Tesla.Env.client, String.t, keyword()) :: {:ok, GoogleApi.Games.V1.Model.RoomStatus.t} | {:error, Tesla.Env.t} def games_rooms_report_status(connection, room_id, opts \\ []) do optional_params = %{ :"alt" => :query, :"fields" => :query, :"key" => :query, :"oauth_token" => :query, :"prettyPrint" => :query, :"quotaUser" => :query, :"userIp" => :query, :"consistencyToken" => :query, :"language" => :query, :"body" => :body } %{} |> method(:post) |> url("/rooms/{roomId}/reportstatus", %{ "roomId" => URI.encode_www_form(room_id) }) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%GoogleApi.Games.V1.Model.RoomStatus{}) end end