export const ExitCodes: IErrors<IExitCodes> = {
SUCCESS: { code: 0, message: "Success", type: "SUCCESS" },
ERROR_GENERIC: { code: 1, message: "Generic error '{error}'", type: "ERROR_GENERIC" },
ERROR_INVALID_INPUT: { code: 2, message: "Invalid input '{input}'", type: "ERROR_INVALID_INPUT" },
ERROR_FILE_NOT_FOUND: { code: 3, message: "File not found '{fileName}'", type: "ERROR_FILE_NOT_FOUND" },
ERROR_DATABASE_CONNECTION: {
code: 4,
message: "Failed to connect to the database",
type: "ERROR_DATABASE_CONNECTION",
},
ERROR_DATABASE_DISCONNECTED: {
code: 5,
message: "Database disconnected for a fail {error}",
type: "ERROR_DATABASE_DISCONNECTED",
},
ERROR_COULDNT_READ_FILE: { code: 6, message: "Failed to read a file {filePath}", type: "ERROR_COULDNT_READ_FILE" },
ENV_ERROR_COULDNT_FIND_FIELD: {
code: 7,
message: "Failed to read env field : {field}",
type: "ENV_ERROR_COULDNT_FIND_FIELD",
},
COULDNT_LOAD_ROLES: {
code: 8,
message: "Couldn't Load roles for this reason {reason}",
type: "COULDNT_LOAD_ROLES",
},
// email issue
EMAIL_ERROR_GENERIC: { code: 9, message: "Email error '{error}'", type: "EMAIL_ERROR_GENERIC" },
GOOGLE_CLOUD_STORAGE_ERROR_GENERIC: { code: 10, message: "GOOGLE_CLOUD_STORAGE error '{error}'", type: "GOOGLE_CLOUD_STORAGE_ERROR_GENERIC" },
} as const;
export const HttpCodes: IErrors<IHttpStatusCodes> = {
// Network usage
Continue: { code: 100, message: "Continue", type: "Continue" },
SwitchingProtocols: { code: 101, message: "Switching Protocols", type: "SwitchingProtocols" },
Processing: { code: 102, message: "Processing", type: "Processing" },
EarlyHints: { code: 103, message: "Early Hints", type: "EarlyHints" },
// success response
OK: { code: 200, message: "OK", type: "OK" },
Created: { code: 201, message: "Created", type: "Created" },
Accepted: { code: 202, message: "Accepted", type: "Accepted" },
NonAuthoritativeInformation: {
code: 203,
message: "Non-Authoritative Information",
type: "NonAuthoritativeInformation",
},
NoContent: { code: 204, message: "No Content", type: "NoContent" },
ResetContent: { code: 205, message: "Reset Content", type: "ResetContent" },
PartialContent: { code: 206, message: "Partial Content", type: "PartialContent" },
MultiStatus: { code: 207, message: "Multi-Status", type: "MultiStatus" },
AlreadyReported: { code: 208, message: "Already Reported", type: "AlreadyReported" },
IMUsed: { code: 226, message: "IM Used", type: "IMUsed" },
// Redirection Response
MultipleChoices: { code: 300, message: "Multiple Choices", type: "MultipleChoices" },
MovedPermanently: { code: 301, message: "Moved Permanently", type: "MovedPermanently" },
Found: { code: 302, message: "Found", type: "Found" },
SeeOther: { code: 303, message: "See Other", type: "SeeOther" },
NotModified: { code: 304, message: "Not Modified", type: "NotModified" },
TemporaryRedirect: { code: 307, message: "Temporary Redirect", type: "TemporaryRedirect" },
PermanentRedirect: { code: 308, message: "Permanent Redirect", type: "PermanentRedirect" },
// Client Error Respons
BadRequest: { code: 400, message: "Bad Request", type: "BadRequest" },
Unauthorized: { code: 401, message: "Unauthorized", type: "Unauthorized" },
PaymentRequired: { code: 402, message: "Payment Required", type: "PaymentRequired" },
Forbidden: { code: 403, message: "Forbidden", type: "Forbidden" },
NotFound: { code: 404, message: "Not Found", type: "NotFound" },
MethodNotAllowed: { code: 405, message: "Method Not Allowed", type: "MethodNotAllowed" },
NotAcceptable: { code: 406, message: "Not Acceptable", type: "NotAcceptable" },
ProxyAuthenticationRequired: {
code: 407,
message: "Proxy Authentication Required",
type: "ProxyAuthenticationRequired",
},
RequestTimeout: { code: 408, message: "Request Timeout", type: "RequestTimeout" },
Conflict: { code: 409, message: "Conflict", type: "Conflict" },
Gone: { code: 410, message: "Gone", type: "Gone" },
LengthRequired: { code: 411, message: "Length Required", type: "LengthRequired" },
PreconditionFailed: { code: 412, message: "Precondition Failed", type: "PreconditionFailed" },
PayloadTooLarge: { code: 413, message: "Payload Too Large", type: "PayloadTooLarge" },
URITooLong: { code: 414, message: "URI Too Long", type: "URITooLong" },
UnsupportedMediaType: { code: 415, message: "Unsupported Media Type", type: "UnsupportedMediaType" },
RangeNotSatisfiable: { code: 416, message: "Range Not Satisfiable", type: "RangeNotSatisfiable" },
ExpectationFailed: { code: 417, message: "Expectation Failed", type: "ExpectationFailed" },
ImATeapot: { code: 418, message: "I'm a Teapot", type: "ImATeapot" },
MisdirectedRequest: { code: 421, message: "Misdirected Request", type: "MisdirectedRequest" },
UnprocessableEntity: { code: 422, message: "Unprocessable Entity", type: "UnprocessableEntity" },
Locked: { code: 423, message: "Locked", type: "Locked" },
FailedDependency: { code: 424, message: "Failed Dependency", type: "FailedDependency" },
UpgradeRequired: { code: 426, message: "Upgrade Required", type: "UpgradeRequired" },
PreconditionRequired: { code: 428, message: "Precondition Required", type: "PreconditionRequired" },
TooManyRequests: { code: 429, message: "Too Many Requests", type: "TooManyRequests" },
RequestHeaderFieldsTooLarge: {
code: 431,
message: "Request Header Fields Too Large",
type: "RequestHeaderFieldsTooLarge",
},
UnavailableForLegalReasons: {
code: 451,
message: "Unavailable For Legal Reasons",
type: "UnavailableForLegalReasons",
},
// Server Error Respons
InternalServerError: { code: 500, message: "Internal Server Error", type: "InternalServerError" },
NotImplemented: { code: 501, message: "Not Implemented", type: "NotImplemented" },
BadGateway: { code: 502, message: "Bad Gateway", type: "BadGateway" },
ServiceUnavailable: { code: 503, message: "Service Unavailable", type: "ServiceUnavailable" },
GatewayTimeout: { code: 504, message: "Gateway Timeout", type: "GatewayTimeout" },
HTTPVersionNotSupported: { code: 505, message: "HTTP Version Not Supported", type: "HTTPVersionNotSupported" },
VariantAlsoNegotiates: { code: 506, message: "Variant Also Negotiates", type: "VariantAlsoNegotiates" },
InsufficientStorage: { code: 507, message: "Insufficient Storage", type: "InsufficientStorage" },
LoopDetected: { code: 508, message: "Loop Detected", type: "LoopDetected" },
NotExtended: { code: 510, message: "Not Extended", type: "NotExtended" },
NetworkAuthenticationRequired: {
code: 511,
message: "Network Authentication Required",
type: "NetworkAuthenticationRequired",
},
};