
    sAjz              	          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Zej9                  d
      defd       Zej=                  d       ed       ed      fdededefd       Z ej=                  d       ed      fdededefd       Z!ej=                  d      dedefd       Z"y)    )	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 urlmsgtype_returnc                 @    d| v rdnd}t        |  | d| d| d      S )N?&zmsg=z&type=i.  )status_coder   )r   r   r   seps       EC:\Users\koklo\Documents\pet_projects\kinoBot\admin\routers\admins.py	_redirectr      s1    #CseC5SEw?SQQ    requestc                    K   t               4 d {   }t        |       d {   }d d d       d {    t        | dt        t                    S 7 C7 27 $# 1 d {  7  sw Y   4xY ww)Nzadmins/list.html)adminsroles)r   r   r	   listr   )r!   sessionr#   s      r   
admin_listr'      sZ     "$$%g.. %$'-tI8 8 %. %$$$sQ   A0AA0AAAA0A!A0AA0A-!A$"A-)A0z/add.telegram_idrolec           
        K   | j                   j                  }|d   dvrt        ddd      S t               4 d {   }t	        ||       d {   }|st        ddd      cd d d       d {    S t        ||       d {   }|rt        ddd      cd d d       d {    S t        ||t        |      t        |d	                d {    |j                  t        t        |d	         d
t        |      d|i             |j                          d {    d d d       d {    t        dd| d      S 7 7 7 7 7 7 |7 17 ## 1 d {  7  sw Y   3xY ww)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existings          r   r2   r2      sT     mm!!Gv..M8<<"$$g{33Y(VX`a %$$
 2';GGY(KYW %$$ yGEN8KLLLK!'%.1#+&TN	
 	 nn! %$$ Y&Z @AA% %3 %
 H % 	M 	! %$$$s   9E&E E&EEE"E&.E/E&4EEEE&"E	#E&(&EEAEEE E&+E,E&EE&E	E&EEE&E#EE#E&z/{telegram_id}/rolec           
        K   | j                   j                  }|d   dvrt        ddd      S t               4 d {   }t	        ||t        |             d {   }|rM|j                  t        t        |d         dt        |      d|i	             |j                          d {    d d d       d {    rd
nd}t        d||rd      S d      S 7 7 7 37 %# 1 d {  7  sw Y   5xY ww)Nr)   r+   r-   r.   r/   r1   admin_role_changenew_roler3   zRol yangilandiAdmin topilmadisuccess)r9   r:   r   r   r   r   r<   r   r;   r=   r>   )r!   r(   r)   r?   r&   okr   s          r   admin_change_rolerH   >   s      mm!!Gv..M8<<"$$$Wk9T?KKKK"%gen"5/k*#T*	  ..""" %$ !
&7CY"YCC(CC %K # %$$$si   9C5CC5C CAC (C)C -C58C9 C5C C C5 C2&C)'C2.C5z/{telegram_id}/removec           
        K   | j                   j                  }|d   dvrt        ddd      S t        |d         |k(  rt        ddd      S t	               4 d {   }t        ||       d {   }|rJ|j                  t        t        |d         dt        |      	             |j                          d {    d d d       d {    rd
| dnd}t        d||rd      S d      S 7 7 7 77 )# 1 d {  7  sw Y   9xY ww)Nr)   r+   r-   r.   r/   r1   zO'zingizni o'chira olmaysizadmin_remove)r4   r5   r6   r8   z o'chirildirE   rF   )
r9   r:   r   r;   r   r   r<   r   r=   r>   )r!   r(   r?   r&   rG   r   s         r   rJ   rJ   W   s     mm!!Gv..M8<<
75>k)$A8LL"$$55KK"%gen"5*k* 
 ..""" %$ 02F;-{
+7HCY"YCC(CC %5 # %$$$sm   AD
C-D
C5-C/.AC59C1:C5>D
	C3
$D
/C51C53D
5D;C><DD
N)r   rF   )#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'   postr;   r2   rH   rJ    r    r   <module>rX      s?   , , .  "  7 6  ,	R3 RS Rc RBR R
 B8g 8 8 V CyS	BBB B B< "# S	DDD D $D0 $%D Dc D &Dr    