51 lines
2.2 KiB
TypeScript
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; |