Files
service-finder/backend/app/services/notification_service.py

14 lines
669 B
Python
Executable File

from datetime import datetime, timedelta
from sqlalchemy import select
from app.models.user import User
from app.models.vehicle import Vehicle
from app.core.email import send_expiry_notification
async def check_expiring_documents(db: AsyncSession, background_tasks: BackgroundTasks):
# Példa: Műszaki vizsga lejárata 30 napon belül
threshold = datetime.now().date() + timedelta(days=30)
result = await db.execute(
select(Vehicle, User).join(User).where(Vehicle.mot_expiry_date <= threshold)
)
for vehicle, user in result.all():
send_expiry_notification(background_tasks, user.email, f"Műszaki vizsga ({vehicle.license_plate})")