o
    ܌h                     @   sJ   d dl mZ d dlmZmZ e ZdedefddZdedefddZ	d	S )
    )Optional)
get_clientloggerchat_idreturnc              
   C   sf   zt ddd| d }t|jW S  ty2 } zt	
d|  W Y d }~dS d }~ww )Nsubscribersr      zis_subscribed error: F)supabasetableselecteqlimitexecutebooldata	Exceptionr   	exception)r   rese r   6/var/www/html/bot/app/services/subscription_service.pyis_subscribed   s   "r   c              
      s   z3t | rtd d|   td|   W dS tdd| i  td|   W dS  t	yR } zt
d|  t | W  Y d}~S d}~ww )	u   
    구독 상태를 토글하고, 최종 상태(True=구독중/False=해지)를 리턴
    (간단화를 위해 async로 선언했지만 내부는 동기 I/O)
    r   r   zunsubscribe: Fzsubscribe: Tztoggle_subscription error: N)r   r	   r
   deleter   r   r   infoinsertr   r   )r   r   r   r   r   toggle_subscription   s   r   N)
typingr   app.services.supabase_servicer   r   r	   intr   r   r   r   r   r   r   <module>   s
   