From 4490df0aef678ec99af199e736458d502b088f1d Mon Sep 17 00:00:00 2001 From: Matthew Oslan Date: Sat, 25 May 2019 15:00:42 -0400 Subject: [PATCH] Improve WeatherProvider error handling --- routes/weather.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/routes/weather.ts b/routes/weather.ts index 4669695..21b8cb9 100644 --- a/routes/weather.ts +++ b/routes/weather.ts @@ -182,6 +182,11 @@ function checkWeatherRestriction( adjustmentValue: number, weather: WateringData export const getWeatherData = async function( req: express.Request, res: express.Response ) { const location: string = getParameter(req.query.loc); + if ( !weatherProvider.getWeatherData ) { + res.send( "Error: selected WeatherProvider does not support getWeatherData" ); + return; + } + let coordinates: GeoCoordinates; try { coordinates = await resolveCoordinates( location ); @@ -250,6 +255,11 @@ export const getWateringData = async function( req: express.Request, res: expres let timeData: TimeData = getTimeData( coordinates ); let wateringData: WateringData; if ( adjustmentMethod !== ADJUSTMENT_METHOD.MANUAL ) { + if ( !weatherProvider.getWateringData ) { + res.send( "Error: selected WeatherProvider does not support getWateringData" ); + return; + } + wateringData = await weatherProvider.getWateringData( coordinates ); }