
    i                        d dl mZmZmZmZ d dlmZ d dlmZm	Z	m
Z
mZ  e       Zej                  d       ee      fde
deeef   fd       Zej%                  d       ee      fd	ede
deeef   fd
       Zej)                  d       ee      fded	e	de
deeef   fd       Zej%                  d       ee      fdede
deeef   fd       Zy)    )	APIRouterDependsHTTPExceptionstatus)require_super_admin)AdminCreateTenantPayloadAdminUpdateTenantAdminPayloadSessionIdentityget_tenant_storez	/overview_sessionreturnc                 2    t               j                         S )N)r   get_admin_overview)r   s    :/var/www/html_bkp/apps/backend-hub/app/api/routes/admin.pyadmin_overviewr      s    0022    z/tenantspayloadc                     	 t               j                  |       }d|dS # t        $ r*}t        t        j
                  t        |            |d }~ww xY wNstatus_codedetailT)successtenant)r   create_tenant_as_super_admin
ValueErrorr   r   HTTP_400_BAD_REQUESTstr)r   r   r   excs       r   create_tenantr       sW    
_!#@@I v..  _(C(CCPSHU[^^_s     	A%AAz/tenants/{tenant_id}	tenant_idc                    	 t               j                  | |      }d|dS # t        $ r*}t        t        j
                  t        |            |d }~wt        $ r*}t        t        j                  t        |            |d }~ww xY wr   )	r   update_tenant_adminKeyErrorr   r   HTTP_404_NOT_FOUNDr   r   r   )r!   r   r   r   r   s        r   update_tenantr&   !   s}    _!#77	7K v..  ](A(A#c(SY\\ _(C(CCPSHU[^^_s    ! 	B%AB%B  Bz /tenants/{tenant_id}/impersonatesessionc                     	 t               j                  ||       }t               j                  |      S # t        $ r*}t        t        j
                  t        |            |d }~ww xY w)Nr   )r   impersonate_tenantr   r   r   r   r   build_auth_response)r!   r'   impersonated_sessionr   s       r   r)   r)   1   sd    
_/1DDWiX 112FGG  _(C(CCPSHU[^^_s   5 	A(%A##A(N)fastapir   r   r   r   app.api.depsr   app.services.tenant_storer   r	   r
   r   routergetdictr   objectr   postr    putr&   r)    r   r   <module>r6      sT   = = ,  
 K/67J/K 3_ 3PTUXZ`U`Pa 3 3 Z !((; <	/%	/	/ 
#v+	/ 	/ "# !((; <//*/ / 
#v+	/ $/ /0  '':;	H	H	H 
#v+	H 1	Hr   