Ë
    z{�j¥  ã                   ó  — 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«       Z e	d¬«      Z e«       Z e«       Zej/                  d	«       ed
«       ed
d¬«       ee«      fdedede
fd„«       Zy)é    )Ú	APIRouterÚ
UploadFileÚFileÚResponseÚHeaderÚHTTPExceptionÚDepends)Ú
HTTPBearerÚHTTPAuthorizationCredentials)Úverify_access_token)Úprocess_image)ÚDeviceLimitRepository)ÚUserSubscriptionServiceF)Ú
auto_errorz
/remove-bg.zX-Device-Id)ÚaliasÚfileÚ	device_idÚcredentialsc              ƒ   ó,  K  — d}|r9|j                   }t        |«      }|r t        j                  |d   «      ƒ d {  –—† }d }|sCt        j                  |«      ƒ d {  –—† }|d   s!t        dddd|d   |d   |d	   |d
   dœ¬«      ‚| j                  «       ƒ d {  –—† }t        |«      }i }	|rMt        |d   «      |	d<   t        |d   «      |	d<   t        |d	   «      |	d<   t        |d
   «      |	d<   |d   |	d<   nd|	d<   t        |d|	¬«      S 7 ŒÒ7 Œ³7 Œw­w)NFÚ_idÚallowedi“  Tz/Daily free limit reached. Watch ad to continue.Ú
free_countÚrewardÚadCountÚremaining_free)ÚsuccessÚshow_reward_adÚmessager   r   r   r   )Ústatus_codeÚdetailzX-Free-CountzX-Rewardz
X-Ad-CountzX-Remaining-FreeÚsourcezX-Usage-TypeÚpremiumz	image/png)ÚcontentÚ
media_typeÚheaders)r   r   Úsubscription_serviceÚhas_active_subscriptionÚ
limit_repoÚcheck_and_increment_limitr   Úreadr   Ústrr   )
r   r   r   Úpremium_userÚtokenÚpayloadÚ
usage_infoÚ
image_dataÚ	processedr%   s
             ú6/var/www/html/photoedit/app/modules/bgRemover/route.pyÚ	remove_bgr3   �   s�  è ø€ ð  €Láà×'Ñ'ˆä% eÓ,ˆáä!5×!MÑ!MØ˜‘ó"÷ ˆLð €Jáä%×?Ñ?Øó
÷ 
ˆ
ð ˜)Ò$äàð  %à&*àPà",¨\Ñ":à(¨Ñ2à)¨)Ñ4à&0Ð1AÑ&Bñô	ð ð0 —y‘y“{×"€JäØó€Ið €Gáä"%Ø�|Ñ$ó#
ˆ�Ñô "Ø�xÑ ó
ˆ�
Ñô !$Ø�yÑ!ó!
ˆ�Ñô '*ØÐ'Ñ(ó'
ˆÐ"Ñ#ð #-¨XÑ"6ˆ�Òð #,ˆ�Ñäàààôð ðUøð
øð< #ús4   ‚9D»D¼ DÁDÁ=DÂDÂA4DÄDÄDN)Úfastapir   r   r   r   r   r   r	   Úfastapi.securityr
   r   Úapp.utils.jwtr   Úapp.modules.bgRemover.servicer   Ú0app.modules.device_limit.device_limit_repositoryr   Ú7app.modules.user_subscription.user_subscription_servicer   ÚrouterÚsecurityr(   r&   Úpostr+   r3   © ó    r2   ú<module>r?      s²   ð÷`÷ ñ ÷õ
 .Ý 7õõñ 
‹€á Ô'€á"Ó$€
Ù.Ó0Ð ð ‡�ˆ\Óñ ˜C“yáØØôñ
 18Øó1ñkà
ðkð ð	kð .òkó ñkr>   