
    4?iD                     X    S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
   " S S5      rg)	    )selecttext)Client)Visitor)Message)get_dbc                   @    \ rS rSrS rS\4S jrS\S\4S jrS rSr	g	)
ChatService	   c                     Xl         g )Ndb)selfr   s     3/var/www/html/livechat/backend/app/services/chat.py__init__ChatService.__init__
   s        	widget_idc                    #    [        SU5        U R                  R                  [        [        5      R                  [        R                  U:H  5      5      I S h  vN nUR                  5       $  N7f)Nz>>> widget_id:)printr   executer   r   whereclient_widget_idscalar_one_or_none)r   r   results      r   
get_clientChatService.get_client   sU     	*wwv(<(<V=T=TXa=a(bdd((** es   AA1A/A1visitor_uidc                 h  #    [        SX5        U R                  U5      I S h  vN nU(       d  g U R                  R                  [	        [
        5      R                  [
        R                  U:H  [
        R                  UR                  :H  5      5      I S h  vN nUR                  5       nU(       dt  [        UUR                  S9nU R                  R                  U5        U R                  R                  5       I S h  vN   U R                  R                  U5      I S h  vN   U$  GN N N. N7f)Nz>-->---->---->-->)
visitor_id	client_id)r   r   r   r   r   r   r   r    r!   idr   addcommitrefresh)r   r   r   clientr   visitors         r   get_or_create_visitor!ChatService.get_or_create_visitor   s     !9: y11 ww7O!!7#5#5#DgFWFW[a[d[dFdf
 
 ++- & ))G GGKK ''.."""''//'***) 2

 #*sG   !D2D)A3D2D,A'D2?D. "D2"D0#D2,D2.D20D2c                   #    [        SXX45        [        UUUUS9nU R                  R                  U5        U R                  R	                  5       I S h  vN   U R                  R                  U5      I S h  vN   U$  N) N7f)N	innnnnnnn)r!   r    senderr   )r   r   r   r#   r$   r%   )r   r!   r    r,   r   msgs         r   save_messageChatService.save_message3   sp     k9=!	
 	Cggnnggooc"""
 	"s$   ABA>"B7B 8B Br   N)
__name__
__module____qualname____firstlineno__r   strr   r(   r.   __static_attributes__ r   r   r
   r
   	   s+    +# +S s 8r   r
   N)
sqlalchemyr   r   app.models.clientr   app.models.visitorr   app.models.messager   app.core.databaser   r
   r6   r   r   <module>r<      s     $ $ & & $8 8r   