feat: consolidate auth into NocoDB, add password reset, health check
Some checks failed
Deploy / deploy (push) Failing after 9s
Some checks failed
Deploy / deploy (push) Failing after 9s
- Migrate auth credentials from SQLite (auth.db) to NocoDB Users table with one-time migration function (auth.db → auth.db.bak) - Add email-based password reset via Cloudron SMTP (nodemailer) - Add GET /api/health endpoint for monitoring - Add startup env var validation with clear error messages - Strip sensitive fields (password_hash, reset_token) from all API responses - Add ForgotPassword + ResetPassword pages with i18n (en/ar) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -310,6 +310,25 @@
|
||||
"login.subtitle": "سجل دخولك للمتابعة",
|
||||
"login.forgotPassword": "نسيت كلمة المرور؟",
|
||||
"login.defaultCreds": "بيانات الدخول الافتراضية:",
|
||||
"forgotPassword.title": "نسيت كلمة المرور",
|
||||
"forgotPassword.subtitle": "أدخل بريدك الإلكتروني لتلقي رابط إعادة التعيين",
|
||||
"forgotPassword.emailPlaceholder": "بريدك@email.com",
|
||||
"forgotPassword.submit": "إرسال رابط إعادة التعيين",
|
||||
"forgotPassword.sending": "جارٍ الإرسال...",
|
||||
"forgotPassword.success": "إذا كان هناك حساب بهذا البريد الإلكتروني، فقد تم إرسال رابط إعادة التعيين.",
|
||||
"forgotPassword.backToLogin": "العودة لتسجيل الدخول",
|
||||
"forgotPassword.error": "حدث خطأ. يرجى المحاولة مرة أخرى.",
|
||||
"resetPassword.title": "إعادة تعيين كلمة المرور",
|
||||
"resetPassword.subtitle": "أدخل كلمة المرور الجديدة",
|
||||
"resetPassword.newPassword": "كلمة المرور الجديدة",
|
||||
"resetPassword.confirmPassword": "تأكيد كلمة المرور",
|
||||
"resetPassword.submit": "إعادة تعيين كلمة المرور",
|
||||
"resetPassword.resetting": "جارٍ إعادة التعيين...",
|
||||
"resetPassword.success": "تم إعادة تعيين كلمة المرور. يمكنك الآن تسجيل الدخول.",
|
||||
"resetPassword.invalidToken": "رابط إعادة التعيين غير صالح أو منتهي الصلاحية.",
|
||||
"resetPassword.goToLogin": "الذهاب لتسجيل الدخول",
|
||||
"resetPassword.passwordMismatch": "كلمتا المرور غير متطابقتين",
|
||||
"resetPassword.error": "فشل إعادة تعيين كلمة المرور. ربما انتهت صلاحية الرابط.",
|
||||
"comments.title": "النقاش",
|
||||
"comments.noComments": "لا توجد تعليقات بعد. ابدأ المحادثة.",
|
||||
"comments.placeholder": "اكتب تعليقاً...",
|
||||
|
||||
Reference in New Issue
Block a user