export const ExitCodes: IErrors = { 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 = { // 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", }, };