Class: TeamBattlesSdk::Generated::Matches::Create::CreateRequestBuilder

Inherits:
MicrosoftKiotaAbstractions::BaseRequestBuilder
  • Object
show all
Defined in:
lib/teambattles_sdk/generated/matches/create/create_request_builder.rb

Overview

Builds and executes requests for operations under #matches#create

Instance Method Summary collapse

Constructor Details

#initialize(path_parameters, request_adapter) ⇒ Object

Instantiates a new CreateRequestBuilder and sets the default values.

Parameters:

  • path_parameters

    Path parameters for the request

  • request_adapter

    The request adapter to use to execute the requests.



23
24
25
# File 'lib/teambattles_sdk/generated/matches/create/create_request_builder.rb', line 23

def initialize(path_parameters, request_adapter)
    super(path_parameters, request_adapter, "{+baseurl}/matches/create")
end

Instance Method Details

#post(body, request_configuration = nil) ⇒ Object

Creates a new match as the personal API key owner. The owner must captain the creator team and the active roster must be members of that team. League and challenge rules are enforced exactly as in the web app. Requires matches.user_matches:read-write and API writes access. Supports an optional ‘Idempotency-Key` header for safe retries.

Parameters:

  • body

    Creates a new match as the API key owner.

  • request_configuration (defaults to: nil)

    Configuration for the request such as headers, query parameters, and middleware options.

Returns:

  • a Fiber of create_match_response

Raises:

  • (StandardError)


32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/teambattles_sdk/generated/matches/create/create_request_builder.rb', line 32

def post(body, request_configuration=nil)
    raise StandardError, 'body cannot be null' if body.nil?
    request_info = self.to_post_request_information(
        body, request_configuration
    )
    error_mapping = Hash.new
    error_mapping["400"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    error_mapping["401"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    error_mapping["403"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    error_mapping["404"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    error_mapping["409"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    error_mapping["429"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    error_mapping["500"] = lambda {|pn| TeamBattlesSdk::Generated::Models::Error.create_from_discriminator_value(pn) }
    return @request_adapter.send_async(request_info, lambda {|pn| TeamBattlesSdk::Generated::Models::CreateMatchResponse.create_from_discriminator_value(pn) }, error_mapping)
end

#to_post_request_information(body, request_configuration = nil) ⇒ Object

Creates a new match as the personal API key owner. The owner must captain the creator team and the active roster must be members of that team. League and challenge rules are enforced exactly as in the web app. Requires matches.user_matches:read-write and API writes access. Supports an optional ‘Idempotency-Key` header for safe retries.

Parameters:

  • body

    Creates a new match as the API key owner.

  • request_configuration (defaults to: nil)

    Configuration for the request such as headers, query parameters, and middleware options.

Returns:

  • a request_information

Raises:

  • (StandardError)


53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/teambattles_sdk/generated/matches/create/create_request_builder.rb', line 53

def to_post_request_information(body, request_configuration=nil)
    raise StandardError, 'body cannot be null' if body.nil?
    request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
    unless request_configuration.nil?
        request_info.add_headers_from_raw_object(request_configuration.headers)
        request_info.add_request_options(request_configuration.options)
    end
    request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
    request_info.url_template = @url_template
    request_info.path_parameters = @path_parameters
    request_info.http_method = :POST
    request_info.headers.try_add('Accept', 'application/json')
    return request_info
end

#with_url(raw_url) ⇒ Object

Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.

Parameters:

  • raw_url

    The raw URL to use for the request builder.

Returns:

  • a create_request_builder

Raises:

  • (StandardError)


72
73
74
75
# File 'lib/teambattles_sdk/generated/matches/create/create_request_builder.rb', line 72

def with_url(raw_url)
    raise StandardError, 'raw_url cannot be null' if raw_url.nil?
    return CreateRequestBuilder.new(raw_url, @request_adapter)
end