summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/src/errors.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/pronote-api/src/errors.js')
-rw-r--r--alarm/node_modules/pronote-api/src/errors.js30
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
+};