
    Aj
                        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
e      Zedefd       Z eddde      Zej#                  e       d dlmZmZmZmZmZmZmZ m!Z"m#Z$ ejK                  ejL                  d       ejK                  ejL                         ejK                  ejL                  d       ejK                  ejL                  d       ejK                  ejL                  d       ejK                  ejL                  d       ejK                  e jL                  d       ejK                  e"jL                  d       ejK                  e$jL                  d       ejO                  d      d        Z(y)    )asynccontextmanager)FastAPIRequestRedirectResponse)BaseHTTPMiddleware)verify_token)settings/auth/loginz/auth/logoutc                       e Zd ZdefdZy)AuthMiddlewarerequestc                 x  K   |j                   j                  t        v r ||       d {   S |j                  j	                  d      }|st        dd      S t        |t        j                        }|s t        dd      }|j                  d       |S ||j                  _         ||       d {   S 7 7 w)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resps         ;C:\Users\koklo\Documents\pet_projects\kinoBot\admin\main.pydispatchzAuthMiddleware.dispatch   s     ;;|+"7+++##M2#3GGuh&?&?@#3GD}-K%w''' , (s"   (B:B6BB:1B82B:8B:N)__name__
__module____qualname__r   r!        r    r   r      s    (g (r&   r   appc                   K   d  y w)Nr%   )r'   s    r    lifespanr)   %   s	     	s   	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                  "   K   t        d      S w)Nz
/dashboard)r   r   r%   r&   r    rootr9   L   s     --s   ))
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_routerr0   users_routerr1   admins_routerr2   channels_routerr3   broadcast_routerr4   analytics_routerr5   audit_routerinclude_routerrouterr   r9   r%   r&   r    <module>rM      s   * $ . 8 # 
 ~.(' (* 
 
 
 
	   > "
 
 
   ;%%g  6   #** +   =''	  :   <&&x  8   =''	  :   ?))+  >   #**<  @   #**<  @   <&&x  8 . .r&   