import ApiClient from './ApiClient'; import { mapGetAccountAddress } from './accountManagementUtils'; import { GetAccountAddress, GetAccountAddressRequest, GetAccountAccountInfoResponse, UpdateAccountAddress, UpdateAccountAddressRequest, UpdateAccountAccountInfoResponse, } from './types/Address'; import { GetCountryRequest, GetCountryResponse } from './types/Country'; import urls from './urls'; export default class AccountClient { async getAddress(this: ApiClient): Promise { const data = await this.requestProtected< GetAccountAddressRequest, GetAccountAccountInfoResponse >({ method: 'GET', url: urls.getAccountAddress(), }); return mapGetAccountAddress(data); } async updateAddress( this: ApiClient, data: UpdateAccountAddressRequest, ): Promise { const response = await this.requestProtected< UpdateAccountAddressRequest, UpdateAccountAccountInfoResponse >({ method: 'PATCH', url: urls.updateAccountAddress(), body: data, }); return mapGetAccountAddress(response); } async getCountries(this: ApiClient): Promise { return await this.requestProtected({ method: 'GET', url: urls.getCountries(), }); } }