
    mRiT                     2    d dl mZ ddlmZ  G d de      Zy)    )UserProfile   )BaseRepositoryc                   J    e Zd ZeZd Zd Zd Zd Zd Z	d Z
d Zed        Zy	)
UserProfileRepositoryc                 L    | j                   j                  j                  d      S )Nuser)modelobjectsselect_relatedselfs    ^/var/www/html/dp2/backend_v2.1/server/apps/userprofile/repositories/user_profile_repository.pyget_querysetz"UserProfileRepository.get_queryset	   s    zz!!0088    c                 B    | j                         j                  d      S )NT)user__is_active)r   filterr   s    r   get_active_profilesz)UserProfileRepository.get_active_profiles   s      "))$)??r   c                 "    | j                         S )N)r   r   s    r   get_for_superuserz'UserProfileRepository.get_for_superuser   s    ''))r   c                 B    | j                         j                  |      S )N)user__companiesr   r   )r   companys     r   get_for_companyz%UserProfileRepository.get_for_company   s&    '')00# 1 
 	
r   c                 B    | j                         j                  |      S )N)r	   r   )r   r	   s     r   get_for_userz"UserProfileRepository.get_for_user   s    '')00d0;;r   c                    |dv ra|j                   r| j                         S |j                  r| j                  |j                        S | j	                         j                         S | j                  |      S )z:
        Central place for action-based filtering
        >   listretrieve)is_superuserr   active_companyr   r   noner   )r   r	   actions      r   get_for_actionz$UserProfileRepository.get_for_action   sn     ))  --//""++D,?,?@@$$&++--  &&r   c                 ^    | j                         j                  |      j                         S )N)user__username)r   r   first)r   usernames     r   get_by_usernamez%UserProfileRepository.get_by_username)   s-      "))# * 

%'	r   c                 V    t               }|j                         j                  |       S )N)id)r   r   get)
profile_idrepos     r   	get_by_idzUserProfileRepository.get_by_id.   s'    $&  "&&*&55r   N)__name__
__module____qualname__r   r
   r   r   r   r   r   r&   r+   staticmethodr1    r   r   r   r      s?    E9@*

<'
 6 6r   r   N)apps.userprofile.modelsr   baser   r   r6   r   r   <module>r9      s    /  +6N +6r   