UNPKG

create-arktos

Version:

🚀 A modern Node.js backend boilerplate with TypeScript, Express, JWT authentication, Prisma ORM, PostgreSQL, and Resend email service. Includes complete authentication flow, security middleware, and database management.

59 lines (52 loc) • 1.86 kB
export const ERROR_CODES = { // Authentication errors AUTH_INVALID_CREDENTIALS: 'AUTH_001', AUTH_TOKEN_EXPIRED: 'AUTH_002', AUTH_TOKEN_INVALID: 'AUTH_003', AUTH_USER_NOT_FOUND: 'AUTH_004', AUTH_EMAIL_NOT_VERIFIED: 'AUTH_005', AUTH_ACCOUNT_DISABLED: 'AUTH_006', AUTH_INSUFFICIENT_PERMISSIONS: 'AUTH_007', AUTH_USER_EXISTS: 'AUTH_008', AUTH_USERNAME_TAKEN: 'AUTH_009', AUTH_INVALID_PASSWORD: 'AUTH_010', AUTH_TOKEN_REQUIRED: 'AUTH_011', AUTH_INVALID_TOKEN: 'AUTH_003', // Alias for AUTH_TOKEN_INVALID AUTH_ACCOUNT_DEACTIVATED: 'AUTH_006', // Alias for AUTH_ACCOUNT_DISABLED // Validation errors VALIDATION_REQUIRED_FIELD: 'VAL_001', VALIDATION_INVALID_FORMAT: 'VAL_002', VALIDATION_INVALID_LENGTH: 'VAL_003', VALIDATION_INVALID_TYPE: 'VAL_004', VALIDATION_ERROR: 'VAL_005', // Database errors DB_CONNECTION_ERROR: 'DB_001', DB_QUERY_ERROR: 'DB_002', DB_CONSTRAINT_VIOLATION: 'DB_003', DB_RECORD_NOT_FOUND: 'DB_004', DB_DUPLICATE_ENTRY: 'DB_005', DATABASE_CONNECTION: 'DB_001', // Alias DATABASE_ERROR: 'DB_002', // Alias DATABASE_CONSTRAINT: 'DB_003', // Alias DATABASE_NOT_FOUND: 'DB_004', // Alias DATABASE_CONFLICT: 'DB_005', // Alias // File/Upload errors FILE_TOO_LARGE: 'FILE_001', FILE_INVALID_TYPE: 'FILE_002', FILE_UPLOAD_FAILED: 'FILE_003', FILE_NOT_FOUND: 'FILE_004', // Rate limiting errors RATE_LIMIT_EXCEEDED: 'RATE_001', // Server errors INTERNAL_SERVER_ERROR: 'SRV_001', SERVICE_UNAVAILABLE: 'SRV_002', EXTERNAL_SERVICE_ERROR: 'SRV_003', INTERNAL_ERROR: 'SRV_001', // Alias GENERIC_ERROR: 'SRV_004', ROUTE_NOT_FOUND: 'SRV_005', // Email service errors EMAIL_SEND_FAILED: 'EMAIL_001', EMAIL_TEMPLATE_NOT_FOUND: 'EMAIL_002', EMAIL_INVALID_RECIPIENT: 'EMAIL_003', } as const; export type ErrorCode = typeof ERROR_CODES[keyof typeof ERROR_CODES];