
    jE              
           d dl Z d dlmZ d dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZmZ dedefdZdeded	ed
edef
dZdedeeef         fdZdS )    N)uuid4)DISPATCH_AUTH_URLDISPATCH_CLIENT_IDDISPATCH_CLIENT_SECRETDISPATCH_GRANT_TYPEDISPATCH_MOCK_MODElogger)get_dispatch_auth_sessionsave_dispatch_auth_session	owner_keyreturnc                    t          |           }t          t          j                              }|sdddd d ddddd	S |                    d          }d}|r t	          dt          |          |z
            }t          |                    d                    o| p|dk    }|                    d          r|sd	n|                    d
d          }|||||                    d          |                    d          |                    dd          |                    dd          t          |                    d                    |                    dd          d
S )NFpendingr    Bearer)	authenticatedstatus
expires_in
expires_at
updated_tsusername
token_typeis_mock
last_errorr   access_tokenexpiredr   r   authenticated_tsr   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r
   inttimegetmaxbool)r   session_itemnowr   	remainingr   r   s          H/home/longshao/multi-rider-rag/modules/dispatch/services/auth_service.pyget_dispatch_auth_statusr'      s   ,Y77L
dikk

C 
""

 

 
	
 !!,//JI 23z??S011	)).99:: ')a-  '**>::{={YYVbVfVfgoqzV{V{F& "&&|44(,,-?@@ $$Z44"&&|X>>((3344"&&|R88      owner_ipr   passwordc                 x   t          |pd                                          }t          |pd                                          }|r|st          d          t          t	          j                              }t
          rGdt                      j        z   }| |||ddd|dz   ||dddd}t          |           t          |           S 	 t          j        t          t          t          t          ||d	d
did          }nf# t           $ rY}t#          j        d|           | ||ddddd d |ddt          |          d}t          |           t'          d|           |d }~ww xY w	 |                                }	n# t           $ r i }	Y nw xY w|j        dk    s|	                    d          s{|	                    d          p|	                    d          p|j        pd}
| ||ddddd d |ddt          |
          d}t          |           t'          t          |
                    t          |	                    d          pd          }| |||	                    dd          |	                    dd          |	                    dd          ||r||z   nd ||dddd}t          |           t          |           S )Nr   z"username and password are requiredzmock-r   i  r   T)r   r)   r   r   refresh_tokenr   r   r   r   r   r   r   r   )	client_idclient_secret
grant_typer   r*   zContent-Typezapplication/json   )paramsheaderstimeoutz dispatch auth request failed: %sr   errorFzdispatch auth request failed: i  r   error_descriptionmessagezauth failedr   r,   r   )strstrip
ValueErrorr   r   r   r   hexr   r'   requestspostr   r   r   r   	Exceptionr	   	exceptionRuntimeErrorjsonstatus_coder    text)r   r)   r   r*   r$   tokenr#   responseexcpayloaderror_messager   s               r&   authenticate_dispatch_platformrH   :   sS    8>r""((**H8>r""((**H ?8 ?=>>>
dikk

C 3%''+%"  !"* #%
 
 	#<000'	222L=/!71$$  $%78
 
 
  L L L;SAAA"  " $c((
 
 	#<000ACAABBK%L(--//    s""'++n*E*E"$788tGKK	<R<RtV^Vctgt"  " $m,,
 
 	#<0003}--...W[[..3!44JNB77 _b99kk,99 *4>cJ&&$! L |,,,#I...s+   	4C> >
E!AEE!%E: :F	F	c                     t          |           }t          |           }|r|                    d          st          d          t	          |                    d          pd          |fS )Nr   z&dispatch platform is not authenticatedr   r   )r
   r'   r    r?   r7   )r   r#   r   s      r&   get_valid_dispatch_tokenrJ      sn    ,Y77L%i00F Evzz/:: ECDDD|//5266>>r(   )r   uuidr   r;   shared.config.configr   r   r   r   r   r	   'modules.dispatch.services.store_servicer
   r   r7   dictr'   rH   tuplerJ    r(   r&   <module>rQ      sE                                # # # # # #Lk/k/k/ k/ 	k/
 
k/ k/ k/ k/\? ?c4i0@ ? ? ? ? ? ?r(   