
    ]jz                         d dl m Z  d dlmZ d dlmZmZ d dlmZmZ ddl	m
Z
  G d de      Z G d	 d
e      Z G d de      Zy)    )datetime)Enum)ListOptional)	BaseModelField   )Clientc                   (    e Zd ZdZdZdZdZdZdZdZ	y)	UserRoleANREMAADOWNODIN)
__name__
__module____qualname__	ANNOTATORREVIEWERMANAGERADMINISTRATOROWNERNOT_ACTIVATEDDISABLED     H/root/env/lib/python3.12/site-packages/label_studio_sdk/_legacy/users.pyr   r   
   s%    IHGMEMHr   r   c                   ,    e Zd ZU eed<   eed<   eed<   y)OrgMembershiproleactiveorganization_idN)r   r   r   r   __annotations__boolintr   r   r    r"   r"      s    
NLr   r"   c                       e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   d	Zee   ed
<    e	e
      Zeee      ed<   eed<    G d d      ZdefdZy	)Userid
first_name	last_nameusernameemaillast_activityinitialsphoneNactive_organization)default_factoryorg_membershipclientc                       e Zd ZdZy)User.ConfigTN)r   r   r   arbitrary_types_allowedr   r   r    Configr8   '   s    "&r   r:   r#   c                     | j                   j                  dd| j                   d| j                  |j                  d      }| j
                  D ]'  }|j                  | j                  k(  st        |_        ) |S )zSet user role in current active organization

        Parameters
        ----------
        role: label_studio_sdk.users.UserRole
            User role
        PATCHz/api/organizations/z/memberships)user_idr#   )json)	r6   make_requestr3   r+   valuer5   r%   r   r#   )selfr#   response
memberships       r    set_rolezUser.set_role*   s|     ;;++!$":":!;<H!WWdjj9 , 

 -- 	+J))T-E-EE"*
	+ r   )r   r   r   r(   r&   strr   r3   r   r   listr5   r   r"   r
   r:   r   rD   r   r   r    r*   r*      sn    GONMJMJ)-#-49$4ONHT-01ON' 'X r   r*   N)r   enumr   typingr   r   pydanticr   r   r6   r
   r   r"   r*   r   r   r    <module>rJ      s8      ! % t I  9  r   