diff options
Diffstat (limited to 'alarm/node_modules/pronote-api/src/errors.js')
-rw-r--r-- | alarm/node_modules/pronote-api/src/errors.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/errors.js b/alarm/node_modules/pronote-api/src/errors.js new file mode 100644 index 0000000..5bb6e17 --- /dev/null +++ b/alarm/node_modules/pronote-api/src/errors.js @@ -0,0 +1,30 @@ +const PRONOTE = error(-1, ({ title, message }) => title + (title && message ? ' - ' : '') + message); +const UNKNOWN_CAS = error(1, cas => `Unknown CAS '${cas}' (use 'none' for no CAS)`); +const BANNED = error(2, 'Your IP address is temporarily banned because of too many failed authentication attempts'); +const WRONG_CREDENTIALS = error(3, 'Wrong user credentials'); +const UNKNOWN_ACCOUNT = error(4, typeAccount => `Unknown account type '${typeAccount}'`); +const SESSION_EXPIRED = error(5, 'Session has expired due to inactivity or error'); +const RATE_LIMITED = error(6, 'You are being rate limited because of too many failed requests'); +const CLOSED = error(7, 'The instance is closed, try again later'); + +function error(code, message) +{ + return { + code, + drop: (...args) => ({ + code, + message: typeof message === 'string' ? message : message(...args) + }) + } +} + +module.exports = { + PRONOTE, + UNKNOWN_CAS, + BANNED, + WRONG_CREDENTIALS, + UNKNOWN_ACCOUNT, + SESSION_EXPIRED, + RATE_LIMITED, + CLOSED +}; |