from typing import Dict, Any
from apps.calls.models import Call, CallActivity


class CallsRepository:
    """
    Repository layer for Call DB operations.
    """

    @staticmethod
    def create_call(data: Dict[str, Any]) -> tuple[Call, bool]:
        """
        Create and return Call instance
        """

        return Call.objects.update_or_create(**data)

    @staticmethod
    def create_call_activity(data: Dict[str, Any]) -> tuple[CallActivity, bool]:
        """
        Create and return CallActivity instance
        """

        return CallActivity.objects.update_or_create(**data)
