Class: CalendarApi::FreeBusyApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/calendar_api/apis/free_busy_api.rb

Overview

FreeBusyApi

Constant Summary

Constants inherited from BaseApi

BaseApi::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseApi

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseApi

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from CalendarApi::BaseApi

Instance Method Details

#query_free_busy(body) ⇒ ApiResponse

Returns free/busy information for a set of calendars and groups. free-busy information.

Parameters:

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/calendar_api/apis/free_busy_api.rb', line 13

def query_free_busy(body)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/freeBusy',
                                 Server::DEFAULT)
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .body_param(new_parameter(body)
                            .is_required(true))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(Single.new('oauth2')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(FreeBusyResponse.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Bad request — invalid parameters or request body.',
                             ErrorResponseError1Exception)
                .local_error('401',
                             'Authentication required or credentials are invalid.',
                             ErrorResponseError1Exception))
    .execute
end