o
    ưi	                     @   sB   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 dZ	dS )    N)ListDictAnyOptional   )UnauthorizedErrorNotFoundErrorc                   @   s   e Zd Zddedee fddZdeeef fddZdd	eeeef  de	eeef  fd
dZ
ddee deeef fddZdeeef deeef fddZde	e deeef fddZdS )UsersManagementClientNbase_urlapi_keyc                 C   s   | d| _|| _d S )N/)rstripr
   r   )selfr
   r    r   Q/home/app/Keep/.python/lib/python3.10/site-packages/litellm/proxy/client/users.py__init__   s   
zUsersManagementClient.__init__returnc                 C   s"   ddi}| j rd| j  |d< |S )NzContent-Typezapplication/jsonzBearer Authorization)r   )r   headersr   r   r   _get_headers   s   z"UsersManagementClient._get_headersparamsc                 C   sP   | j  d}tj||  |d}|jdkrt|j|  | d| S )zList users (GET /user/list)z
/user/listr   r     Zusers)	r
   requestsgetr   status_coder   textraise_for_statusjson)r   r   urlresponser   r   r   
list_users   s   

z UsersManagementClient.list_usersuser_idc                 C   sh   | j  d}|rd|ini }tj||  |d}|jdkr"t|j|jdkr,t|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    r   r   r   get_user   s   



zUsersManagementClient.get_user	user_datac                 C   sD   | j  d}tj||  |d}|jdkrt|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    r   r   r   create_user&   s   

z!UsersManagementClient.create_useruser_idsc                 C   sH   | j  d}tj||  d|id}|jdkrt|j|  | S )z Delete users (POST /user/delete)z/user/deleter)   r%   r   r&   )r   r)   r   r    r   r   r   delete_user/   s   

z!UsersManagementClient.delete_user)N)__name__
__module____qualname__strr   r   r   r   r   r   r!   r#   r(   r*   r   r   r   r   r	      s    , 	""	r	   )
r   typingr   r   r   r   
exceptionsr   r   r	   r   r   r   r   <module>   s    