Ë
    ä°ùi  ã                   ó
  — d dl mZmZmZmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ  eddg¬	«      Zd
edefd„Zej'                  d ee«      g¬«      ded
efd„«       Zej+                  d«       ee«      fd„«       Zy)é    )Ú	APIRouterÚDependsÚHTTPExceptionÚRequest)ÚAccessTokenModel)ÚAdminLoginPayloadÚ
AdminModel)Úget_current_actor_required)ÚACCESS_TOKEN_TTL_HOURS)Úverify_turnstilez/adminz	Admin API)ÚprefixÚtagsÚrequestÚreturnc                 óJ   — | j                   r| j                   j                  S dS )NÚ )ÚclientÚhost)r   s    úB/var/www/pod-logistic/pod-api-clone/controller/admin_controller.pyÚ
_client_ipr      s   € Ø")§.¢.ˆ7�>‰>×ÑÐ8°bÐ8ó    z/login)ÚdependenciesÚpayloadc              ƒ   óH  K  — t        j                  | j                  | j                  «      }|sdddœS t	        j
                  |d   dt        t        |«      |j                  j                  dd«      ¬«      }d	|d
   dt        dz  |d   |d   |d   |d   |d   d	dœdœdœS ­w)NFuB   TÃ i khoáº£n hoáº·c máº­t kháº©u Quáº£n trá»‹ viÃªn khÃ´ng Ä‘Ãºng!)ÚsuccessÚmessageÚ_idÚadminz
user-agentr   )Úactor_idÚ
actor_roleÚ	ttl_hoursÚcreated_by_ipÚ
user_agentTÚrawTokenÚBeareri  ÚemailÚ	firstNameÚlastNameÚrole)Úidr&   r'   r(   r)   ÚhasPassword)ÚaccessTokenÚ	tokenTypeÚ	expiresInÚuser©r   Údata)
r	   Úverify_loginr&   Úpasswordr   Úissue_tokenr   r   ÚheadersÚget)r   r   Ú
admin_userÚissueds       r   Úadmin_loginr9      sÂ   è ø€ ä×(Ñ(¨¯©¸×8HÑ8HÓI€JáØ Ð-qÑrÐrä×)Ñ)Ø˜EÑ"ØÜ(Ü  Ó)Ø—?‘?×&Ñ& |°RÓ8ô€Fð à! *Ñ-Ø!Ü/°$Ñ6à  Ñ'Ø# GÑ,Ø'¨Ñ4Ø& zÑ2Ø" 6Ñ*Ø#ññ	
ñð ùs   ‚B B"z/mec              ƒ   óž   K  — | j                  d«      dk7  rt        dd¬«      ‚d| j                  d«      | j                  dd	«      d
ddœdœS ­w)Nr)   r   i“  zAdmin required)Ústatus_codeÚdetailTr*   r&   zadmin@factory.comÚAdmin)r*   r&   r'   r)   r0   )r6   r   )Úcurrent_users    r   Úget_admin_mer?   1   s`   è ø€ à×Ñ˜Ó 7Ò*Ü¨Ð4DÔEÐEð à×"Ñ" 4Ó(Ø!×%Ñ% gÐ/BÓCØ Øñ	
ñð ùs   ‚AAN)Úfastapir   r   r   r   Úmodel.access_token_modelr   Úmodel.admin_modelr   r	   Úutils.auth_helperr
   Úutils.settingsr   Úutils.turnstile_helperr   ÚrouterÚstrr   Úpostr9   r6   r?   © r   r   ú<module>rJ      sœ   ðß >Ó >å 5ß ;Ý 8Ý 1Ý 3á	˜(¨+¨Ô	7€ð9˜ð 9 Có 9ð ‡�ˆX¡WÐ-=Ó%>Ð$?€Ó@ðÐ0ð ¸7ò ó Aðð@ ‡�ˆEÓÙ$+Ð,FÓ$Gò ó ñr   