car_mms/app/lib/auth-constants.ts
2025-09-11 14:22:27 +03:00

51 lines
2.2 KiB
TypeScript

// Authentication configuration constants
export const AUTH_CONFIG = {
// Password requirements
MIN_PASSWORD_LENGTH: 6,
MAX_PASSWORD_LENGTH: 128,
// Session configuration
SESSION_MAX_AGE: 60 * 60 * 24 * 30, // 30 days in seconds
// Rate limiting (for future implementation)
MAX_LOGIN_ATTEMPTS: 5,
LOGIN_ATTEMPT_WINDOW: 15 * 60 * 1000, // 15 minutes in milliseconds
// Cookie configuration
COOKIE_NAME: "car_maintenance_session",
} as const;
// Authentication error messages in Arabic
export const AUTH_ERRORS = {
INVALID_CREDENTIALS: "اسم المستخدم أو كلمة المرور غير صحيحة",
ACCOUNT_INACTIVE: "الحساب غير مفعل",
ACCOUNT_NOT_FOUND: "الحساب غير موجود",
USERNAME_REQUIRED: "اسم المستخدم مطلوب",
EMAIL_REQUIRED: "البريد الإلكتروني مطلوب",
PASSWORD_REQUIRED: "كلمة المرور مطلوبة",
NAME_REQUIRED: "الاسم مطلوب",
PASSWORD_TOO_SHORT: "كلمة المرور يجب أن تكون 6 أحرف على الأقل",
PASSWORD_MISMATCH: "كلمة المرور غير متطابقة",
INVALID_EMAIL: "صيغة البريد الإلكتروني غير صحيحة",
USERNAME_EXISTS: "اسم المستخدم موجود بالفعل",
EMAIL_EXISTS: "البريد الإلكتروني موجود بالفعل",
INSUFFICIENT_PERMISSIONS: "ليس لديك صلاحية للوصول إلى هذه الصفحة",
SESSION_EXPIRED: "انتهت صلاحية الجلسة، يرجى تسجيل الدخول مرة أخرى",
SIGNUP_DISABLED: "التسجيل غير متاح حالياً",
} as const;
// Success messages in Arabic
export const AUTH_SUCCESS = {
LOGIN_SUCCESS: "تم تسجيل الدخول بنجاح",
LOGOUT_SUCCESS: "تم تسجيل الخروج بنجاح",
SIGNUP_SUCCESS: "تم إنشاء الحساب بنجاح",
PASSWORD_CHANGED: "تم تغيير كلمة المرور بنجاح",
PROFILE_UPDATED: "تم تحديث الملف الشخصي بنجاح",
} as const;
// Validation patterns
export const VALIDATION_PATTERNS = {
EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
USERNAME: /^[a-zA-Z0-9_]{3,20}$/,
PHONE: /^[0-9+\-\s()]{10,15}$/,
} as const;