Ë
    û3îi'  ã                  ój  — d dl mZ d dlmZ d dl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mZ d dlmZ d d	lmZmZ edd
„«       Z edde¬«      Zej/                  e
dgddgdg¬«       ej1                  d«      d„ «       Zej1                  d«      d„ «       Zej7                  de¬«      dd„«       Zy)é    )Úannotations)Úasynccontextmanager)ÚdatetimeÚtimezone)ÚFastAPIÚHTTPException)ÚCORSMiddleware©Úget_settings)ÚNimitSevakReceiptRequestÚReceiptResponse)Úupload_pdf_bytes)Úgenerate_nimit_sevak_pdfÚgenerate_receipt_numberc               ó*   K  — t        «        d ­–— y ­w)Nr
   )Ú_s    ú%/var/www/html/sdm-receipt/app/main.pyÚlifespanr      s   è ø€ ä„NÝ	ùs   ‚zSDM Receipt Servicez1.0.0)ÚtitleÚversionr   Ú*T)Úallow_originsÚallow_credentialsÚallow_methodsÚallow_headersú/c                 ó   — dddœS )Nzsdm-receiptÚok)ÚserviceÚstatus© r!   ó    r   Úrootr#   $   s   € à$°Ñ5Ð5r"   z/healthc                 ój   — dt        j                  t        j                  «      j	                  «       dœS )Nr   )r    Ú	timestamp)r   Únowr   ÚutcÚ	isoformatr!   r"   r   Úhealthr)   )   s#   € à¬¯©´h·l±lÓ)C×)MÑ)MÓ)OÑPÐPr"   z/receipts/nimit-sevak)Úresponse_modelc                óz  — 	 | j                   xs
 t        «       }t        | |«      }t        ||«      }t	        j
                  t        j                  «      }t        ||j                  |j                  |¬«      S # t        $ r}t        dt        |«      ¬«      |‚d }~wt        $ r}t        dd|› �¬«      |‚d }~ww xY w)N)Úreceipt_numberÚpdf_urlÚstorage_pathÚgenerated_atiô  )Ústatus_codeÚdetailzReceipt generation failed: )r,   r   r   r   r   r&   r   r'   r   Úurlr.   ÚRuntimeErrorr   ÚstrÚ	Exception)Úpayloadr,   Ú	pdf_bytesÚuploadedr/   Úexcs         r   Úcreate_nimit_sevak_receiptr:   .   s´   € ðbØ ×/Ñ/ÒLÔ3JÓ3LˆÜ,¨W°nÓEˆ	Ü# I¨~Ó>ˆÜ—|‘|¤H§L¡LÓ1ˆäØ)Ø—L‘LØ!×.Ñ.Ø%ô	
ð 	
øô ò GÜ¨´C¸³HÔ=À3ÐFûÜò bÜ¨Ð6QÐRUÐQVÐ4WÔXÐ^aÐaûðbús$   ‚A5A8 Á8	B:ÂBÂB:Â$B5Â5B:N)r   r   )r6   r   )Ú
__future__r   Ú
contextlibr   r   r   Úfastapir   r   Úfastapi.middleware.corsr	   Ú
app.configr   Ú
app.modelsr   r   Úapp.services.firebase_storager   Úapp.services.pdf_generatorr   r   r   ÚappÚadd_middlewareÚgetr#   r)   Úpostr:   r!   r"   r   ú<module>rG      sÓ   ðÝ "å *ß 'ç *Ý 2å #ß @Ý :ß Xð ò
ó ð
ñ
 Ø
ØØô€ð × Ñ ØØ�%ØØ�%Ø�%ð ô ð ‡�ˆƒñ6ó ð6ð ‡�ˆÓñQó ðQð ‡�Ð
!°/€ÓBòbó Cñbr"   