
    wg
                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	  G d d          Z
 e	             e            fded	efd
ZdS )    )MessangerRepositoryInterface)ReferralInterface)ReferralRepositoryInterface)get_messanger_repository)get_referral_repositoryc                   >    e Zd ZdededdfdZdefdZded	efd
Z	dS )MessangerServicereferral_repositorymessanger_repositoryreturnNc                 "    || _         || _        d S )Nr
   r   )selfr
   r   s      ;/var/www/html/cms/application/services/messanger_service.py__init__zMessangerService.__init__   s     $7 $8!!!    userc                 r   |j         }| j                            |j                  }g }|rt	          |d           | j                            |j        |j                  }|gd | j                            |          D             }| j                            |j                  \  }}t	          |           t	          |           t          t          |                    D ]&}|
                    ||         ||         d           't	          |d           |S g d | j                            |          D             }| j                            |j                  \  }}t          t          |                    D ]&}|
                    ||         ||         d           't	          |d           |S )Nr   c                     g | ]}|S  r   .0chatusers     r   
<listcomp>z.MessangerService.get_chats.<locals>.<listcomp>   s    aaax(aaar   )	chat_usermessage   c                     g | ]}|S r   r   r   s     r   r   z.MessangerService.get_chats.<locals>.<listcomp>,   s    ]]]8h]]]r      )sponsorr   	get_chatsidprintget_referral_chatget_last_chatted_withget_messagesrangelenappend)	r   r   referralchats
chat_dictsreferral_chat_user
chatusersslast_messagesis	            r   r!   zMessangerService.get_chats   s   <)33DG<<
 	%OOO!%!:!L!LTWV^Va!b!b"aa4+D+Z+Z[_+`+`aaaJ $(#<#I#I$'#R#R E=*-   3u::&& ] ]!!
1-XYJZ"["[\\\\*a   
]]t'@'V'VW['\'\]]]

  $8EEdgNN}s5zz"" 	 	A!+A,Q/     	j!r   user_idchat_idc                 |    | j                             ||          }| j                             ||          }||dS )N)r1   r2   )r2   )messagesinterlocutor)r   get_chat_messagesget_interlocuter)r   r1   r2   r4   r5   s        r   get_chatzMessangerService.get_chat<   sH    ,>>wX_>``0AA'SZA[[$lCCCr   )
__name__
__module____qualname__r   r   r   r   r!   intr8   r   r   r   r	   r	      s        9#>9Vr9	9 9 9 9'/ ' ' ' 'RD Dc D D D D D Dr   r	   r
   r   c                 $    t          | |          S )Nr   )r	   r   s     r   get_messanger_servicer>   C   s     0CZnoooor   N)domain.messanger.repositoryr   domain.referrals.referralr   domain.referrals.repositoryr   <infrastructure.persistence.repositories.messanger_repositroyr   ;infrastructure.persistence.repositories.referral_repositoryr   r	   r>   r   r   r   <module>rD      s    D D D D D D 7 7 7 7 7 7 C C C C C C          
4D 4D 4D 4D 4D 4D 4D 4Dp 8O7N7P7P9Q9Q9S9Sp p4p6p p p p p pr   