Class: Verizon::SoftwareManagementCallbacksV1Controller

Inherits:
BaseController
  • Object
show all
Defined in:
lib/verizon/controllers/software_management_callbacks_v1_controller.rb

Overview

SoftwareManagementCallbacksV1Controller

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(account, service) ⇒ ApiResponse

Deregisters the callback endpoint and stops ThingSpace from sending FOTA callback messages for the specified account. “##########-#####”. Must be ‘Fota’ for Software Management Services API.

Parameters:

  • account (String)

    Required parameter: Account identifier in

  • service (CallbackServiceEnum)

    Required parameter: Callback type.

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/verizon/controllers/software_management_callbacks_v1_controller.rb', line 71

def deregister_callback(,
                        service)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::DELETE,
                                 '/callbacks/{account}/name/{service}',
                                 Server::SOFTWARE_MANAGEMENT_V1)
               .template_param(new_parameter(, key: 'account')
                                .should_encode(true))
               .template_param(new_parameter(service, key: 'service')
                                .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(FotaV1SuccessResult.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Unexpected error.',
                             FotaV1ResultException))
    .execute
end

#list_registered_callbacks(account) ⇒ ApiResponse

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

Parameters:

  • account (String)

    Required parameter: Account identifier in

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/verizon/controllers/software_management_callbacks_v1_controller.rb', line 14

def list_registered_callbacks()
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/callbacks/{account}',
                                 Server::SOFTWARE_MANAGEMENT_V1)
               .template_param(new_parameter(, key: 'account')
                                .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(RegisteredCallbacks.method(:from_hash))
                .is_api_response(true)
                .is_response_array(true)
                .local_error('400',
                             'Unexpected error.',
                             FotaV1ResultException))
    .execute
end

#register_callback(account, body) ⇒ ApiResponse

Registers a URL to receive RESTful messages from a callback service when new firmware versions are available and when upgrades start and finish. “##########-#####”. Callback details.

Parameters:

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



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

def register_callback(,
                      body)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/callbacks/{account}',
                                 Server::SOFTWARE_MANAGEMENT_V1)
               .template_param(new_parameter(, key: 'account')
                                .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(FotaV1CallbackRegistrationResult.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Unexpected error.',
                             FotaV1ResultException))
    .execute
end