@astro-my/idc-code
v1.0.24
Published
Constants enumerating the Identity status and error codes.
Downloads
69
Readme
Identity Status and Error Codes
Constants enumerating the Identity status and error codes.
This package is a simple collection of all the possible error codes, identity as a whole can throw. Refer this for mapping error codes with appropriate description/messages.
All status codes defined in RFC1945 (HTTP/1.0), RFC2616 (HTTP/1.1), RFC2518 (WebDAV), RFC6585 (Additional HTTP Status Codes), and RFC7538 (Permanent Redirect) are supported.
The error codes depends on the services. Preferred naming convention is to start the error code with initial of service name, for eg any error code relating to template service will start from TS
Completely library agnostic. No dependencies.
Installation
npm install @astro-my/idc-code --save
or
yarn add @astro-my/idc-code
Usage
const ICode = require('@astro-my/idc-code');
response
.status(ICode.HTTP.OK)
.send('ok');
response
.status(ICode.HTTP.INTERNAL_SERVER_ERROR)
.send({
error: ICode.getStatusText('HTTP.INTERNAL_SERVER_ERROR')
});
const template = Template.findOne('123');
if(!template) {
// it will throw 'TS001'
throw ICode.TEMPLATE_SERVICE.TEMPLATE_NOT_FOUND;
}
For developers, who need to add their own error/status code
You need to create one new file, under codes folder. If you are creating error codes for services then for clarity, its strongly recemonded to put it under codes/services folder.
// store will give you peristent storage on disk, so that the error codes/status you are going to generate will be saved to retrive the description later on
// create is a helper function to register your service
const { store, create } = require('../../store');
const SERVICE = 'TEMPLATE_SERVICE';
// create new service in store
create(SERVICE);
// this is how you define new statuses
store[SERVICE][exports.TEMPLATE_NOT_FOUND = 'TS001'] = 'Template you are looking for doesn\'t exist';
Once done, just import this file in index.js and expose it for outer world :)
Codes
HTTP CODES
Constant | Code | Status Text ------------------------------------|-------|----------------------------------- ACCEPTED | 202 | Accepted BAD_GATEWAY | 502 | Bad Gateway BAD_REQUEST | 400 | Bad Request CONFLICT | 409 | Conflict CONTINUE | 100 | Continue CREATED | 201 | Created EXPECTATION_FAILED | 417 | Expectation Failed FAILED_DEPENDENCY | 424 | Failed Dependency FORBIDDEN | 403 | Forbidden GATEWAY_TIMEOUT | 504 | Gateway Timeout GONE | 410 | Gone HTTP_VERSION_NOT_SUPPORTED | 505 | HTTP Version Not Supported IM_A_TEAPOT | 418 | I'm a teapot INSUFFICIENT_SPACE_ON_RESOURCE | 419 | Insufficient Space on Resource INSUFFICIENT_STORAGE | 507 | Insufficient Storage INTERNAL_SERVER_ERROR | 500 | Server Error LENGTH_REQUIRED | 411 | Length Required LOCKED | 423 | Locked METHOD_FAILURE | 420 | Method Failure METHOD_NOT_ALLOWED | 405 | Method Not Allowed MOVED_PERMANENTLY | 301 | Moved Permanently MOVED_TEMPORARILY | 302 | Moved Temporarily MULTI_STATUS | 207 | Multi-Status MULTIPLE_CHOICES | 300 | Multiple Choices NETWORK_AUTHENTICATION_REQUIRED | 511 | Network Authentication Required NO_CONTENT | 204 | No Content NON_AUTHORITATIVE_INFORMATION | 203 | Non Authoritative Information NOT_ACCEPTABLE | 406 | Not Acceptable NOT_FOUND | 404 | Not Found NOT_IMPLEMENTED | 501 | Not Implemented NOT_MODIFIED | 304 | Not Modified OK | 200 | OK PARTIAL_CONTENT | 206 | Partial Content PAYMENT_REQUIRED | 402 | Payment Required PERMANENT_REDIRECT | 308 | Permanent Redirect PRECONDITION_FAILED | 412 | Precondition Failed PRECONDITION_REQUIRED | 428 | Precondition Required PROCESSING | 102 | Processing PROXY_AUTHENTICATION_REQUIRED | 407 | Proxy Authentication Required REQUEST_HEADER_FIELDS_TOO_LARGE | 431 | Request Header Fields Too Large REQUEST_TIMEOUT | 408 | Request Timeout REQUEST_TOO_LONG | 413 | Request Entity Too Large REQUEST_URI_TOO_LONG | 414 | Request-URI Too Long REQUESTED_RANGE_NOT_SATISFIABLE | 416 | Requested Range Not Satisfiable RESET_CONTENT | 205 | Reset Content SEE_OTHER | 303 | See Other SERVICE_UNAVAILABLE | 503 | Service Unavailable SWITCHING_PROTOCOLS | 101 | Switching Protocols TEMPORARY_REDIRECT | 307 | Temporary Redirect TOO_MANY_REQUESTS | 429 | Too Many Requests UNAUTHORIZED | 401 | Unauthorized UNPROCESSABLE_ENTITY | 422 | Unprocessable Entity UNSUPPORTED_MEDIA_TYPE | 415 | Unsupported Media Type USE_PROXY | 305 | Use Proxy
Common Error Code
Constant | Code | Status Text ------------------------------------|-------------------------|-------------------------------- SUCCESS | SUCCESS | Success INVALID_EMAIL | INVALID_EMAIL | User is not found INVALID_PHONE | INVALID_PHONE | Invalid email format INVALID_ACCOUNT_ID | INVALID_ACCOUNT_ID | Invalid account ID format USER_ALREADY_VERIFIED | USER_ALREADY_VERIFIED | User is already verified
Template Service
Constant | Code | Status Text ------------------------------------|-------|----------------------------------- TEMPLATE_NOT_FOUND | TS001 | Template you are looking for doesn't exist INVALID_CATEGORY | TS002 | Invalid Category INVALID_TYPE | TS003 | Invalid Type
OIDC Proxy Service
Constant | Code | Status Text ------------------------------------|-------------------------|-------------------------------- SUCCESS | SUCCESS | Success CODE_NOT_FOUND | CODE_NOT_FOUND | Authorization code is not found CODE_EXPIRED | CODE_EXPIRED | Authorization code is expired INVALID_GRANT | INVALID_GRANT | Invalid grant type INVALID_REQUEST | INVALID_REQUEST | Invalid email or phone number INVALID_CLIENT_ID | INVALID_CLIENT_ID | Invalid client ID UNKNOWN_ERROR | UNKNOWN_ERROR | Unknown Error
Identity Middleware Portal
Constant | Code | Status Text
------------------------------------|----------------------------|-------------------------------
PASSWORD_INVALID_LENGTH_MIN | PASSWORD_INVALID_LENGTH_MIN| Check password length
PASSWORD_INVALID_LENGTH_MAX | PASSWORD_INVALID_LENGTH_MAX| Check password length
PASSWORD_STRENGTH_WEAK | PASSWORD_STRENGTH_WEAK | Password is too common. Please choose a different one.
COOKIES_NOT_FOUND | COOKIES_NOT_FOUND | Cookies not found
INVALID_COOKIE | INVALID_COOKIE | Invalid Cookie
SPECIAL_CHARACTER_NOT_FOUND | SPECIAL_CHARACTER_NOT_FOUND| Special character
NUMBER_NOT_FOUND | NUMBER_NOT_FOUND | Numbers not found
UPPERCASE_NOT_FOUND | UPPERCASE_NOT_FOUND | Uppercase letter
LOWERCASE_NOT_FOUND | LOWERCASE_NOT_FOUND | Lowercase letter
SUCCESS | SUCCESS | Success
CAPTCHA_VALID | INVALID_CAPTCHA | Captcha is invalid
Identity Email Service
Constant | Code | Status Text ------------------------------------|----------------------------|------------------------------- EMAIL_GATEWAY_ERROR | EMAIL_GATEWAY_ERROR | Error when sending email EMAIL_NOT_CONFIGURE | EMAIL_NOT_CONFIGURE | Email content has not been configured by partner EMAIL_NOT_FOUND | EMAIL_NOT_FOUND | Email is not found
Identity Account Service
Constant | Code | Status Text ------------------------------------|-------------------------|-------------------------------- INVALID_TOKEN | INVALID_TOKEN | Token is invalid USER_NOT_FOUND | USER_NOT_FOUND | User is not found ACCOUNT_NOT_VERIFIED | ACCOUNT_NOT_VERIFIED | User is not verified PARTNER_NOT_CONFIGURE | PARTNER_NOT_CONFIGURE | Partner has not setup registration method allowed INVALID_METHOD | INVALID_METHOD | Registration with this method is not allowed by partne ACCOUNT_INVALID | ACCOUNT_INVALID | Account is using external identifier WRONG_PASSWORD | WRONG_PASSWORD | Old password is wrong EMAIL_NOT_UNIQUE | EMAIL_NOT_UNIQUE | Email is not unique PHONE_NOT_UNIQUE | PHONE_NOT_UNIQUE | Phone number is not unique PASSWORD_INVALID | PASSWORD_INVALID | Old and new password value are the same ACCOUNT_LOCKED | ACCOUNT_LOCKED | Your account is now locked because of too many invalid attempts. Check your email, we have sent you password reset
Identity Token Service
Constant | Code | Status Text ------------------------------------|--------|----------------------------------- INVALID_CREDENTIALS | TOS001 | Template you are looking for doesn't exist INVALID_GRANT | TOS002 | Invalid Category AUTHORIZATION_ERROR | TOS003 | Invalid Type SERVER_ERROR | TOS004 | Invalid Type