"""تحديث أوقات التنبيهات القديمة من UTC إلى توقيت الرياض"""
import asyncio
from datetime import timedelta
from app.database import AsyncSessionLocal
from app.models.alert import AlertLog, AlertRule
from sqlalchemy import select, update

async def fix_times():
    async with AsyncSessionLocal() as session:
        # تحديث أوقات التنبيهات (إضافة 3 ساعات)
        result = await session.execute(select(AlertLog))
        logs = result.scalars().all()
        
        for log in logs:
            if log.triggered_at:
                log.triggered_at = log.triggered_at + timedelta(hours=3)
            if log.resolved_at:
                log.resolved_at = log.resolved_at + timedelta(hours=3)
        
        # تحديث last_triggered في قواعد التنبيهات
        rules_result = await session.execute(select(AlertRule))
        rules = rules_result.scalars().all()
        
        for rule in rules:
            if rule.last_triggered:
                rule.last_triggered = rule.last_triggered + timedelta(hours=3)
        
        await session.commit()
        print(f"✓ Updated {len(logs)} alert logs and {len(rules)} rules to Riyadh timezone")

if __name__ == "__main__":
    asyncio.run(fix_times())
