o
    <6j	  ã                   @   sÌ   d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	 dedee	 fdd„Z
ded	edee	 fd
d„Z		dded	edededee dee de	fdd„Zded	edefdd„Zdedee	 fdd„ZdS )é    )ÚListÚOptional)ÚselectÚdelete)ÚAsyncSession)ÚMandatoryChannelÚsessionÚreturnc                 Ã   s:   |   ttƒ tjdk¡ tj¡¡I dH }t| ¡  	¡ ƒS )z0Barcha aktiv majburiy kanallar (tartib bo'yicha)TN)
Úexecuter   r   ÚwhereÚ	is_activeÚorder_byÚorderÚlistÚscalarsÚall©r   Úresult© r   úF/var/www/www-root/data/www/ai-bot.pdev.uz/bot/database/crud/channel.pyÚget_active_channels	   s   €
ýr   Ú
channel_idc                 Ã   s*   |   ttƒ tj|k¡¡I d H }| ¡ S )N)r
   r   r   r   r   Úscalar_one_or_none)r   r   r   r   r   r   Úget_channel_by_id   s
   €
ÿr   NÚchannel_titleÚadded_byÚchannel_usernameÚinvite_linkc           	      Ã   sz   |   ttjƒ tj ¡ ¡ d¡¡I dH }| ¡ pd}t||||||d d}|  |¡ |  	¡ I dH  |  
|¡I dH  |S )zYangi majburiy kanal qo'shishé   Nr   )r   r   r   r   r   r   )r
   r   r   r   r   ÚdescÚlimitr   ÚaddÚcommitÚrefresh)	r   r   r   r   r   r   r   Ú
last_orderÚchannelr   r   r   Úadd_channel   s"   €

ÿú
r&   c                 Ã   sJ   |   ttƒ tj|k¡¡I dH }| ¡ }|sdS d|_|  ¡ I dH  dS )z5Majburiy kanalni o'chirish. Returns True agar topilsaNFT)r
   r   r   r   r   r   r   r"   )r   r   r   r%   r   r   r   Úremove_channel9   s   €
ÿr'   c                 Ã   s.   |   ttƒ tj¡¡I dH }t| ¡  ¡ ƒS )z-Admin uchun: barcha kanallar (noaktivlar ham)N)r
   r   r   r   r   r   r   r   r   r   r   r   Úget_all_channelsF   s
   €
ÿr(   )NN)Útypingr   r   Ú
sqlalchemyr   r   Úsqlalchemy.ext.asyncior   Úbot.database.modelsr   r   Úintr   Ústrr&   Úboolr'   r(   r   r   r   r   Ú<module>   s>    
ÿÿ
þúÿþýüûú
ù