o
    eOjz                  	   @   s8  d dl mZmZmZ 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 d dlmZmZ d dlmZmZmZmZmZ d d	lmZ e Zd"dedededefddZed
defddZedededfdededefddZ ededfdededefddZ!eddedefdd Z"d!S )#    )	APIRouterRequestFormRedirectResponse)select)render)settings)AsyncSessionFactory)AdminAction	AdminRole)get_all_admins	add_adminremove_adminupdate_admin_roleget_admin_by_telegram_id)get_user successurlmsgtype_returnc                 C   s0   d| v rdnd}t |  | d| d| ddS )N?&zmsg=z&type=i.  )status_coder   )r   r   r   sep r   A/var/www/www-root/data/www/ai-bot.pdev.uz/admin/routers/admins.py	_redirect   s    r   requestc              	      s^   t  4 I d H }t|I d H }W d   I d H  n1 I d H s w   Y  t| d|ttdS )Nzadmins/list.html)adminsroles)r
   r   r   listr   )r    sessionr!   r   r   r   
admin_list   s   (r%   z/add.telegram_idrolec              	      s*  | j j}|d dvrtdddS t 4 I d H i}t||I d H }|s3tdddW  d   I d H  S t||I d H }|rMtdddW  d   I d H  S t||t|t|d	 I d H  |	t
t|d	 d
t|d|id | I d H  W d   I d H  n1 I d H sw   Y  tdd| dS )Nr'   super_admin/adminsRuxsat yo'qdangerz,Telegram ID bo'yicha foydalanuvchi topilmadiz!Bu foydalanuvchi allaqachon adminwarningsub	admin_addadmin_telegram_idaction_type	target_iddetailsAdmin z
 qo'shildi)stateadminr   r
   r   r   r   r   intaddr   strcommit)r    r&   r'   currentr$   userexistingr   r   r   r/      s.   

 	
(r/   z/{telegram_id}/rolec              	      s   | j j}|d dvrtdddS t 4 I d H 2}t||t|I d H }|r@|tt|d dt	|d|id	 |
 I d H  W d   I d H  n1 I d H sPw   Y  |rYd
nd}td||rcdS dS )Nr'   r(   r*   r+   r,   r.   admin_role_changenew_roler0   zRol yangilandiAdmin topilmadir   )r6   r7   r   r
   r   r   r9   r   r8   r:   r;   )r    r&   r'   r<   r$   okr   r   r   r   admin_change_role>   s$   
(rC   z/{telegram_id}/removec              	      s   | j j}|d dvrtdddS t|d |krtdddS t 4 I d H ,}t||I d H }|rH|tt|d dt|d	 |	 I d H  W d   I d H  n1 I d H sXw   Y  |red
| dnd}td||rodS dS )Nr'   r(   r*   r+   r,   r.   zO'zingizni o'chira olmaysizadmin_remove)r1   r2   r3   r5   z o'chirildirA   r   )
r6   r7   r   r8   r
   r   r9   r   r:   r;   )r    r&   r<   r$   rB   r   r   r   r   rD   W   s&   
(
rD   N)r   r   )#fastapir   r   r   fastapi.responsesr   
sqlalchemyr   admin.responsesr   
bot.configr	   bot.database.connectionr
   bot.database.modelsr   r   bot.database.crud.adminr   r   r   r   r   bot.database.crud.userr   routerr:   r   getr%   postr8   r/   rC   rD   r   r   r   r   <module>   sD    