
    h	                     H    d dl Z d dlmZmZmZmZ ddlmZmZ  G d d      Z	y)    N)ListDictAnyOptional   )UnauthorizedErrorNotFoundErrorc                       e Zd Zddedee   fdZdeeef   fdZddeeeef      de	eeef      fdZ
dd	ee   deeef   fd
Zdeeef   deeef   fdZde	e   deeef   fdZy)UsersManagementClientNbase_urlapi_keyc                 >    |j                  d      | _        || _        y )N/)rstripr   r   )selfr   r   s      V/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/proxy/client/users.py__init__zUsersManagementClient.__init__   s     ,    returnc                 J    ddi}| j                   rd| j                    |d<   |S )NzContent-Typezapplication/jsonzBearer Authorization)r   )r   headerss     r   _get_headersz"UsersManagementClient._get_headers   s.    !#56<<)0'?GO$r   paramsc                 0   | j                    d}t        j                  || j                         |      }|j                  dk(  rt        |j                        |j                          |j                         j                  d|j                               S )zList users (GET /user/list)z
/user/listr   r     users)	r   requestsgetr   status_coder   textraise_for_statusjson)r   r   urlresponses       r   
list_usersz UsersManagementClient.list_users   su    z*<<T->->-@P3&#HMM22!!#}}""7HMMO<<r   user_idc                 L   | j                    d}|rd|ini }t        j                  || j                         |      }|j                  dk(  rt        |j                        |j                  dk(  rt        |j                        |j                          |j                         S )zGet user info (GET /user/info)z
/user/infor(   r   r   i  )
r   r   r    r   r!   r   r"   r	   r#   r$   )r   r(   r%   r   r&   s        r   get_userzUsersManagementClient.get_user   s    z*)0)W%b<<T->->-@P3&#HMM223&..!!#}}r   	user_datac                     | j                    d}t        j                  || j                         |      }|j                  dk(  rt        |j                        |j                          |j                         S )z"Create a new user (POST /user/new)z	/user/newr   r$   r   	r   r   postr   r!   r   r"   r#   r$   )r   r+   r%   r&   s       r   create_userz!UsersManagementClient.create_user&   sb    y)==d.?.?.A	R3&#HMM22!!#}}r   user_idsc                     | j                    d}t        j                  || j                         d|i      }|j                  dk(  rt        |j                        |j                          |j                         S )z Delete users (POST /user/delete)z/user/deleter1   r-   r   r.   )r   r1   r%   r&   s       r   delete_userz!UsersManagementClient.delete_user/   sh    |,==d.?.?.AU]H^_3&#HMM22!!#}}r   )N)__name__
__module____qualname__strr   r   r   r   r   r   r'   r*   r0   r3    r   r   r   r      s     x} d38n =$sCx.!9 =T$sTWx.EY =
 
c3h 
T#s(^ S#X DI $sCx. r   r   )
r   typingr   r   r   r   
exceptionsr   r	   r   r8   r   r   <module>r;      s     , , 80 0r   