
    +~h	                     d   d dl mZmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZ ddlmZ  e       Zej'                  d       ed	d
d       ed d        ee	       ee      fdededefd       Zej'                  d       edd
       ee       ee	      fdedefd       Zej/                  d       ee       ee	      fdedefd       Zej3                  d       ee       ee	      fdededefd       Zej7                  d       ee	       ee      fdededefd       Zy)    )	APIRouterDependsQueryHTTPExceptionPath)Dict)get_db)Company)CompanyCreateCompanyUpdateCompanyPatch   )validate_tokenz/companies/all
      d   )gele)r   limitoffsetcurrent_userc                    K   |j                  t              j                  |      j                  |       j	                         }|j                  t              j                         }| |||dS w)N)r   r   total_countdata)queryr
   r   r   allcount)r   r   dbr   	companiestotal_companiess         E/var/www/html/DP/alpha_backend/app/advisor_service/routers/company.pyread_allr"      sb      !((066u=AACIhhw'--/O&	 s   A,A.z/companies/{company_id}.
company_idc                    K   |j                  t              j                  t        j                  | k(        j	                         }|st        dd      |S wN  Company not foundstatus_codedetail)r   r
   filteridfirstr   )r#   r   r   companys       r!   get_companyr/      sI      hhw&&wzzZ'?@FFHG4GHHNs   AAz
/companiesr.   c                    K   t        di | j                         }|j                  |       |j                          |j	                  |       |S w)N )r
   dictaddcommitrefresh)r.   r   r   
db_companys       r!   create_companyr7   (   sB      *7<<>*JFF:IIKJJzs   AAupdated_datac                 Z  K   |j                  t              j                  t        j                  | k(        j	                         }|st        dd      |j                         j                         D ]  \  }}t        |||        |j                          |j                  |       |S wr%   r   r
   r+   r,   r-   r   r2   itemssetattrr4   r5   )r#   r8   r   r   r6   keyvalues          r!   update_companyr?   5   s      '"))'**
*BCIIKJ4GHH"'')//1
U
C' 2 IIKJJzs   B)B+c                 ^  K   |j                  t              j                  t        j                  | k(        j	                         }|st        dd      |j                  d      j                         D ]  \  }}t        |||        |j                          |j                  |       |S w)Nr&   r'   r(   T)exclude_unsetr:   )r#   r8   r   r   r6   r=   r>   s          r!   patch_companyrB   H   s      '"))'**
*BCIIKJ4GHH"''d';AAC
U
C' D IIKJJzs   B+B-N)fastapir   r   r   r   r   typingr   app.common.databaser	   app.common.modelsr
   app.schemas.company_schemasr   r   r   services.auth_utilsr   routergetintr"   r/   postr7   putr?   patchrB   r1       r!   <module>rP      s   B B  & % R R 0	 raC(a.v 0	 	   %&31o 0v ' \ !0v			 	 %& !0v	  '$ '( v 0	 	 )rO   