
    h
                     :   d dl Z d dlZddlmZ  e j                         d        Zej                  d      e j                  de j                  fd              Z	ej                  d       e j                  d	d
d      e j                  de j                  d
efd                     Zej                  d       e j                  ddd       e j                  ddd       e j                  ddd       e j                  ddd       e j                  dedd      e j                  de j                  fd                                                 Zej                  d        e j                  d!d"#      e j                  de j                  fd$                     Zy)%    N   )UsersManagementClientc                       y)z)Manage users on your LiteLLM proxy serverN r       c/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/proxy/client/cli/commands/users.pyusersr	      s     	r   listctxc                    t        | j                  d   | j                  d         }|j                         }t        |t              r	d|v r|d   }|st        j                  d       yddlm} dd	l	m
}  |d
      }|j                  dd       |j                  dd       |j                  dd       |j                  dd       |D ]  }|j                  t        |j                  dd            t        |j                  dd            t        |j                  dd            dj                  |j                  dg       xs g                |       }|j!                  |       y)zList all usersbase_urlapi_keyr   r   r	   zNo users found.Nr   )Table)ConsoleUsers)titlezUser IDcyan)styleEmailgreenRolemagentaTeamsyellowuser_id 
user_email	user_rolez, teams)r   obj
list_users
isinstancedictclickecho
rich.tabler   rich.consoler   
add_columnadd_rowstrgetjoinprint)r   clientr	   r   r   tableuserconsoles           r   r"   r"   
   s:    #CGGJ,?QZI[\FE%7e#3g

$% $ E	Yf-	WG,	V9-	WH-B'(r*+b)*IIdhhw+1r2		
  iGMM%r   r,   z--idr   zID of the user to retrieve)helpc                     t        | j                  d   | j                  d         }|j                  |      }t        j                  |       y)z%Get information about a specific userr   r   r   )r   dataN)r   r!   get_userrich
print_json)r   r   r/   results       r   r7   r7   &   s?    
 #CGGJ,?QZI[\F__W_-FOO r   createz--emailTz
User email)requiredr3   z--roleinternal_userz	User role)defaultr3   z--aliasz
User aliasz--teamzTeam IDs (can specify multiple))multipler3   z--max-budgetzMax budget for user)typer>   r3   c                     t        | j                  d   | j                  d         }||d}|r||d<   |rt        |      |d<   |||d<   |j                  |      }t	        j
                  |	       y)
zCreate a new userr   r   r   )r   r   
user_aliasr    N
max_budgetr5   )r   r!   r
   create_userr8   r9   )	r   emailrolealiasteamrC   r/   	user_datar:   s	            r   rD   rD   /   s|     #CGGJ,?QZI[\FI "'	,!$Z	'",	,	*FOO r   deleteuser_ids)nargsc                     t        | j                  d   | j                  d         }|j                  t        |            }t	        j
                  |       y)z#Delete one or more users by user_idr   r   r   r5   N)r   r!   delete_userr
   r8   r9   )r   rK   r/   r:   s       r   rO   rO   F   sC    
 #CGGJ,?QZI[\FX/FOO r   )r%   r8   r   r   groupr	   commandpass_contextContextr"   optionr+   r7   floatrD   argumentrO   r   r   r   <module>rW      s     %	 	 vEMM   4 ufi&BC!%-- !# !  D ! xi$\:hkBiL9h,MNn5$=RS!U]] !  T O : C ; !  x
"%!U]] !  & !r   