# import secrets
# from datetime import timedelta
# from django.utils import timezone
# from django.contrib.auth.hashers import make_password, check_password
# from apps.calls.services import EmailService
# from django.conf import settings
#
# from apps.core.models import EmailOTP
#
#
# def send_email_otp(user):
#     code = f"{secrets.randbelow(1_000_000):06d}"
#
#     EmailOTP.objects.create(
#         user=user,
#         code_hash=make_password(code),
#         expires_at=timezone.now() + timedelta(minutes=5),
#     )
#
#     EmailService.send_email(
#         subject="Your login verification code",
#        html_content= message=f"Your verification code is: {code}",
#         recipient_list=[user.email],
#     )
#
# def verify_email_otp(user, token: str) -> bool:
#     otp = (
#         EmailOTP.objects
#         .filter(
#             user=user,
#             is_used=False,
#             expires_at__gt=timezone.now()
#         )
#         .order_by("-created_at")
#         .first()
#     )
#
#     if not otp:
#         return False
#
#     if check_password(token, otp.code_hash):
#         otp.is_used = True
#         otp.save(update_fields=["is_used"])
#         return True
#
#     return False
