import TravelStopPricingAdapterInterface from './TravelStopPricingAdapterInterface'; import TravelStopPricing from '../entity/TravelStopPricing'; export default class TravelStopPricingAdapter implements TravelStopPricingAdapterInterface { adapt(json: any, instance: TravelStopPricing): TravelStopPricing { instance.one_leg_price = json.out_only_price; instance.two_legs_price = json.return_price; if (json.one_way_price !== null) { instance.one_leg_price = instance.calculatePriceByPrecision( json.one_way_price.amount, json.one_way_price.precision ); } if (json.return_price !== null) { instance.two_legs_price = instance.calculatePriceByPrecision( json.return_price.amount, json.return_price.precision ); } return instance; } prepare(instance: TravelStopPricing): object { let one_way_price = null; if (instance.one_leg_price) { one_way_price = { amount: instance.one_leg_price * 100, currency: 'GBP', precision: 2 }; } let return_price = null; if (instance.two_legs_price) { return_price = { amount: instance.two_legs_price * 100, currency: 'GBP', precision: 2 }; } return { destination_stop_id: instance.destination_stop.stop.id, one_way_price, return_price, }; } }