Class: Verizon::FirmwareV3Controller
- Inherits:
-
BaseController
- Object
- BaseController
- Verizon::FirmwareV3Controller
- Defined in:
- lib/verizon/controllers/firmware_v3_controller.rb
Overview
FirmwareV3Controller
Constant Summary
Constants inherited from BaseController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#list_available_firmware(acc, protocol) ⇒ ApiResponse
This endpoint allows user to list the firmware of an account.
-
#report_device_firmware(acc, device_id) ⇒ ApiResponse
Ask a device to report its firmware version asynchronously.
-
#synchronize_device_firmware(acc, body) ⇒ ApiResponse
Synchronize ThingSpace with the FOTA server for up to 100 devices.
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
#list_available_firmware(acc, protocol) ⇒ ApiResponse
This endpoint allows user to list the firmware of an account. retrieve a specific protocol type used.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/verizon/controllers/firmware_v3_controller.rb', line 14 def list_available_firmware(acc, protocol) new_api_call_builder .request(new_request_builder(HttpMethodEnum::GET, '/firmware/{acc}', Server::SOFTWARE_MANAGEMENT_V3) .template_param(new_parameter(acc, key: 'acc') .should_encode(true)) .query_param(new_parameter(protocol, key: 'protocol')) .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(FirmwarePackage.method(:from_hash)) .is_api_response(true) .is_response_array(true) .local_error('400', 'Unexpected error.', FotaV3ResultException)) .execute end |
#report_device_firmware(acc, device_id) ⇒ ApiResponse
Ask a device to report its firmware version asynchronously.
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/verizon/controllers/firmware_v3_controller.rb', line 68 def report_device_firmware(acc, device_id) new_api_call_builder .request(new_request_builder(HttpMethodEnum::PUT, '/firmware/{acc}/async/{deviceId}', Server::SOFTWARE_MANAGEMENT_V3) .template_param(new_parameter(acc, key: 'acc') .should_encode(true)) .template_param(new_parameter(device_id, key: 'deviceId') .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(DeviceFirmwareVersionUpdateResult.method(:from_hash)) .is_api_response(true) .local_error('400', 'Unexpected error.', FotaV3ResultException)) .execute end |
#synchronize_device_firmware(acc, body) ⇒ ApiResponse
Synchronize ThingSpace with the FOTA server for up to 100 devices. info synchronously.
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/firmware_v3_controller.rb', line 41 def synchronize_device_firmware(acc, body) new_api_call_builder .request(new_request_builder(HttpMethodEnum::PUT, '/firmware/{acc}/devices', Server::SOFTWARE_MANAGEMENT_V3) .template_param(new_parameter(acc, key: 'acc') .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(DeviceFirmwareList.method(:from_hash)) .is_api_response(true) .local_error('400', 'Unexpected error.', FotaV3ResultException)) .execute end |