national-rail-darwin-promises
Version:
national rail's darwin soap based api with promises
124 lines (108 loc) • 4.07 kB
JavaScript
const soapHeader = `
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:typ="http://thalesgroup.com/RTTI/2013-11-28/Token/types" xmlns:ldb="http://thalesgroup.com/RTTI/2017-10-01/ldb/">
<soap:Header>
<typ:AccessToken>
<typ:TokenValue>$$TOKEN$$</typ:TokenValue>
</typ:AccessToken>
</soap:Header>`;
const getServiceBoardStandardRequest = `
<ldb:numRows>$$ROWS$$</ldb:numRows>
<ldb:crs>$$FROM$$</ldb:crs>
<ldb:filterCrs>$$DESTINATION$$</ldb:filterCrs>
<ldb:filterType>to</ldb:filterType>
<ldb:timeOffset>$$TIMEOFFSET$$</ldb:timeOffset>
<ldb:timeWindow>$$TIMEWINDOW$$</ldb:timeWindow>`;
const getServiceStandardRequest = `
<ldb:crs>$$FROM$$</ldb:crs>
<ldb:filterList>
<ldb:crs>$$DESTINATION$$</ldb:crs>
</ldb:filterList>
<ldb:timeOffset>$$TIMEOFFSET$$</ldb:timeOffset>
<ldb:timeWindow>$$TIMEWINDOW$$</ldb:timeWindow>`;
const arrivalsBoardWithDetails = `
${soapHeader}
<soap:Body>
<ldb:GetArrBoardWithDetailsRequest>${getServiceBoardStandardRequest}</ldb:GetArrBoardWithDetailsRequest>
</soap:Body>
</soap:Envelope>`;
const arrivalsDepartureBoard = `
${soapHeader}
<soap:Body>
<ldb:GetArrivalDepartureBoardRequest>${getServiceBoardStandardRequest}</ldb:GetArrivalDepartureBoardRequest>
</soap:Body>
</soap:Envelope>`;
const arrivalsDepartureBoardWithDetails = `
${soapHeader}
<soap:Body>
<ldb:GetArrDepBoardWithDetailsRequest>${getServiceBoardStandardRequest}</ldb:GetArrDepBoardWithDetailsRequest>
</soap:Body>
</soap:Envelope>`;
const departureBoardTemplate = `
${soapHeader}
<soap:Body>
<ldb:GetDepartureBoardRequest>${getServiceBoardStandardRequest}</ldb:GetDepartureBoardRequest>
</soap:Body>
</soap:Envelope>`;
const departureBoardWithDetails = `
${soapHeader}
<soap:Body>
<ldb:GetDepBoardWithDetailsRequest>${getServiceBoardStandardRequest}</ldb:GetDepBoardWithDetailsRequest>
</soap:Body>
</soap:Envelope>`;
const arrivalsBoardTemplate = `
${soapHeader}
<soap:Body>
<ldb:GetArrivalBoardRequest>${getServiceBoardStandardRequest}</ldb:GetArrivalBoardRequest>
</soap:Body>
</soap:Envelope>`;
const serviceDetailsTemplate = `
${soapHeader}
<soap:Body>
<ldb:GetServiceDetailsRequest>
<ldb:serviceID>$$SERVICEID$$</ldb:serviceID>
</ldb:GetServiceDetailsRequest>
</soap:Body>
</soap:Envelope>`;
const nextDeparture = `
${soapHeader}
<soap:Body>
<ldb:GetNextDeparturesRequest>${getServiceStandardRequest}</ldb:GetNextDeparturesRequest>
</soap:Body>
</soap:Envelope>`;
const nextDepartureWithDetails = `
${soapHeader}
<soap:Body>
<ldb:GetNextDeparturesWithDetailsRequest>${getServiceStandardRequest}</ldb:GetNextDeparturesWithDetailsRequest>
</soap:Body>
</soap:Envelope>`;
const nextArrival = `
${soapHeader}
<soap:Body>
<ldb:GetArrivalBoardRequest>${getServiceStandardRequest}</ldb:GetArrivalBoardRequest>
</soap:Body>
</soap:Envelope>`;
const fastestDeparture = `
${soapHeader}
<soap:Body>
<ldb:GetFastestDeparturesRequest>${getServiceStandardRequest}</ldb:GetFastestDeparturesRequest>
</soap:Body>
</soap:Envelope>`;
const fastestDepartureWithDetails = `
${soapHeader}
<soap:Body>
<ldb:GetFastestDeparturesWithDetailsRequest>${getServiceStandardRequest}</ldb:GetFastestDeparturesWithDetailsRequest>
</soap:Body>
</soap:Envelope>`;
module.exports.departureBoard = departureBoardTemplate;
module.exports.arrivalsBoard = arrivalsBoardTemplate;
module.exports.arrivalsBoardWithDetails = arrivalsBoardWithDetails;
module.exports.arrivalsDepartureBoard = arrivalsDepartureBoard;
module.exports.arrivalsDepartureBoardWithDetails = arrivalsDepartureBoardWithDetails;
module.exports.serviceDetails = serviceDetailsTemplate;
module.exports.nextDeparture = nextDeparture;
module.exports.nextDepartureWithDetails = nextDepartureWithDetails;
module.exports.departureBoardWithDetails = departureBoardWithDetails;
module.exports.fastestDeparture = fastestDeparture;
module.exports.fastestDepartureWithDetails = fastestDepartureWithDetails;
module.exports.nextArrival = nextArrival;
module.exports.header = soapHeader;