import logging
from django.contrib.auth import get_user_model

from apps.companies.services import CompanyContextService
from apps.calls.tasks.email_task import send_email_task

User = get_user_model()
logger = logging.getLogger(__name__)


class EmailService:

    @staticmethod
    def send_email(
            subject,
            html_content,
            recipient_list,
            key=None,
            files=None,
            bcc=None,
    ):
        key = key or {}
        key.update(CompanyContextService.get_context())

        send_email_task.delay(
            subject=subject,
            html_content=html_content,
            recipient_list=recipient_list,
            key=key,
            files=files,
            bcc=bcc,
        )
