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


class CallsRepository:
    '''
    Respository layer for Call DB operations.
    '''

    @staticmethod
    def create_call(data: Dict[str, Any]) -> Call:
        '''
        Create and retrun Call instance
        '''

        return Call.objects.update_or_create(**data)

    @staticmethod
    def create_call_activity(data: Dict[str, Any]) -> CallActivity:
        '''
        Create and retrun CallActivity instance
        '''

        return CallActivity.objects.update_or_create(**data)
