
    Api	                     <    d dl mZ d dlmZ d dlmZ  G d d      Zy)    )Call)BotType)CompanyTypec                       e Zd Zed        Zed        Zed	d       Zed
d       Zed
d       Zed	d       Z	ed        Z
y)CallsRepositoryc                  >    t         j                  j                         S N)r   objectsall     Q/var/www/html/dp2/backend_v2.1/server/apps/calls/repositories/calls_repository.pyget_querysetzCallsRepository.get_queryset   s    ||!!r   c                 h    t         j                         j                  |       j                  d      S )N
company_id-created_atr   r   filterorder_byr   s    r   get_calls_by_companyz$CallsRepository.get_calls_by_company   s0    ++-44! 5 

(=
!	"r   Nc                     |r4t         j                         j                  ||       j                  d      S t         j                         j                  |       S )Nr   bot_typer   )r   r   )r   r   s     r   get_calls_by_botz CallsRepository.get_calls_by_bot   sb    
 &0 ++-44! 5 
 (=
!	 ((*11 2 
		r   c                     t         j                  | t        j                  j                        }|r |j
                  di |}|j                  d      j                  d      S Nr   company-idr   )r   r   r   	SALES_BOTvaluer   select_relatedr   r   filtersqss      r   get_sales_callszCallsRepository.get_sales_calls   s]    --!&&,, . 

 %W%B  +44U;;r   c                     t         j                  | t        j                        }|r |j                  di |}|j                  d      j                  d      S r   )r   r   r   SERVICE_BOTr   r"   r   r#   s      r   get_service_callsz!CallsRepository.get_service_calls(   sW    --!(( . 

 %W%B  +44U;;r   c                 x    t         j                  | t        j                        }|r |j                  di |}|S )Nr   r   )r   r   r   DEALERSHIP_GROUP_BOTr   r#   s      r   get_dealership_group_callsz*CallsRepository.get_dealership_group_calls4   s@    --!11 . 

 %W%B	r   c                 L   | j                   rt        j                  di |S d }| j                  r| j                  j                  t
        j                  k(  r]t        j                         j                  | j                  t        j                        j                  d      j                  d      }|S | j                  j                  t
        j                  k(  rIt        j                  dd| j                  j                  i|j                  d      j                  d      }|S )N)
dealershipr   r.   r   r   r   r   )is_superuserr   r,   active_companycompany_typer   
DEALERSHIPr   r   r   r+   r"   r   DEALERSHIP_GROUPid)userr$   r%   s      r   get_dealership_callsz$CallsRepository.get_dealership_calls@   s    "==HHH""//;3I3II$113::#22$99 ;  !..xx  	 $$11[5Q5QQ$?? #2255 !.+HHUO 
 	r   r	   )NN)__name__
__module____qualname__staticmethodr   r   r   r&   r)   r,   r6   r   r   r   r   r      s    " " " "
   	< 	< 	< 	< 	 	  r   r   N)apps.calls.modelsr   apps.calls.constantsr   apps.companies.constantsr   r   r   r   r   <module>r>      s    " ( 0M Mr   