14 lines
669 B
Python
Executable File
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})") |