§
    Â`Ãi1  ã                   ó´  — d dl mZ d dlmZmZmZmZ d dlmZ d dl	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mZ d d	lmZ d d
lmZmZ  eddg¬¦  «        Ze                     dee         ¬¦  «         ed¦  «         edd¬¦  «         eddd¬¦  «         ee¦  «         ee¦  «        fdee         dedededef
d„¦   «         Z e                     de¬¦  «         ee¦  «         ee¦  «        fdededefd„¦   «         Z!e "                    ded¬ ¦  «         ee¦  «         e ed!¦  «        ¦  «        fd"ededefd#„¦   «         Z#e $                    de¬¦  «         ee¦  «         e ed!¦  «        ¦  «        fded"ededefd$„¦   «         Z%e &                    dd%¬&¦  «         ee¦  «         e ed!¦  «        ¦  «        fdededefd'„¦   «         Z'dS )(é    )ÚOptional)Ú	APIRouterÚDependsÚHTTPExceptionÚQuery)ÚAsyncSession)ÚselectÚfunc)Úget_db)ÚCompany)ÚUser)ÚCompanyCreateÚCompanyUpdateÚ
CompanyOutÚCompanyListOut)ÚPagedOut)Úget_current_userÚrequire_rolez
/companiesÚ	companies)ÚprefixÚtagsÚ )Úresponse_modelNé   )Úgeé   iô  )r   ÚleÚsearchÚpageÚlimitÚdbÚ_c              ƒ   ó¶  K  — g }| r6|                      t          j                             d| › d�¦  «        ¦  «         t	          t          j        ¦   «         ¦  «                             t          ¦  «        }|r
 |j        |Ž }| 	                    |¦  «        ƒ d {V —†}t	          t          ¦  «         
                    t          j        ¦  «        }|r
 |j        |Ž }|                     |dz
  |z  ¦  «                             |¦  «        }|                     |¦  «        ƒ d {V —†}	|	                     ¦   «                              ¦   «         }
t!          |
|||¬¦  «        S )Nú%r   )ÚitemsÚtotalr   r    )Úappendr   ÚnameÚiliker	   r
   ÚcountÚselect_fromÚwhereÚscalarÚorder_byÚoffsetr    ÚexecuteÚscalarsÚallr   )r   r   r    r!   r"   ÚfiltersÚcount_qr&   ÚqÚresultr%   s              ú=/var/www/html/jarvis.com/web/backend/app/routers/companies.pyÚlist_companiesr8      sE  è è € ð €GØð :Ø�Š•w”|×)Ò)¨-¨f¨-¨-¨-Ñ8Ô8Ñ9Ô9Ð9å•T”Z‘\”\Ñ"Ô"×.Ò.­wÑ7Ô7€GØð *Ø�'”- Ð)ˆØ—)’)˜GÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$€Eå�w‰Œ× Ò ¥¤Ñ.Ô.€AØð ØˆAŒG�WÐˆØ	�Š�$˜‘(˜eÑ#Ñ$Ô$×*Ò*¨5Ñ1Ô1€AØ—:’:˜a‘=”=Ð Ð Ð Ð Ð Ð €FØ�NŠNÑÔ× Ò Ñ"Ô"€Eå˜% u°4¸uÐEÑEÔEÐEó    z/{company_id}Ú
company_idc              ƒ   óô   K  — |                      t          t          ¦  «                             t          j        | k    ¦  «        ¦  «        ƒ d {V —†}|                     ¦   «         }|st          dd¬¦  «        ‚|S ©Né”  úCompany not found©Ústatus_codeÚdetail)r0   r	   r   r,   ÚidÚscalar_one_or_noner   ©r:   r!   r"   r6   Úcompanys        r7   Úget_companyrF   +   sy   è è € ð —:’:�f¥W™oœo×3Ò3µG´JÀ*Ò4LÑMÔMÑNÔNÐNÐNÐNÐNÐNÐN€FØ×'Ò'Ñ)Ô)€GØð IÝ¨Ð4GÐHÑHÔHÐHØ€Nr9   éÉ   )r   r@   ÚadminÚbodyc              ƒ   ó0  K  — t          di |                      ¦   «         ¤Ž}|                     |¦  «         	 |                     ¦   «         ƒ d {V —† |                     |¦  «        ƒ d {V —† n)# t
          $ r |                     ¦   «         ƒ d {V —† ‚ w xY w|S )N© )r   Ú
model_dumpÚaddÚcommitÚrefreshÚ	ExceptionÚrollback)rI   r!   r"   rE   s       r7   Úcreate_companyrR   8   sÅ   è è € õ Ð*Ð*˜ŸšÑ)Ô)Ð*Ð*€GØ‡F‚Fˆ7�O„O€OðØ�iŠi‰kŒkÐÐÐÐÐÐÐØ�jŠj˜Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!øÝð ð ð Ø�kŠk‰mŒmÐÐÐÐÐÐÐØðøøøð €Ns   ·5A- Á-&Bc              ƒ   ó2  K  — |                      t          t          ¦  «                             t          j        | k    ¦  «        ¦  «        ƒ d {V —†}|                     ¦   «         }|st          dd¬¦  «        ‚|                     d¬¦  «                             ¦   «         D ]\  }}t          |||¦  «         Œ	 | 
                    ¦   «         ƒ d {V —† |                     |¦  «        ƒ d {V —† n)# t          $ r |                     ¦   «         ƒ d {V —† ‚ w xY w|S )Nr=   r>   r?   T)Úexclude_none)r0   r	   r   r,   rB   rC   r   rL   r%   ÚsetattrrN   rO   rP   rQ   )r:   rI   r!   r"   r6   rE   ÚkÚvs           r7   Úupdate_companyrX   I   sG  è è € ð —:’:�f¥W™oœo×3Ò3µG´JÀ*Ò4LÑMÔMÑNÔNÐNÐNÐNÐNÐNÐN€FØ×'Ò'Ñ)Ô)€GØð IÝ¨Ð4GÐHÑHÔHÐHà—’¨T�Ñ2Ô2×8Ò8Ñ:Ô:ð ð ‰ˆˆ1Ý�˜˜AÑÔÐÐðØ�iŠi‰kŒkÐÐÐÐÐÐÐØ�jŠj˜Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!øÝð ð ð Ø�kŠk‰mŒmÐÐÐÐÐÐÐØðøøøð €Ns   Â85C. Ã.&DéÌ   )r@   c              ƒ   ó²  K  — |                      t          t          ¦  «                             t          j        | k    ¦  «        ¦  «        ƒ d {V —†}|                     ¦   «         }|st          dd¬¦  «        ‚	 |                     |¦  «        ƒ d {V —† |                     ¦   «         ƒ d {V —† d S # t          $ r | 
                    ¦   «         ƒ d {V —† ‚ w xY wr<   )r0   r	   r   r,   rB   rC   r   ÚdeleterN   rP   rQ   rD   s        r7   Údelete_companyr\   a   s  è è € ð —:’:�f¥W™oœo×3Ò3µG´JÀ*Ò4LÑMÔMÑNÔNÐNÐNÐNÐNÐNÐN€FØ×'Ò'Ñ)Ô)€GØð IÝ¨Ð4GÐHÑHÔHÐHðØ�iŠi˜Ñ Ô Ð Ð Ð Ð Ð Ð Ð Ø�iŠi‰kŒkÐÐÐÐÐÐÐÐÐøÝð ð ð Ø�kŠk‰mŒmÐÐÐÐÐÐÐØðøøøs   Á95B0 Â0&C)(Útypingr   Úfastapir   r   r   r   Úsqlalchemy.ext.asyncior   Ú
sqlalchemyr	   r
   Úapp.databaser   Úapp.models.companyr   Úapp.models.userr   Úapp.schemas.companyr   r   r   r   Úapp.schemas.pagedr   Úapp.depsr   r   ÚrouterÚgetÚstrÚintr8   rF   ÚpostrR   ÚputrX   r[   r\   rK   r9   r7   ú<module>rm      sš  ðØ Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø /Ð /Ð /Ð /Ð /Ð /Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #à Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø  Ð  Ð  Ð  Ð  Ð  Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ &Ð &Ð &Ð &Ð &Ð &Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3à	ˆ˜,¨k¨]Ð	;Ñ	;Ô	;€ð ‡‚ˆB˜x¨Ô7€Ñ8Ô8à!˜E $™KœKØ��a˜A�‘”Ø��r˜a CÐ(Ñ(Ô(Ø�w˜v‘”ØˆgÐ&Ñ'Ô'ðFð FØ�SŒMðFà
ðFð ðFð 	ð	Fð
 ðFð Fð Fñ 9Ô8ðFð4 ‡‚ˆO¨J€Ñ7Ô7ð �w˜v‘”ØˆgÐ&Ñ'Ô'ð	ð 	Øð	àð	ð ð	ð 	ð 	ñ 8Ô7ð	ð ‡‚ˆR 
¸€Ñ<Ô<ð �w˜v‘”Øˆg�l�l 7Ñ+Ô+Ñ,Ô,ðð Ø
ðàðð ðð ð ñ =Ô<ðð  ‡‚ˆO¨J€Ñ7Ô7ð �w˜v‘”Øˆg�l�l 7Ñ+Ô+Ñ,Ô,ð	ð Øðà
ðð 	ðð ð	ð ð ñ 8Ô7ðð. ‡‚ˆ¨C€Ñ0Ô0ð �w˜v‘”Øˆg�l�l 7Ñ+Ô+Ñ,Ô,ðð Øðàðð ðð ð ñ 1Ô0ðð ð r9   