Class: Verizon::ConnectivityCallbacksController

Inherits:
BaseController show all
Defined in:
lib/verizon/controllers/connectivity_callbacks_controller.rb

Overview

ConnectivityCallbacksController

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

#initialize, #new_api_call_builder, #new_parameter, #new_request_builder, #new_response_handler, user_agent

Constructor Details

This class inherits a constructor from Verizon::BaseController

Instance Method Details

#deregister_callback(aname, sname) ⇒ ApiResponse

Stops ThingSpace from sending callback messages for the specified account and service.

Parameters:

  • aname (String)

    Required parameter: Account name.

  • sname (String)

    Required parameter: Service name.

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/verizon/controllers/connectivity_callbacks_controller.rb', line 67

def deregister_callback(aname,
                        sname)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::DELETE,
                                 '/m2m/v1/callbacks/{aname}/name/{sname}',
                                 Server::THINGSPACE)
               .template_param(new_parameter(aname, key: 'aname')
                                .should_encode(true))
               .template_param(new_parameter(sname, key: 'sname')
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(And.new('thingspace_oauth', 'VZ-M2M-Token')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(CallbackActionResult.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Error response.',
                             ConnectivityManagementResultException))
    .execute
end

#list_registered_callbacks(aname) ⇒ ApiResponse

Returns the name and endpoint URL of the callback listening services registered for a given account.

Parameters:

  • aname (String)

    Required parameter: Account name.

Returns:

  • (ApiResponse)

    the 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
# File 'lib/verizon/controllers/connectivity_callbacks_controller.rb', line 13

def list_registered_callbacks(aname)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/m2m/v1/callbacks/{aname}',
                                 Server::THINGSPACE)
               .template_param(new_parameter(aname, key: 'aname')
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(And.new('thingspace_oauth', 'VZ-M2M-Token')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(ConnectivityManagementCallback.method(:from_hash))
                .is_api_response(true)
                .is_response_array(true)
                .local_error('400',
                             'Error response.',
                             ConnectivityManagementResultException))
    .execute
end

#register_callback(aname, body) ⇒ ApiResponse

You are responsible for creating and running a listening process on your server at that URL. register a callback.

Parameters:

  • aname (String)

    Required parameter: Account name.

  • body (RegisterCallbackRequest)

    Required parameter: Request to

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/verizon/controllers/connectivity_callbacks_controller.rb', line 39

def register_callback(aname,
                      body)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/m2m/v1/callbacks/{aname}',
                                 Server::THINGSPACE)
               .template_param(new_parameter(aname, key: 'aname')
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .body_param(new_parameter(body))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(And.new('thingspace_oauth', 'VZ-M2M-Token')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(CallbackActionResult.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Error response.',
                             ConnectivityManagementResultException))
    .execute
end