UNPKG

ask-sdk-v1adapter

Version:
53 lines 2.57 kB
"use strict"; /* * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * http://www.apache.org/licenses/LICENSE-2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceAddressService = void 0; const serviceError_1 = require("./serviceError"); const v1ApiClient_1 = require("./v1ApiClient"); class DeviceAddressService { constructor(apiClient) { this.apiClient = apiClient || new v1ApiClient_1.V1ApiClient(); this.deviceAddressPathPrefix = '/v1/devices/'; this.deviceAddressPathPostfix = '/settings/address'; this.countryAndPostalPathPostfix = '/countryAndPostalCode'; } async getFullAddress(deviceId, apiEndpoint, token) { const uri = apiEndpoint + this.deviceAddressPathPrefix + deviceId + this.deviceAddressPathPostfix; const headers = [{ key: 'Authorization', value: `Bearer ${token}` }]; const response = await this.apiClient.get(uri, headers); return this.validateApiResponse(response); } async getCountryAndPostalCode(deviceId, apiEndpoint, token) { const uri = apiEndpoint + this.deviceAddressPathPrefix + deviceId + this.deviceAddressPathPostfix + this.countryAndPostalPathPostfix; const headers = [{ key: 'Authorization', value: `Bearer ${token}` }]; const response = await this.apiClient.get(uri, headers); return this.validateApiResponse(response); } validateApiResponse(apiClientResponse) { const isResponseCodeValid = apiClientResponse.statusCode >= 200 && apiClientResponse.statusCode < 300; let responseBody; try { responseBody = apiClientResponse.body && JSON.parse(apiClientResponse.body); } catch (err) { responseBody = apiClientResponse.body; } if (isResponseCodeValid) { return responseBody; } throw new serviceError_1.ServiceError(apiClientResponse.statusCode, JSON.stringify(responseBody)); } } exports.DeviceAddressService = DeviceAddressService; //# sourceMappingURL=deviceAddressService.js.map