Add default implementations to WeatherProvider
This commit is contained in:
@@ -184,11 +184,6 @@ 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 );
|
||||
@@ -263,11 +258,6 @@ export const getWateringData = async function( req: express.Request, res: expres
|
||||
let timeData: TimeData = getTimeData( coordinates );
|
||||
let wateringData: WateringData;
|
||||
if ( adjustmentMethod !== ADJUSTMENT_METHOD.MANUAL || checkRestrictions ) {
|
||||
if ( !weatherProvider.getWateringData ) {
|
||||
res.send( "Error: selected WeatherProvider does not support getWateringData" );
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
wateringData = await weatherProvider.getWateringData( coordinates );
|
||||
} catch ( err ) {
|
||||
|
||||
@@ -5,15 +5,21 @@ export class WeatherProvider {
|
||||
* Retrieves weather data necessary for watering level calculations.
|
||||
* @param coordinates The coordinates to retrieve the watering data for.
|
||||
* @return A Promise that will be resolved with the WateringData if it is successfully retrieved,
|
||||
* or rejected with an error message if an error occurs while retrieving the WateringData.
|
||||
* or rejected with an error message if an error occurs while retrieving the WateringData or the WeatherProvider
|
||||
* does not support this method.
|
||||
*/
|
||||
getWateringData?( coordinates : GeoCoordinates ): Promise< WateringData >;
|
||||
getWateringData( coordinates : GeoCoordinates ): Promise< WateringData > {
|
||||
throw "Selected WeatherProvider does not support getWateringData";
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the current weather data for usage in the mobile app.
|
||||
* @param coordinates The coordinates to retrieve the weather for
|
||||
* @return A Promise that will be resolved with the WeatherData if it is successfully retrieved,
|
||||
* or rejected with an error message if an error occurs while retrieving the WeatherData.
|
||||
* or rejected with an error message if an error occurs while retrieving the WeatherData or the WeatherProvider does
|
||||
* not support this method.
|
||||
*/
|
||||
getWeatherData?( coordinates : GeoCoordinates ): Promise< WeatherData >;
|
||||
getWeatherData( coordinates : GeoCoordinates ): Promise< WeatherData > {
|
||||
throw "Selected WeatherProvider does not support getWeatherData";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user