diff --git a/index.js b/index.js index ef84e20..252e35f 100644 --- a/index.js +++ b/index.js @@ -586,12 +586,17 @@ class WebUntis { }); if (typeof response.data.data !== 'object') throw new Error('Server returned invalid data.'); - if ( - !response.data.data.result || - !response.data.data.result.data || - !response.data.data.result.data.elementPeriods || - !response.data.data.result.data.elementPeriods[id] - ) + + if (response.data.data.error) { + /* known codes: + * - ERR_TTVIEW_NOTALLOWED_ONDATE + */ + const err = new Error("Server responded with error"); + err.code = response.data.data.error?.data?.messageKey; + throw err; + } + + if (!response.data.data.result?.data?.elementPeriods?.[id]) throw new Error('Invalid response'); const data = response.data.data.result.data;