§
    z¿Mjd  ã                   ó,  — d dl Z d dlZd dl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 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mZmZmZmZmZ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$ ed„ ¦   «         Z% edde%¬¦  «        Z&e& '                    edgddgdg¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    e j)        d¬¦  «         e& (                    ej)        d¬¦  «         e& (                    e!j)        d¬¦  «         e& (                    e"j)        d¬¦  «         e& (                    e$j)        d¬¦  «         dD ]Z* ej+        e*d¬¦  «         Œe& ,                    d ed¬¦  «        d¬¦  «         e& -                    d¦  «         ed¦  «         e	e¦  «        fd efd!„¦   «         Z.e& /                    d"¦  «        d#„ ¦   «         Z0dS )$é    N)Úasynccontextmanager)ÚFastAPIÚ
UploadFileÚFileÚDepends)ÚCORSMiddleware)ÚStaticFiles)Úget_current_user)Úrun_scheduler)ÚauthÚusersÚ	companiesÚ	contracts)ÚvendorsÚ
categoriesÚsuratÚemail_inboundÚpdf_summarizerÚtasksÚnotifications)ÚpermissionsÚrecurring_tasks)Úleave_requests)Útelegram_webhook)Úapp_settings)Ú	documentsc                óº   K  — t          j        t          ¦   «         ¦  «        }d W V — |                     ¦   «          	 |ƒ d {V —† d S # t           j        $ r Y d S w xY w)N)ÚasyncioÚcreate_taskr   ÚcancelÚCancelledError)ÚappÚtasks     ú0/var/www/html/jarvis.com/web/backend/app/main.pyÚlifespanr%      sq   è è € åÔ�}™œÑ/Ô/€DØ	€E€E€E€EØ‡K‚K�M„M€MðØˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ˆ
øÝÔ!ð ð ð Øˆˆðøøøs   ½A ÁAÁAz
Jarvis APIz2.0.0)ÚtitleÚversionr%   Ú*T)Úallow_originsÚallow_credentialsÚallow_methodsÚallow_headersz/api/v1)Úprefix)zuploads/contractszuploads/buktizuploads/suratúuploads/imageszuploads/incomingzuploads/borrowzuploads/comments)Úexist_okz/uploadsÚuploads)Ú	directory)Únamez/api/v1/upload/image.Úfilec              ƒ   ó¶  K  — t           j                             | j        pd¦  «        d                              ¦   «         pd}t          j        ¦   «         j        › |› �}t           j                             d|¦  «        }t          |d¦  «        5 }| 
                    |                      ¦   «         ƒ d {V —†¦  «         d d d ¦  «         n# 1 swxY w Y   dd|› �iS )NÚ é   z.jpgr.   ÚwbÚurlz/uploads/images/)ÚosÚpathÚsplitextÚfilenameÚlowerÚuuidÚuuid4ÚhexÚjoinÚopenÚwriteÚread)r3   Ú_Úextr<   r:   Úfs         r$   Úupload_imagerH   A   s  è è € õ
 Œ'×
Ò
˜4œ=Ð.¨BÑ
/Ô
/°Ô
2×
8Ò
8Ñ
:Ô
:Ð
D¸f€CÝ”*‘,”,Ô"Ð) CÐ)Ð)€HÝŒ7�<Š<Ð(¨(Ñ3Ô3€DÝ	ˆd�DÑ	Ô	ð #˜QØ	�Š�d—i’i‘k”kÐ!Ð!Ð!Ð!Ð!Ð!Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #àÐ0 hÐ0Ð0Ð1Ð1s   Â.C	Ã	CÃCú/c               ƒ   ó   K  — dddœS )NÚokzJarvis API v2 is running)ÚstatusÚmessage© rN   ó    r$   ÚrootrP   N   s   è è € àÐ'AÐBÐBÐBrO   )1r   r9   r>   Ú
contextlibr   Úfastapir   r   r   r   Úfastapi.middleware.corsr   Úfastapi.staticfilesr	   Úapp.depsr
   Úapp.services.schedulerr   Úapp.routersr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Údocuments_routerr%   r"   Úadd_middlewareÚinclude_routerÚrouterÚdÚmakedirsÚmountÚpostrH   ÚgetrP   rN   rO   r$   ú<module>ra      sq  ðØ €€€Ø €€€€€€€Ø *Ð *Ð *Ð *Ð *Ð *Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø +Ð +Ð +Ð +Ð +Ð +Ø %Ð %Ð %Ð %Ð %Ð %Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø &Ð &Ð &Ð &Ð &Ð &Ø (Ð (Ð (Ð (Ð (Ð (Ø $Ð $Ð $Ð $Ð $Ð $Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5ð ðð ñ Ôðð €g�L¨'¸HÐEÑEÔE€à × Ò ØØ�%ØØ�%Ø�%ð ñ ô ð ð × Ò �4”;¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �5”<¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �9Ô#¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �7”>¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �:Ô$¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �5”<¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �9Ô#¨YÐ Ñ 7Ô 7Ð 7Ø × Ò �=Ô'°)Ð Ñ <Ô <Ð <Ø × Ò �>Ô(°Ð Ñ ;Ô ;Ð ;Ø × Ò �5”<°Ð Ñ ;Ô ;Ð ;Ø × Ò �=Ô'°Ð Ñ ;Ô ;Ð ;Ø × Ò �;Ô%°IÐ Ñ >Ô >Ð >Ø × Ò �>Ô(°9Ð Ñ =Ô =Ð =Ø × Ò �?Ô)°YÐ Ñ ?Ô ?Ð ?Ø × Ò Ð#Ô*°IÐ Ñ >Ô >Ð >Ø × Ò �<Ô&°IÐ Ñ >Ô >Ð >Ø × Ò Ð#Ô*°IÐ Ñ >Ô >Ð >ð 
Mð "ð "€AØ€B„K�˜DÐ!Ñ!Ô!Ð!Ð!à ‡	‚	ˆ*�k�k¨IÐ6Ñ6Ô6¸Y€	Ñ GÔ GÐ Gð ‡‚Ð
 Ñ!Ô!à�t˜C‘y”yØ€gÐÑÔð	2ð 	2Ø
ð	2ð 	2ð 	2ñ "Ô!ð	2ð ‡‚ˆ�„ðCð Cñ „ðCð Cð CrO   