o
    ưi
                     @   s*   d dl Z d dlmZmZ G dd dZdS )    N)HTTPExceptionstatusc                   @   sJ   e Zd ZedefddZedefddZddgZedefd	d
Z	dS )EnterpriseRouteChecksreturnc                  C   V   ddl m}  ddlm} ddlm} dtjv r%|s%tt	j
d| jj d|ddu S )	z4
        Check if llm api route is disabled
        r   CommonProxyErrorspremium_userget_secret_boolZDISABLE_LLM_API_ENDPOINTSuG   🚨🚨🚨 DISABLING LLM API ENDPOINTS is an Enterprise feature
🚨 status_codedetailTZlitellm.proxy._typesr   Zlitellm.proxy.proxy_serverr
   Zlitellm.secret_managers.mainr   osenvironr   r   ZHTTP_500_INTERNAL_SERVER_ERRORZnot_premium_uservaluer   r
   r    r   a/home/app/Keep/.python/lib/python3.10/site-packages/litellm_enterprise/proxy/auth/route_checks.pyis_llm_api_route_disabled   s   
z/EnterpriseRouteChecks.is_llm_api_route_disabledc                  C   r   )	z7
        Check if management route is disabled
        r   r   r	   r   ZDISABLE_ADMIN_ENDPOINTSuE   🚨🚨🚨 DISABLING ADMIN ENDPOINTS is an Enterprise feature
🚨 r   Tr   r   r   r   r   is_management_routes_disabled   s   
z3EnterpriseRouteChecks.is_management_routes_disabledz/modelsz
/v1/modelsroutec                 C   sf   ddl m} |j| drt rttjdd|j| dr-| tj	vr/t
 r1ttjdddS dS dS )zK
        Check if management route is disabled and raise exception
        r   )RouteChecks)r   z1Management routes are disabled for this instance.r   z.LLM API routes are disabled for this instance.N)Zlitellm.proxy.auth.route_checksr   Zis_management_router   r   r   r   ZHTTP_403_FORBIDDENZis_llm_api_routeLLM_API_EXEMPT_ROUTESr   )r   r   r   r   r   should_call_route0   s(   


z'EnterpriseRouteChecks.should_call_routeN)
__name__
__module____qualname__staticmethodboolr   r   r   strr   r   r   r   r   r      s    r   )r   Zfastapir   r   r   r   r   r   r   <module>   s    