import json
import paramiko

# 1. إعدادات سيرفر سينولوجي الخاص بك
SYNOLOGY_IP = "192.168.0.4"
SYNOLOGY_PORT = 2222
SYNOLOGY_USER = "ahmad"  # ضع اسم المستخدم هنا (مثال: "admin")
SYNOLOGY_PASS = "Dino@//369*/852"   # ضع الرقم السري هنا
REMOTE_JSON_PATH = "REMOTE_JSON_PATH = /volume1/web/ExpatNetwork/data.json"

# 2. البيانات التي تريد حفظها داخل ملف الـ JSON
data_to_save = {
    "status": "success",
    "message": "مرحباً بك! تم تحديث البيانات بنجاح",
    "project": "expat_news",
}

# تحويل البيانات البرمجية إلى نص JSON جاهز للإرسال
json_string = json.dumps(data_to_save, ensure_ascii=False, indent=4)

try:
    print("⏳ جاري الاتصال بسيرفر السينولوجي...")

    # 3. إنشاء اتصال SSH
    ssh = paramiko.SSHClient()
    # هذه السطر لتخطي رسالة الأمان والتحقق من هوية السيرفر تلقائياً
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(
        hostname=SYNOLOGY_IP,
        port=SYNOLOGY_PORT,
        username=SYNOLOGY_USER,
        password=SYNOLOGY_PASS,
    )

    print("✅ تم الاتصال بنجاح. جاري كتابة الملف...")

    # 4. فتح بروتوكول نقل الملفات الآمن (SFTP)
    sftp = ssh.open_sftp()

    # كتابة النص مباشرة إلى الملف في السينولوجي
    with sftp.file(REMOTE_JSON_PATH, "w") as remote_file:
        remote_file.write(json_string)

    print(f"🎉 تم حفظ الملف بنجاح في المسار: {REMOTE_JSON_PATH}")

    # إغلاق الاتصالات
    sftp.close()
    ssh.close()

except Exception as e:
    print(f"❌ حدث خطأ أثناء الاتصال أو نقل الملف: {e}")
