
    i                         S SK Jr  SSK7  S SKJr   " S S\R
                  5      r " S S\R
                  5      r " S	 S
\R
                  5      rg)    )serializers   )*)validateParentIdc                   V    \ rS rSr\R
                  " 5       r " S S5      rS rS r	Sr
g)AIAssistSettingsSerializer   c                        \ rS rSr\r/ SQrSrg)AIAssistSettingsSerializer.Meta   )isAgree	isEnabledcreatedDateupdatedDateparentIdisAuthorized N)__name__
__module____qualname____firstlineno__AIAssistSettingsmodelfields__static_attributes__r       h/Users/waleedhassanin/Documents/GitHub/snow_flake_back_end_deploy/mama_care_api/ai_assist/serializers.pyMetar      s     
r   r   c                 @    [        XR                  R                  5      $ )N)r   r   id)selfinstances     r   get_isAuthorized+AIAssistSettingsSerializer.get_isAuthorized   s    %6%6%9%9::r   c                     SnSnSU;   a7  [        US   5      S:X  a"  SU;   a  [        XS   R                  5      nOSnOSnOSnUS:X  a  U$ [        U5      S	:  a  [        R
                  " S
U/05      eg )N Fr   Tr   Parent Id does not exitzUser must agreezIs Agree field is requiredr   error)boolr   r    lenr   ValidationError)r!   dataerrorMessageisChecks       r   validate#AIAssistSettingsSerializer.validate   s    DO$,%.t*5E5H5HIG#<L07Ld?K"--w.GHH #r   r   Nr   r   r   r   r   SerializerMethodFieldr   r   r#   r/   r   r   r   r   r   r      s%    446L	
 	
;Ir   r   c                   V    \ rS rSr\R
                  " 5       r " S S5      rS rS r	Sr
g)ChatSerializer,   c                        \ rS rSr\r/ SQrSrg)ChatSerializer.Meta.   )r    r   r   r   r   r   N)r   r   r   r   Chatr   r   r   r   r   r   r   r7   .   s    
r   r   c                 `   Sn[        XR                  R                  5      S:X  a_  [        R                  R                  UR                  R                  S9nUR                  5       S:  a  US   R                  S:X  a  gSnOSnOSn[        U5      S:  a  [        R                  " SU/05      eg )	Nr&   Tr   r   Please Enable AI Assist in chat(Please Enable AI Assist Settings in chatzParent Id is required in Chatr(   )r   r   r    r   objectsfilter__len__r   r*   r   r+   )r!   r"   r-   dataLists       r   r#   ChatSerializer.get_isAuthorized8   s    D!2!2!5!56$>'//66(BSBSBVBV6WH!A%A;((D0#DLI:L|q --w.GHH !r   c                 p   SnSnSU;   az  [        XS   R                  5      nUS:X  aY  [        R                  R	                  US   R                  S9nUR                  5       S:  a  US   R                  S:X  a  U$ SnOSnOS	nOS
nUS:X  a  U$ [        U5      S:  a  [        R                  " SU/05      eg )Nr&   Fr   Tr;   r   r<   r=   Parent Id is invalidr'   r(   )
r   r    r   r>   r?   r@   r   r*   r   r+   )r!   r,   r-   r.   rA   s        r   r/   ChatSerializer.validateJ   s    &t*-=-@-@AG$+33::d:FVFYFY:Z##%){,,4#'H#ML54Ld?K"--w.GHH #r   r   Nr1   r   r   r   r4   r4   ,   s&    446L
 
I$Ir   r4   c                   V    \ rS rSr\R
                  " 5       r " S S5      rS rS r	Sr
g)MessageSerializerd   c                        \ rS rSr\r/ SQrSrg)MessageSerializer.Metaf   )r    messageroleisUserr   r   chatIdr   r   N)r   r   r   r   Messager   r   r   r   r   r   r   rJ   f   s    	
r   r   c                 t   U R                   R                  S5      (       a  U R                   S   R                  R                  SS 5      nUb  UR                  R
                  [        U5      :X  a  [        XR                  R                  R
                  5      S:X  ai  [        R                  R                  UR                  R                  R
                  S9nUR                  5       S:  a  US   R                  S:X  a  gSnOSnOSnOS	nOS
nOSn[        U5      S:  a  [        R                   " SU/05      eg )NrequestrO   Tr;   r   r<   r=   rD   zchatId is invalidchatId is RequiredzRequest is requiredr(   )context__contains__query_paramsgetrO   r    intr   r   r   r>   r?   r@   r   r*   r   r+   )r!   r"   rO   rA   r-   s        r   r#   "MessageSerializer.get_isAuthorizeds   s   <<$$Y//\\),99==hMF!??%%V4'__-E-E-H-HIDP#3#;#;#B#BhooNfNfNiNi#B#j#++-1'{44<'+/P+UL'=#6L30L|q --w.GHH !r   c                    SnU R                   S   R                  R                  SS 5      nSU;   a  US   R                  [	        U5      :X  a  [        XS   R                  R                  5      S:X  ad  [        R                  R                  US   R                  R                  S9nUR                  5       S:  a  US   R                  S:X  a  SnOSnOSnOS	nOS
nOSn[        U5      S:  a  [        R                  " SU/05      eU$ )Nr&   rR   rO   Tr;   r   r<   r=   rD   zChatId is invalidrS   r(   )rT   rV   rW   r    rX   r   r   r   r>   r?   r@   r   r*   r   r+   )r!   r,   r-   rO   rA   s        r   r/   MessageSerializer.validate   s    i(5599(DItH~  CK/#Dh)@)@)C)CDtK/77>>$x.JaJaJdJd>eH'')A-#A;00D8+-L+LL'Q#9L2/L|q --w.GHHr   r   Nr1   r   r   r   rG   rG   d   s%    446L
 
I6r   rG   N)	rest_frameworkr   modelscommon.commonr   ModelSerializerr   r4   rG   r   r   r   <module>r`      sL    &  *#I!<!< #IL5I[00 5IpB33 Br   