import StopAdapterInterface from './StopAdapterInterface'; import Stop from '../entity/Stop'; export default class StopAdapter implements StopAdapterInterface { adapt(json: any, instance: Stop): Stop { instance.id = json.id || json.location_id; instance.administrative_authority_full_name = json.full_name; instance.name = json.name; instance.administrative_authority_id = json.administrative_authority_id || json.city_id; instance.administrative_authority_name = json.administrative_authority_name || json.city_name; instance.passenger_description = json.customer_description; instance.driver_description = json.driver_description; instance.latitude = json.latitude; instance.longitude = json.longitude; instance.address = json.address; instance.postal_code = json.postal_code; instance.images = []; instance.number_of_routes = json.routes || 0; instance.number_of_journeys = json.journeys || 0; instance.stop_group_id = json.stop_id; instance.stop_group_name = json.stop_name; return instance; } prepare(instance: Stop): object { let object = { id: instance.id, administrative_authority_id: instance.administrative_authority_id, name: instance.name, administrative_authority_name: instance.administrative_authority_name, latitude: instance.latitude.toString(), longitude: instance.longitude.toString(), address: instance.address, postal_code: instance.postal_code, customer_description: instance.passenger_description, driver_description: instance.driver_description, images: instance.images, }; return object; } transformToEntity(json: any): Stop { return this.adapt(json, new Stop()); } transformToPayload(instance: Stop): any { return this.prepare(instance); } }