o
    eOj
                     @   s^  d dl mZ d dl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hZG d	d
 d
eZedefddZedddedZee d dlmZmZmZmZmZmZmZ m!Z"m#Z$ ej%ej&dd e%ej& ej%ej&dd ej%ej&dd ej%ej&dd ej%ej&dd ej%e j&dd ej%e"j&dd ej%e$j&dd e'ddd Z(dS )    )asynccontextmanager)FastAPIRequestRedirectResponse)BaseHTTPMiddleware)verify_token)settings/auth/loginz/auth/logoutc                   @   s   e Zd ZdefddZdS )AuthMiddlewarerequestc                    sx   |j jtv r||I d H S |jd}|stdddS t|tj}|s1tddd}|	d |S ||j
_||I d H S )Nadmin_tokenr
   i.  )urlstatus_code)r   pathPUBLIC_PATHScookiesgetr   r   r	   admin_secret_keydelete_cookiestateadmin)selfr   	call_nexttokenpayloadresp r   7/var/www/www-root/data/www/ai-bot.pdev.uz/admin/main.pydispatch   s   
zAuthMiddleware.dispatchN)__name__
__module____qualname__r   r   r   r   r   r   r      s    r   appc                 C  s   d V  d S )Nr   )r#   r   r   r   lifespan%      
r$   zKinoBot Admin PanelN)titledocs_url	redoc_urlr$   )	auth	dashboardmoviesusersadminschannels	broadcast	analyticsauditz/auth)prefixz/moviesz/usersz/adminsz	/channelsz
/broadcastz
/analyticsz/audit/c                      s   t ddS )Nz
/dashboard)r   r   r   r   r   r   rootL   r%   r4   ))
contextlibr   fastapir   r   fastapi.responsesr   starlette.middleware.baser   
admin.authr   
bot.configr	   r   r   r$   r#   add_middlewareadmin.routersr)   auth_routerr*   dashboard_routerr+   movies_routerr,   users_routerr-   admins_routerr.   channels_routerr/   broadcast_routerr0   analytics_routerr1   audit_routerinclude_routerrouterr   r4   r   r   r   r   <module>   s:    
,