
    Aj                     H   d dl mZ 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mZ d dlmZmZmZmZ  e       Zd d
edededefdZej3                  d	      defd       Zej7                  d       ed       ed       ed	       ed	      fdededededef
d       Zej7                  d      dedefd       Zej7                  d      dedefd       Zej7                  d       ed       ed	       ed	       ed       fdedededededefd       Z y)!    )Optional)	APIRouterRequestFormRedirectResponse)select)render)AsyncSessionFactory)AdminActionMandatoryChannel)get_all_channelsadd_channelremove_channelget_channel_by_id 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       GC:\Users\koklo\Documents\pet_projects\kinoBot\admin\routers\channels.py	_redirectr      s1    #CseC5SEw?SQQ    requestc                    K   t               4 d {   }t        |       d {   }d d d       d {    t        | d      S 7 57 $7 # 1 d {  7  sw Y   &xY ww)Nzchannels/list.html)channels)r   r   r
   )r   sessionr!   s      r   channel_listr#      sO     "$$)'22 %$'/(CC %2 %$$$sQ   A"AA"AA	AA"AA"	AA"AAAA"z/add.
channel_idchannel_titlechannel_usernameinvite_linkc           
        K   | j                   j                  }t               4 d {   }t        ||       d {   }|rf|j                  s<d|_        |j                          d {    t        dd      cd d d       d {    S t        ddd      cd d d       d {    S t        |||t        |d         |xs d |xs 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 27 $# 1 d {  7  sw Y   4xY ww)NT	/channelszKanal qayta faollashtirildizBu kanal allaqachon mavjudwarningsub)added_byr&   r'   channel_addtitleadmin_telegram_idaction_type	target_iddetailszKanal 'z' qo'shildi)stateadminr   r   	is_activecommitr   r   intaddr   str)r   r$   r%   r&   r'   r5   r"   existings           r   r-   r-      sV     MME"$$*7J??%%%)"nn&&& .KL %$$ [*F	R %$$ Zu&-5#+t	
 	
 	
 	K!%,/%*om,	
 	 nn+ %$. [GM?+"FGG/ %? ' %$	
 	+ %$$$s   %E)EE)EE,E(E)E8E)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/{channel_id}/togglec           
      2  K   | j                   j                  }t               4 d {   }t        ||       d {   }|st	        ddd      cd d d       d {    S |j
                   |_        |j
                  rdnd}|j                  t        t        |d         dt        |      d|j
                  i	             |j                          d {    d d d       d {    t	        dd
       S 7 7 7 7 )7 # 1 d {  7  sw Y   +xY ww)Nr)   Kanal topilmadidangerfaollashtirildiz
o'chirildir+   channel_toggler6   r/   zKanal )r4   r5   r   r   r   r6   r9   r   r8   r:   r7   )r   r$   r5   r"   channelstatuss         r   r@   r@   @   s     MME"$$)':>>[*;XF %$$ !( 1 11&-&7&7"\K!%,/(*o '"3"34	
 	 nn %$ [F6("344 %> % 	 %$$$s   %DC8DDC:DDC<D A4DC>DD$D %D:D<D>D DDD	DDz/{channel_id}/removec           
        K   | j                   j                  }t               4 d {   }t        ||       d {   }|rJ|j	                  t        t        |d         dt        |                   |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+   channel_remover0   r1   r2   zKanal o'chirildir=   r)   successr>   )
r4   r5   r   r   r9   r   r8   r:   r7   r   )r   r$   r5   r"   okr   s         r   rD   rD   S   s     MME"$$!':66KK"%eEl"3,j/ 
 ..""" %$ !#
(9C[#ByEEHEE %6 # %$$$sg   %CB7CB?B9AB?B;B?CB= C9B?;B?=C?CCCCz/{channel_id}/editorderc           
        K   | j                   j                  }t               4 d {   }t        ||       d {   }|st	        ddd      cd d d       d {    S ||_        |xs d |_        |xs d |_        ||_        |j                  t        t        |d         dt        |                   |j                          d {    d d d       d {    t	        dd      S 7 7 7 7 &7 # 1 d {  7  sw Y   (xY ww)Nr)   r=   r>   r+   channel_editrE   zKanal yangilandi)r4   r5   r   r   r   r%   r&   r'   rH   r9   r   r8   r:   r7   )	r   r$   r%   r&   r'   rH   r5   r"   rA   s	            r   rJ   rJ   c   s      MME"$$)':>>[*;XF %$$ !.#3#;t )1TK!%,/&*o
 	
 nn %$ ["455 %> % 	 %$$$s   %D	C*D	C4C,C4D	C.D	 A)C4	C0
C4D	C2D	,C4.D	0C42D	4D:C=;DD	N)r   rF   )!typingr   fastapir   r   r   fastapi.responsesr   
sqlalchemyr	   admin.responsesr
   bot.database.connectionr   bot.database.modelsr   r   bot.database.crud.channelr   r   r   r   routerr:   r   getr#   postr8   r-   r@   rD   rJ    r   r   <module>rW      s    , , .  " 7 =  
R3 RS Rc RBR R
 BD D D V 3ic HBxHHH H 	H
 H HD #$5' 5s 5 %5$ #$F' Fs F %F !" c HBxa666 6 	6
 6 6 #6r   